Присоединяйтесь!
  1. Saby
  2. База знаний
  3. API
  4. API Saby Retail
  5. Заказать доставку
  6. Создать заказ на доставку

Создать заказ на доставку по API в Saby Retail

Создать заказ на доставку по API в Saby Retail

Запрос создает заказ на доставку на основе данных во внешней системе.

Структура запроса

Метод запроса: POST

Адрес запроса: https://api.sbis.ru/retail/order/create

Параметр
* — обязательный
** — условно-обязательный
ТипОписание

product*

string

название продукта Saby, с которым работает точка продаж. Укажите параметр delivery

pointId*

integer

идентификатор точки продаж, который возвращается в результате запроса «Получить точку продаж»

comment

string

примечание к заказу

customer*

array{...}

информация о покупателе

 

externalId

string

идентификатор клиента из внешней системы

name*

string

имя

lastname

string

фамилия

patronymic

string

отчество

email

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

информация об адресе доставки и оплате

 

isPickup*

boolean

признак самовывоза, где true — самовывоз, false — доставка

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 для перехода при неудаче

Обработать заказ

С помощью API-запросов вы можете получить информацию о заказе, узнать его статус, обновить, удалить или отменить заказ.

  • Запросить информацию о заказе:
    • метод: GET
    • запрос: https://api.sbis.ru/retail/order/{externalId}, где {externalId} — UUID заказа.
  • Изменить заказ:
    • метод: PUT
    • запрос: https://api.sbis.ru/retail/order/{externalId}/update, где {externalId} — UUID заказа. Отправьте всю информацию по заказу вместе с измененными данными.
  • Отменить заказ:
    • метод: PUT
    • запрос: https://api.sbis.ru/retail/order/{externalId}/cancel, где {externalId} — UUID заказа.
  • Узнать статус заказа:
    • метод: GET
    • запрос: https://api.sbis.ru/retail/order/{externalId}/state, где {externalId} — UUID заказа.
  • Узнать статус нескольких заказов:
    • метод: GET
    • запрос: https://api.sbis.ru/retail/order/state?externalIds=[{externalId}...], где {externalId} — UUID заказа.
  • Параметры результата

    Параметр

    Тип

    Описание

    state

    integer

    статус заказа. Возможные значения

    payState

    integer

    статус оплаты по заказу. Возможные значения

    payments

    array[{...}]

    информация об оплате. Актуален только для интернет-оплат

     

    amount

    number

    сумма, на которую была оплата

    paymentType

    string

    тип оплаты

    isClosed

    boolean

    принимает значение true, если оплата прошла корректно

    errorMessage

    string

    выводит информацию о чеке. При успешной регистрации отображаются данные чека, а в случае ошибки — ее детальное описание

    productState

    integer

    продуктовый статус доставки. Возможные значения


  • Запросить ссылку на оплату заказа. Для этого должны быть включены интернет-платежи.
    • метод: GET
    • запрос: https://api.sbis.ru/retail/order/{externalId}/payment-link, где {externalId} — идентификатор заказа.
  • Параметры запроса

    Параметр
    * — обязательный

    Тип

    Описание

    externalId *

    string

    идентификатор заказа

    shopURL*

    string

    URL, с которого производится вызов

    successURL

    string

    URL для перехода при успехе

    errorURL

    string

    URL для перехода при неудаче

    Параметры результата

    Параметр

    Тип

    Описание

    link

    string

    ссылка на заказ


  • Зарегистрировать чек заказа, оплаченного на сайте:
    • метод: GET
    • запрос: https://api.sbis.ru/retail/order/{externalId}/register-payment, где {externalId} — идентификатор заказа.
  • Параметры запроса на оплату

    Параметр
    * — обязательный

    Тип

    Описание

    cashSum

    number

    сумма оплаты наличными

    bankSum

    number

    сумма безналичной оплаты

    salarySum

    number

    сумма оплаты под зарплату

    retailPlace

    string

    адрес сайта интернет-магазина, где проводится оплата

    paymentType

    string

    тип оплаты: «full», «advance», «prepay», «refund»

    nonFiscal

    true/false

    по умолчанию «false»

    Параметры запроса на возврат

    Параметр
    * — обязательный

    Тип

    Описание

    refund_type*

    string

    тип возврата: «full», «advance», «pre_pay»

     

    refund_position

    array[{...}]

    список возвращаемых позиций

    position

    integer

    идентификатор возвращаемой позиции

    count

    number

    количество возвращаемой позиции


  • Узнать состояние регистрации чека:
    • метод: GET
    • запрос: https://api.sbis.ru/retail/order/{externalId}/state, где {externalId} — UUID заказа.

Примеры

Получить статус заказа

Получить статус нескольких заказов

Создать заказ и применить промокод

Ответ при неудачном применении промокода

Получить ссылку на оплату

Зарегистрировать чек на оплату с сайта

Зарегистрировать чек на возврат

Ответ на запрос регистрации чека

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.
Продолжая пользоваться сайтом, вы даете согласие на обработку персональных данных. Если вы не согласны, покиньте сайт.