API и аутентификация
Sitora поддерживает четыре семейства API на одном бэкенде. Они разделяют одну дисциплину схемы и один принцип — правда о процессах вычисляется на сервере, — но у каждого свой тип субъекта, и публичных среди них два.
API приложений
Заголовок раздела «API приложений»Используется приложениями Sitora, Sitora Pro и Sitora Biz. Эти контракты поставляются внутри приложений и не публикуются для внешней интеграции — они могут измениться с любым релизом приложения.
API Консоли
Заголовок раздела «API Консоли»Используется Sitora Console — внутренней административной поверхностью. Зарезервировано для сотрудников Sitora. Не публикуется.
Robotics API — публичный
Заголовок раздела «Robotics API — публичный»/api/robotics/v1/ — поверхность, с которой напрямую интегрируются контроллеры
сертифицированных парков роботов. Она версионируется через URL, расширяется
аддитивно внутри v1 и полностью описана в разделе
Robotics API.
- Аутентификация:
Authorization: Bearer sit_rk_<key>— учётные данные робота, привязанные к филиалу и выданные владельцем ресторана. Эти учётные данные являются машинным субъектом: это не пользователь, у них нет членства, и они никогда не могут действовать в рабочих процессах сотрудников. - Обнаружение: машиночитаемый контракт отдаётся живьём, без аутентификации,
по адресу
GET /api/robotics/v1/openapi.json. Раздел API reference этого сайта генерируется из того же документа.
Payment Device API — публичный
Заголовок раздела «Payment Device API — публичный»/api/payments/v1/ — поверхность, с которой интегрируются подключённые
платёжные устройства: компаньоны на смарт-кассах и экраны для гостя. Она
версионируется через URL на тех же условиях, что и поверхность робототехники,
и полностью описана в разделе
Payment Device API.
- Аутентификация:
Authorization: Bearer sit_pd_<key>— учётные данные устройства, которые оно получает один раз, погасив одноразовый код подключения, выданный владельцем ресторана. Как и учётные данные робота, это машинный субъект, а филиал и касса за ним выводятся из ключа, а не присылаются вызывающей стороной. - Обнаружение: машиночитаемый контракт отдаётся живьём, без аутентификации,
по адресу
GET /api/payments/v1/openapi.json.
Две публичные поверхности — это два разных контракта с разными учётными данными. Учётные данные робота отклоняются везде на платёжной поверхности, а учётные данные устройства — везде на поверхности робототехники.