Rezalt-çek tərkibində mövcud məlumat

  • Sifariş nömrəsi və sizin tərəfinizdə sonradan silinmə üçün mal pozisiyalarının deşifrəsi (sərbəst qurulur).
  • Sonradan çıxarılmaq üçün skan edilmiş nişanlamalar.

Rezalt-çek göndərişlərinin mümkün olduğu statuslar

  • Seçici sifarişi yığdı (kuryerə təhvil verməzdən əvvəl).
  • Seçici sifarişi yığdıqdan sonra sifariş ləğv edildi.
  • Sifariş yığılıb kuryerə təhvil verildi - Ləğv edildi və ya Çatdırıldı, sonrakı statusdan asılı deyil.
  • Sifariş kuryerə verildikdən sonra çatdırıldı və ya ləğv edildi.

Göndəriş parametrləri

Parametrlərin uğurla quraşdırılması üçün menecer vasitəsilə aşağıdakı məlumatları ötürün:

  • /result-check ilə bitən işlək URL;
  • birinci abzasdakı ünvana sorğu göndərərkən avtorizasiya üçün istifadə edəcəyimiz token;
  • rezalt-çek almaq lazım olan statuslar dəsti.

Sxem

swagger: "2.0"
info:
  title: Result Check API
  description: Result Check API
  version: 1.0.0
schemes:
  - http
basePath: /
consumes:
  - application/json
produces:
  - application/json

paths:
  /result-check:
    post:
      operationId: PostResultCheck
      security:
        - Bearer: [ ]
      description: Nəticəvi çekin göndərilməsi
      parameters:
        - $ref: '#/parameters/ResultCheckRequest'
      responses:
        200:
          description: Ok
        404:
          description: Validasiya xətası
          schema:
            $ref: '#/definitions/Error'
        422:
          description: Validasiya xətası
          schema:
            $ref: '#/definitions/Error'
        500:
          description: Server xətası
          schema:
            $ref: '#/definitions/Error'

securityDefinitions:
  Bearer:
    description: 'Bearer <token here>'
    type: apiKey
    name: Authorization
    in: header

parameters:
  ResultCheckRequest:
    in: body
    name: ResultCheckRequest
    schema:
      type: object
      properties:
        externalOrderId:
          description: tərəfdaş sistemində sifariş id-si
          type: string
        status:
          description: zakazın statusu
          type: string
          enum:
            - done
            - ready
            - delivered
            - canceled
        positions:
          description: sifariş pozisiyaları
          type: array
          items:
            $ref: "#/definitions/OrderPosition"
        totalPrice:
          description: Endirimsiz pozisiyaların ümumi dəyəri
          type: string
        discountTotalPrice:
          description: Endirimli pozisiyaların ümumi dəyəri
          type: string
        deliveredDateTime:
          description: "Çatdırıldı" statusuna keçən sifarişin tarixi və vaxtı
          type: string
          format: date-time
        statusSetAt:
          description: sifarişin statusa keçid tarixi və vaxtı
          type: string
          format: date-time
        canceledDateTime:
          description: "Ləğv edildi" statusuna sifarişin keçid tarixi və vaxtı
          type: string
          format: date-time
        shopId:
          description: tərəfdaş sistemində mağazanın fərdi id-si
          type: string
          x-nullable: false


definitions:
  OrderPosition:
    type: object
    properties:
      markings:
        description: Skan edilmiş işarələnmələrin massivi
        type: array
        items:
          type: string
      productId:
        description: məhsul id-si
        type: string
      originalQuantity:
        description: Əvvəlcə sifariş edilmiş məhsulun miqdarı. Ədəd və ya qramlar
        type: integer
      quantity:
        description: Sifarişdə toplanmış malların miqdarı. Ədəd və ya qramlar
        type: integer
      price:
        description: Endirimsiz toplanmış malların tam dəyəri
        type: string
      discountPrice:
        description: Endirimli toplanmış malların tam dəyəri
        type: string
      unitPrice:
        description: Endirimsiz hər bir məhsul vahidinin ədədi qiyməti
        type: string
      dicountUnitPrice:
        description: Endirimli hər bir məhsul vahidinin ədədi qiyməti
        type: string

  Error:
    description: Xəta.
    type: object
    required:
      - message
    properties:
      message:
        description: Mesaj.
        type: string
        x-nullable: false
      code:
        description: Mesaj kodu.
        type: integer
        x-nullable: false

Rezalt-çekin əsas nümunəsi

{
  "canceledDateTime": "0001-01-01T00:00:00.000Z",
  "deliveredDateTime": "2024-01-12T10:34:10.770Z",
  "discountTotalPrice": "69.41",
  "externalOrderId": "12-22-2201",
  "positions": [
    {
      "discountPrice": "37.41",
      "markings": [],
      "originalQuantity": 1000,
      "price": "412.11",
      "productId": "1111",
      "unitPrice": "393.23",
      "discountUnitPrice": "35.7",
      "quantity": 1048
    },
    {
      "discountPrice": "32",
      "markings": [],
      "originalQuantity": 1,
      "price": "32",
      "productId": "7574",
      "unitPrice": "32",
      "discountUnitPrice": "32",
      "quantity": 1
    }
  ],
  "shopId": "XX113",
  "status": "ready",
  "statusSetAt": "2024-01-12T10:34:10.770Z",
  "totalPrice": "444.11"
}

Rezalt-çekin məzmununun xüsusiyyətləri

  • Rezalt-çekdə sıfır kəmiyyəti pozisiyanın seçicinin sifariş tərkibindən silinməsini bildirir.
  • Yalnız discountPrice varsa, bu, yeni əlavə edilmiş pozisiyadır.

Məhsulun qiyməti

Kataloqda məhsulun qiyməti (unitPrice) və endirimli qiyməti (discountUnitPrice) göstərilir. Bunlardan pricediscountPrice aşağıdakı qaydalara uyğun olaraq rezalt-çek üçün nəzərə alınır:

  • çəkili məhsullar üçün:

    • price = quantity / 1000 × unitPrice;
    • discountPrice = quantity / 1000 × discountUnitPrice;
  • ədədi məhsullar üçün:

    • price = quantity × unitPrice;
    • discountPrice = quantity × discountUnitPrice;
    • canceledDateTimedeliveredDateTime — sifariş çatdırılmayanadək və ya ləğv edilməyənədək xanalar 0001-01-01T00:00:00.000Z dəyərləri ilə doldurulacaq.