iikoCloud API: Отменить заказ и получать статусы вебхуками

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

Гость отменил заказ на сайте — отмена доходит до кассы; статусы заказов приходят к тебе сами, без опроса.

  1. Отмени заказ: POST /api/1/deliveries/cancel с organizationId, orderId и, при необходимости, cancelCauseId и cancelComment. Это тоже команда — итог проверяй через POST /api/1/commands/status. Ответ 410 значит, что correlationId устарел.
  2. Чтобы не опрашивать заказы, настрой вебхуки: POST /api/1/webhooks/update_settings с organizationId, webHooksUri (твой HTTPS-обработчик), authToken (iiko передаст его обработчику — проверяй его) и webHooksFilter.
  3. Обработчик должен быстро отвечать 200 и обрабатывать событие асинхронно; по ID заказа из события сверяйся через POST /api/1/deliveries/by_id.
H=(-H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json')

curl -s -X POST https://api-ru.iiko.services/api/1/deliveries/cancel "${H[@]}" \
  -d '{"organizationId": "<organizationId>", "orderId": "<orderId>", "cancelComment": "Гость отменил на сайте"}'

curl -s -X POST https://api-ru.iiko.services/api/1/webhooks/update_settings "${H[@]}" \
  -d '{"organizationId": "<organizationId>", "webHooksUri": "https://example.ru/iiko/webhook", "authToken": "<секрет>"}'

Базовые URL

Авторизация

Тип: Bearer-токен

Токен (JWT) действует 1 час; refresh-токена нет — запрашивайте новый до истечения срока. Старый метод POST /api/1/access_token с apiLogin устарел.

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

POST /api/1/deliveries/by_id — Заказы доставки по ID

Параметр Где Тип Обяз. Описание
organizationId body string да ID организации
orderIds body array нет ID заказов; обязательно, если нет posOrderIds
posOrderIds body array нет ID заказов в POS; обязательно, если нет orderIds
sourceKeys body array нет Ключи источников
returnExternalDataKeys body array нет Ключи внешних данных

POST /api/1/deliveries/cancel — Отмена заказа доставки

Команда; статус — через /api/1/commands/status.

Параметр Где Тип Обяз. Описание
organizationId body string да ID организации
orderId body string да ID заказа
cancelCauseId body string нет Причина отмены из /api/1/cancel_causes
cancelComment body string нет Комментарий к отмене
removalTypeId body string нет Тип удаления для напечатанных позиций
movedOrderId body string нет ID нового заказа, если заказ перенесён

POST /api/1/commands/status — Статус команды

Код ответа 410 — correlationId больше не поддерживается.

Параметр Где Тип Обяз. Описание
organizationId body string да ID организации
correlationId body string да ID операции из ответа команды

POST /api/1/webhooks/update_settings — Настройка вебхуков

Параметр Где Тип Обяз. Описание
organizationId body string да ID организации
webHooksUri body string да URL обработчика вебхуков
authToken body string нет Токен авторизации, передаваемый обработчику
webHooksFilter body object нет Фильтр событий

Нюансы

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


Если этого недостаточно — официальная документация: https://api-ru.iiko.services/docs Вся интеграция одним документом: https://mcp-everything.ru/integrations/iiko.md