Запрос создает заказ на доставку на основе данных во внешней системе.
Структура запроса
Метод запроса: POST
Адрес запроса: https://api.sbis.ru/retail/order/create
Параметр * — обязательный ** — условно-обязательный | Тип | Описание | ||
product* | string | Постоянное значение параметра — «delivery» | ||
pointId* | integer | Идентификатор точки продаж, который возвращается в результате запроса «Получить точку продаж» | ||
comment | string | Примечание к заказу | ||
customer* | array{...} | Массив с информацией о покупателе | ||
| externalId | string | Идентификатор клиента из внешней системы | |
name* | string | Имя | ||
lastname | string | Фамилия | ||
patronymic | string | Отчество | ||
string | Адрес электронной почты | |||
phone* | string | Телефон | ||
datetime* | string | Дата и время, на которое создается заказ, в формате гггг-мм-дд чч:мм:сс | ||
promocode | text | Название ручной скидки в Saby | ||
promocodeV2 | text | Название промокода | ||
nomenclatures* | array[{...}] | Список массивов номенклатуры заказа | ||
externalId** | string(uuid) | Внешний идентификатор номенклатуры. Обязателен, если не указаны id и nomNumber | ||
id** | integer | Сквозной идентификатор внешней системы. Обязателен, если не указаны externalId и nomNumber | ||
nomNumber** | string | Идентификатор номенклатуры в Saby. Обязателен, если не указаны externalId и id | ||
count* | number | Количество позиций | ||
cost | number | Цена за одну позицию. Вы можете указать цену, отличную от той, что установлена в Saby | ||
name | string | Наименование позиции | ||
modifiers | array[{...}] | Список массивов с информацией о модификаторах | ||
| id* | integer | Внутренний идентификатор модификатора. Отсутствует у модификаторов-заметок | |
hierarchicalId* | integer | Идентификатор в иерархии | ||
count* | integer | Количество позиций модификатора | ||
cost | number | Цена модификатора | ||
name | string | Название блюда | ||
priceListId* | integer | Идентификатор прайс-листа, из которого получены номенклатурные позиции | ||
hierarchicalId | integer | Указатель номенклатурной позиции в иерархии | ||
serialNumbers | array[string] | Список кодов маркировки | ||
delivery* | array{...} | Массив с информацией об адресе доставки и оплате | ||
| addressJSON** | string | Адрес доставки в формате JSON. Пример Обязателен к заполнению, если в параметре isPickup передано «false». Получить необходимое значение можно в запросе «Скорректировать адрес доставки» | |
addressFull** | string | Адрес, написанный в строку. Включает город, улицу, дом. Обязателен к заполнению, если в параметре isPickup передано «false» | ||
persons | integer | Количество приборов | ||
district | integer | Идентификатор района, в который осуществляется доставка | ||
changeAmount | number | Сумма, с которой нужна сдача | ||
paymentType* | string | Способ оплаты: «card», «online», «cash» | ||
shopURL** | string | URL, с которого производится вызов | ||
successURL** | string | URL для перехода при успехе | ||
errorURL** | string | URL для перехода при неудаче | ||
isPickup* | boolean | Признак самовывоза |
Обработать заказ
С помощью API-запросов вы можете получить информацию о заказе, узнать его статус, обновить, удалить или отменить заказ.
- Запросить информацию о заказе:
- метод: GET
- запрос: https://api.sbis.ru/retail/order/{externalId}, где {externalId} — идентификатор заказа.
- Изменить заказ:
- метод: PUT
- запрос: https://api.sbis.ru/retail/order/{externalId}/update, где {externalId} — идентификатор заказа. Отправьте всю информацию по заказу вместе с измененными данными.
- Отменить заказ:
- метод: PUT
- запрос: https://api.sbis.ru/retail/order/{externalId}/cancel, где {externalId} — идентификатор заказа.
- Узнать статус заказа:
- метод: GET
- запрос: https://api.sbis.ru/retail/order/{externalId}/state, где {externalId} — идентификатор заказа.
- Запросить ссылку на оплату заказа. Для этого должны быть включены интернет-платежи.
- метод: GET
- запрос: https://api.sbis.ru/retail/order/{externalId}/payment-link, где {externalId} — идентификатор заказа.
- Зарегистрировать чек заказа, оплаченного на сайте:
- метод: GET
- запрос: https://api.sbis.ru/retail/order/{externalId}/register-payment, где {externalId} — идентификатор заказа.
- Узнать состояние регистрации чека:
- метод: GET
- запрос: https://api.sbis.ru/retail/order/{externalId}/state, где {externalId} — идентификатор заказа.
В ответ вы получите
Имя поля * — обязательный | Тип | Описание | |
state | integer | Статус заказа | |
payments | array[{...}] | Список массивов с информацией об оплате | |
| amount | number | Сумма, на которую была оплата |
paymentType | string | Тип оплаты | |
isClosed | boolean | Принимает значение «true», если оплата прошла корректно | |
errorMessage | string | В случае некорректной оплаты выводится описание ошибки |
Параметры запроса
Параметр * — обязательный | Тип | Описание |
externalId * | string | Идентификатор заказа |
shopURL* | string | URL, с которого производится вызов |
successURL | string | URL для перехода при успехе |
errorURL | string | URL для перехода при неудаче |
В ответ вы получите
Параметр | Тип | Описание |
link | string | Ссылка на заказ |
Параметры запроса на оплату
Параметр * — обязательный | Тип | Описание |
cashSum | number | Cумма оплаты наличными |
bankSum | number | Cумма безналичной оплаты |
salarySum | number | Cумма оплаты под зарплату |
paymentType | string | Тип оплаты: «full», «advance», «prepay», «refund» |
nonFiscal | true/false | По умолчанию «false» |
Параметры запроса на возврат
Параметр * — обязательный | Тип | Описание | |
refund_type* | string | Тип возврата: «full», «advance», «pre_pay» | |
| refund_position | array[{...}] | Cписок возвращаемых позиций |
position | integer | Идентификатор возвращаемой позиции | |
count | number | Количество возвращаемой позиции |
Примеры
Создать заказ
*.php
*.php
*.py
*.py
В качестве примера используется функция «cURL».
В качестве примера используется библиотека «Requests».
Получить статус заказа
Создать заказ и применить промокод
Ответ при неудачном применении промокода
Получить ссылку на оплату
Зарегистрировать чек на оплату с сайта
Зарегистрировать чек на возврат
Ответ на запрос регистрации чека
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.