Сценарий использования
Клиент оплачивает заказ на сайте ресторана, у которого есть интеграция с платежной системой:
- С помощью Delivery API на сайте ресторана создается заказ. В ответе на запрос создания r_k Delivery возвращает номер заказа
Если активированы функции автоматического принятия и подтверждения заказа, то в течение того времени, которое настроено в корпорации, статус нового заказа изменится на Передан на кухню. После этого заказ попадет на кассу.
Если соответствующие функции автоматических принятия и подтверждения заказа не активированы, то заказ сначала обрабатывается оператором колл-центра r_k Delivery или менеджером доставки r_k Delivery, и только потом передается на кассу.
- С помощью метода API отправляется запрос одновременно в r_keeper и r_k Delivery на оплату заказа
- После успешной оплаты заказ можно закрыть с помощью метода API — заказ закроется и в r_keeper, и r_k Delivery.
Методы API
Оплата заказа
Запрос
PUT /orders/api/v1/orders/{orderId}/pay
JSON
Пример запроса
PUT https://delivery.ucs.ru/orders/api/v1/orders/102/pay
JSON
Пример тела запроса
[
{
"code":"16D72549-14D8-4F31-9E2A-0A833D4F5EED",
"amount":978,
"paidAt":"2022-04-05T15:12:58.658+03:00",
"name":""
}
]
JSON
Параметр | Тип | Описание |
---|
code | string | GUID валюты в r_keeper |
amount | number | Сумма для оплаты |
paidAt | string | Время оплаты |
name | string | Название валюты. Необязательный параметр |
Примеры ответов
В ответе получена ошибка с настройкой оплаты
{
"code": "ERR_EXTERNAL_ERROR_WS",
"msg": "Ошибка WS: Код ошибки: WsaOrderError. RkInternal: Касса [3373] Недостаточно денег для полной оплаты заказа.",
"requestId": "0HMGNRL7KKKDF:00000001",
"errors": null
}
JSON
Успешная оплата
Закрытие заказа
Запрос
PUT /orders/api/v1/orders/{orderId}/complete
JSON
Пример запроса
PUT https://delivery.ucs.ru/orders/api/v1/orders/107/complete
JSON
Примеры ответов
Попытка закрыть неоплаченный заказ:
Status code: 500
{
"code": "rk7_close_order",
"msg": "RkInternal: Касса [3071] Невозможно закрыть заказ 1.73, он не оплачен полностью.",
"requestId": "f3e391f697a9e2a72fe67c6ba69db771",
"errors": null
}
JSON
Успешное закрытие заказа:
Status code: 200 OK