Доступная информация в составе резалт-чека
- Номер заказа и расшифровка позиций товара для дальнейшего списания с остатков на вашей стороне (заводится самостоятельно).
- Отсканированная маркировка для дальнейшего выбытия.
Пример тела резалт-чека
{
"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/<размер кванта>×unitPrice;discountPrice=quantity/<размер кванта>×discountUnitPrice;
-
для штучных товаров:
price=quantity×unitPrice;discountPrice=quantity×discountUnitPrice;canceledDateTimeиdeliveredDateTime— поля будут заполнены значением0001-01-01T00:00:00.000Z, пока заказ не будет доставлен или отменен.
Схема
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 магазина в системе партнера
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
Настройка отправки
Для успешной настройки передайте через менеджера данные:
- рабочий URL с окончанием
/result-check; - токен, который мы будем использовать для авторизации при выполнении запроса на адрес из первого пункта;
- набор статусов, для которых необходимо получать резалт-чек.
Статусы, при которых возможна отправка резалт-чека
Важно
Возможно выбрать отправку на нескольких или всех статусах.
|
Событие, по которому возможна отправка |
Статус события |
Статус заказа в резалт-чеке |
|
Пикер собрал заказ (до передачи курьеру) |
|
|
|
Заказ был отменен после того, как пикер собрал заказ |
|
|
|
Заказ доставлен или отменен после передачи курьеру |
|
|
|
Заказ собрали и передали курьеру |
|
|
Была ли статья полезна?
Предыдущая