Запрос создает заказ на доставку на основе данных во внешней системе.
Структура запроса
Метод запроса: 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умма оплаты под зарплату |
| retailPlace | string | Адрес сайта интернет-магазина, где проводится оплата |
| 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.