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

API и аутентификация

Sitora поддерживает четыре семейства API на одном бэкенде. Они разделяют одну дисциплину схемы и один принцип — правда о процессах вычисляется на сервере, — но у каждого свой тип субъекта, и публичных среди них два.

Используется приложениями Sitora, Sitora Pro и Sitora Biz. Эти контракты поставляются внутри приложений и не публикуются для внешней интеграции — они могут измениться с любым релизом приложения.

Используется Sitora Console — внутренней административной поверхностью. Зарезервировано для сотрудников Sitora. Не публикуется.

/api/robotics/v1/ — поверхность, с которой напрямую интегрируются контроллеры сертифицированных парков роботов. Она версионируется через URL, расширяется аддитивно внутри v1 и полностью описана в разделе Robotics API.

  • Аутентификация: Authorization: Bearer sit_rk_<key> — учётные данные робота, привязанные к филиалу и выданные владельцем ресторана. Эти учётные данные являются машинным субъектом: это не пользователь, у них нет членства, и они никогда не могут действовать в рабочих процессах сотрудников.
  • Обнаружение: машиночитаемый контракт отдаётся живьём, без аутентификации, по адресу GET /api/robotics/v1/openapi.json. Раздел API reference этого сайта генерируется из того же документа.

/api/payments/v1/ — поверхность, с которой интегрируются подключённые платёжные устройства: компаньоны на смарт-кассах и экраны для гостя. Она версионируется через URL на тех же условиях, что и поверхность робототехники, и полностью описана в разделе Payment Device API.

  • Аутентификация: Authorization: Bearer sit_pd_<key> — учётные данные устройства, которые оно получает один раз, погасив одноразовый код подключения, выданный владельцем ресторана. Как и учётные данные робота, это машинный субъект, а филиал и касса за ним выводятся из ключа, а не присылаются вызывающей стороной.
  • Обнаружение: машиночитаемый контракт отдаётся живьём, без аутентификации, по адресу GET /api/payments/v1/openapi.json.

Две публичные поверхности — это два разных контракта с разными учётными данными. Учётные данные робота отклоняются везде на платёжной поверхности, а учётные данные устройства — везде на поверхности робототехники.