Перейти к содержимому

Управление и версионирование

Робототехнику можно приостановить в любой момент на четырёх независимых уровнях:

Кто Область
Владелец ресторана Свой филиал, из Sitora Biz.
Менеджер филиала Свой филиал, из Sitora Pro.
Сотрудник Sitora Любая активация, из Sitora Console.
Заморозка платформы Все филиалы сразу — аварийная остановка.

Приостановленный или замороженный филиал отказывает в заявках с 409 (robotics_paused / platform_frozen) и перестаёт выдавать предложения. Ваш контроллер обязан подчиниться немедленно: припарковаться, ничего нового не начинать, продолжать heartbeat. Соблюдение аварийного выключателя — один из пяти сценариев сертификации: интеграция, которая борется с выключателем, сертификацию не получает.

Сертификация привязывается к записанному успешному прогону проверок соответствия и является предпосылкой для каждой активации вашего парка в каждом ресторане. Sitora может её отозвать; у филиалов отозванного поставщика в blocked_reasons появляется vendor_not_certified, и предложения не поступают до повторной сертификации. Ломающие изменения контроллера, объявленные по контракту, проходят сертификацию заново перед выходом в бой.

К вашему парку переходит ровно три вещи:

  1. Манифест задачи — отображаемый номер заказа, названия и количества позиций и назначение. На курьерском этапе назначение — это свободный текст адреса доставки гостя, то есть персональные данные; обращайтесь с ним соответственно. Манифест перестаёт отдаваться, как только задача переходит в конечное состояние.
  2. Снимок парка — рабочая конфигурация вашей активации, ваша собственная живость и blocked_reasons.
  3. Уведомления webhook — только идентификаторы задач и состояние, никогда манифест.

Ни запись о госте, ни номер телефона, ни заметка к заказу, ни цена, ни платёжные данные никогда не раскрываются учётным данным робота — как и личность сотрудника: вам никогда не сообщают, кто именно загрузил поднос или подтвердил подачу. Контракт запрещает попытки получить что-либо из этого по обходному каналу и запрещает хранить данные манифеста дольше описанного им рейса.

Поверхность версионируется через URL: /api/robotics/v1/.

  • Изменения внутри v1 только аддитивные — могут появляться новые поля и эндпоинты; существующие никогда не меняют смысл и не исчезают. Игнорируйте поля, которых не знаете.
  • Ломающие изменения выходят как /v2/ с опубликованным окном устаревания для v1.
  • Живой контракт всегда доступен по GET /api/robotics/v1/openapi.json (анонимно); раздел API reference этого сайта генерируется из того же документа.