հասանելի տեղեկատվությունը արդյունքների ստուգման – ի կազմում

  • Պատվերի համարը և արտադրանքի դիրքերի վերծանումը ձեր կողմից մնացորդներից հետագա դեբետավորման/դուրս գրելու համար (կարգավորվում է ինքնուրույն):
  • Սկանավորված գծանշումների հետագա հեռացման համար.

Կարգավիճակներ, որոնց դոպքում հնարավոր է արդյունքների ստուգման ուղարկել

  • հավաքագրողը հավաքել է պատվերը (մինչ առաքիչին փոխանցելը).
  • Պատվերը չեղարկվել է հավաքագրողի կողմից պատվերը հավաքագրելուց հետո
  • Պատվերը հավաքվել և փոխանցվել է առաքիչին — Չեղարկված է կամ Առաքված է, կախված չեն պատվերի հետագա կարգավիճակից.
  • Պատվերը առաքված կամ չեղարկված է առաքիչին հանձնելուց հետո.

ուղարկման կարգավորումներ

Հաջող կարգավորելու համար տվյալները փոխանցեք մենեջերի միջոցով:

  • աշխատանքային URL վերջավորությամբ /result-check;
  • տոկեն/token , որը մենք կօգտագործենք թույլտվություն (авторизация) ստանալու համար՝ առաջին կետից նշված հասցեին հարցում կատարելիս
  • հավաքածու կարգավիճակների, որի համար հարկավոր է ստանալ резалт-чек.

Սխեմա

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: Отправка результирующего чека Ստացված/ավարտական չեկն ուղարկելը
      parameters:
        - $ref: '#/parameters/ResultCheckRequest'
      responses:
        200:
          description: Ok
        404:
          description: Ошибка валидации - Վավերացման սխալ
          schema: 
            $ref: '#/definitions/Error'
        422:
          description: Ошибка валидации - Վավերացման սխալ
          schema:
            $ref: '#/definitions/Error'
        500:
          description: Серверная ошибка - Սերվերի սխալ
          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: id заказа в системе партнера - պատվերը գործընկերոջ համակարգում
          type: string
        status:
          description: статус заказа – Պատվերի կարգավիճակ
          type: string
          enum:
            - done
            - ready
            - delivered
            - canceled
        positions:
          description: позиции заказа – պատվեչի դիրք 
          type: array
          items:
            $ref: "#/definitions/OrderPosition"
        totalPrice:
          description: Суммарная стоимость позиций без скидок - Ապրանքների ընդհանուր արժեքը առանց զեղչերի
          type: string
        discountTotalPrice:
          description: Суммарная стоимость позиций со скидками - Զեղչերով ապրանքների ընդհանուր արժեքը
          type: string
        deliveredDateTime:
          description: պատվերի կարգավիճակի "Доставлен" "առաքված"  անցնելու ամսաթիվը և ժամը 
          type: string
          format: date-time
        statusSetAt:
          description: дата и время перехода заказа в статус - պատվերի կարգավիճակին անցնելու ամսաթիվը և ժամը
          type: string
          format: date-time
        canceledDateTime:
          description: дата и время перехода заказа в статус "Отменен" – Պատվերի կարգավիճակի "չեխարկված"  անցնելու ամսաթիվը և ժամը
          type: string
          format: date-time
        shopId:
          description: собственный id магазина в системе партнера –Խանութի անձնական id գործընկերոջ համակարգում
          type: string
          x-nullable: false


definitions:
  OrderPosition:
    type: object
    properties:
      markings:
        description: Массив отсканированных маркировок - Սկանավորված գծանշումների/ մարկիրովկաների զանգված
        type: array
        items:
          type: string
      productId:
        description: ապրանքի id
        type: string
      originalQuantity:
        description: Кол-во товара, исходно заказанное. Штуки или граммы – ի սկզբանե պատվիրված ապրանքի քանակը: Հատ կամ գրամ
        type: integer
      quantity:
        description: Кол-во товара в заказе собранное. Штуки или граммы – պատվերում հավաքագրված ապրանքների քանակը։ Հատ կամ գրամ

        type: integer
      price:
        description: Полная стоимость собранного товара без учета скидки - Հավաքված ապրանքների ամբողջական արժեքը՝ առանց զեղչի
        type: string
      discountPrice:
        description: Полная стоимость собранного товара с учетом скидки - Հավաքված ապրանքների ամբողջական արժեքը՝ ներառյալ զեղչը
        type: string
      unitPrice:
        description: Цена за единицу товара без учета скидки – Միավոր ապրանքի գինը՝ առանց զեղչի
        type: string
      dicountUnitPrice:
        description: Цена за единицу товара с учетом скидки – Միավոր ապրանքի գինը ներառյալ զեղչը
        type: string

  Error:
    description: Ошибка. - սխալ
    type: object
    required:
      - message
    properties:
      message:
        description: Сообщение. - նամակ
        type: string
        x-nullable: false
      code:
        description: Код сообщения. – նամակի կոդ
        type: integer
        x-nullable: false

Резалт-чека – ի մարմին body

{
  "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"
}

Резалт-чека – ի պարունակության յուրահատկություն

  • резалт-чеке ում զրոյական քանակը նշանակում է, որ տվյալ անուն-ապրանքը ջնջվել է պատվերի միջից հավաքագրողի կողմից
  • եթե արդյունքում միայն discountPrice — դա պատվերում կրկին հետ ավելացրած անուն-ապրանքն է

Ապրանքի գին

Կատալոգը պարունակում է ապրանքի գինը (unitPrice) և զեղչված գնինը(discountUnitPrice). Դրանցից արդյունքների ստուգման -ի сհամար համարվում է price և discountPrice հատևյալ կանուններով:

  • քաշով (կգ-ով վաճառվող)_ապրանքների համար:

    • price = quantity / 1000 × unitPrice;
    • discountPrice = quantity / 1000 × discountUnitPrice;
  • Հատով ապրանքների համար:

    • price = quantity × unitPrice;
    • discountPrice = quantity × discountUnitPrice;
    • canceledDateTime и deliveredDateTime — դաշտերը կլցվեն արժեքով 0001-01-01T00:00:00.000Z, մինչև պատվերի առաքումը կամ չեղարկումը: