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

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

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

Запрос позволяет создать заказ на доставку с помощью API-интерфейса.

Предварительно выполните сервисную авторизацию и в заголовке запроса передайте полученный token.

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

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

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

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

Тип

Описание

product*

string

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

pointId*

integer

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

comment

string

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

customer*

array{...}

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

 

externalId

string

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

name*

string

имя

patronymic

string

отчество

lastname

string

фамилия

email

string

электронная почта

phone*

string

номер телефона

datetime*

string

дата и время, на которое создается заказ, в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

promocode

string

название ручной скидки в Saby

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

указатель позиции в иерархии
delivery*

array{...}

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

boolean

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

string

адрес доставки в формате JSON. Заполняется, если в 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} — UUID заказа.
  • Параметры запроса

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

    Тип

    Описание

    externalId *

    string

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

    shopURL*

    string

    URL, откуда поступил запрос

    successURL

    string

    URL для перехода при успешном выполнении запроса

    errorURL

    string

    URL для перехода, если запрос не выполнен

    Параметры ответа

    Параметр

    Тип

    Описание

    link

    string

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


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

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

    Тип

    Описание

    Вид расчета*

    cashSum

    number

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

    bankSum

    number

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

    salarySum

    number

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

    paymentType*

    string

    тип оплаты: full, advance, prepay, refund, full_prepay, credit

    Вид типа способа расчета

    nonFiscal

    boolean

    признак нефискального способа расчета. По умолчанию false

    Место расчета

    retailPlace

    string

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

    Параметры запроса регистрации чека на возврат

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

    Тип

    Описание

    refund_type*

    string

    тип возврата: full, partial, pre_pay

    refund_position

    array[{...}]

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

     

    position

    integer

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

    count

    number

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


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

Примеры

Создать заказ на доставку

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

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

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

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

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

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

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

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

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