r_keeper Delivery API: Передать заказ с сайта в ресторан

Сценарий из mcp-everything. Актуально на 2026-10-24.

Заказ на доставку или самовывоз сразу попадает в r_keeper — без звонка оператору.

  1. Создай заказ: POST /orders/api/v1/orders с restaurantId, expeditionType (delivery или pickup), dishList (id блюда из меню и quantity; модификаторы — в ingredients), paymentTypeId (cash, card или online) и guest.phone.
  2. Время: либо soonest = true («как можно скорее»), либо expectedAt — обязательно с часовым поясом, например 2026-10-24T19:30:00+03:00.
  3. Для доставки обязателен адрес: address.cityName, houseNumber, fullAddress (до 150 символов) и, если есть, street и apartmentNumber. Для оплаты наличными укажи changeFrom — с какой суммы сдача.
  4. Ответ 201 — {"result": {"orderId": "..."}}. Ошибка order_validation значит, что блюда нет в меню, оно в стоп-листе, неверна цена или не хватает обязательных полей. Перед заказом проверяй стоп-лист по меню.
  5. Статус и детали заказа — GET /orders/api/v1/orders/{orderId}.
curl -s -X POST https://delivery.ucs.ru/orders/api/v1/orders \
  -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' \
  -d '{
        "restaurantId": "<restaurant_guid>",
        "expeditionType": "delivery",
        "dishList": [{"id": "<dish_guid>", "quantity": 2}],
        "paymentTypeId": "cash",
        "changeFrom": 5000,
        "soonest": true,
        "guest": {"phone": "+79990001122", "firstName": "Анна"},
        "address": {"cityName": "Москва", "street": "Тверская", "houseNumber": "7",
                    "apartmentNumber": "12", "fullAddress": "Москва, Тверская ул., д. 7, кв. 12"},
        "persons": 2,
        "comment": "Позвонить за 10 минут"
      }'

Базовые URL

Авторизация

Тип: OAuth 2.0

В админке: «Интеграции» → «Подключение по API» → добавить подключение (заведения, представление меню, GUID валют для онлайн-оплаты). В карточке появятся Client ID (16 символов) и Client Secret (128 символов).

Токен получают запросом POST https://auth-delivery.ucs.ru/connect/token (application/x-www-form-urlencoded) с параметрами client_Id, client_secret, grant_type=client_credentials, scopes=orders. Токен (JWT) действует 3600 секунд и передаётся во всех запросах:

Authorization: Bearer eyJhbGciOiJSUzI....aXHgrHV-I

Методы сценария

POST /orders/api/v1/orders — Создание заказа

Ответ 201: {"result": {"orderId": "..."}}.

Параметр Где Тип Обяз. Описание
restaurantId body string да GUID заведения
expeditionType body string да delivery или pickup
dishList body array да Состав заказа
dishList[].id body string нет GUID блюда из меню; обязателен, если нет externalId
dishList[].quantity body number да Количество
dishList[].ingredients body array нет Ингредиенты и модификаторы: id, quantity (больше 0)
paymentTypeId body string да cash, card или online
paymentStatus body string нет prepaid — только при paymentTypeId: online
expectedAt body string нет Время получения с часовым поясом; обязателен, если нет soonest
soonest body boolean нет «Как можно скорее»
guest.phone body string да Телефон гостя
guest.firstName body string нет Имя
guest.lastName body string нет Фамилия
guest.email body string нет Email
address.cityName body string нет Город (обязателен для доставки)
address.street body string нет Улица (для доставки, кроме адресов без улиц)
address.houseNumber body string нет Дом, до 200 символов (обязателен для доставки)
address.fullAddress body string нет Полный адрес, до 150 символов (обязателен для доставки)
address.apartmentNumber body string нет Квартира, до 20 символов
address.lat body number нет Широта
address.lon body number нет Долгота
persons body integer нет Число персон
changeFrom body number нет Сдача с суммы
comment body string нет Комментарий к заказу

GET /orders/api/v1/orders/{orderId} — Заказ по ID

Параметр Где Тип Обяз. Описание
orderId path string да Номер заказа

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://docs.rkeeper.ru/delivery/vozmoyonosti-api-4041552.html Вся интеграция одним документом: https://mcp-everything.ru/integrations/r-keeper-delivery.md