Mison API

API для приёма заказов в систему Mison из внешнего приложения: мобильного приложения заведения, сайта, киоска самообслуживания.

Через API вы получаете меню и справочники заведения и отправляете заказы — они попадают прямо на кассу точки, как заказы из любого другого канала.

Базовый адрес:

https://backend.mison.uz/api/integrations/v1

Модель данных

Разобравшись в четырёх сущностях, вы поймёте всё остальное.

Бренд — заведение или сеть. Один API-ключ выдаётся на один бренд и видит только его данные.

Точка (point) — конкретный ресторан или кафе. У бренда их может быть несколько. Точка адресуется своим uuid, который вы получаете в GET /points. Меню, цены, типы оплат и стоп-лист — всегда в разрезе точки.

Меню. Есть два способа его получить, и они разные:

  • Витрина (/menus) — меню, собранное заведением специально для внешнего канала: свои названия, описания, картинки и цены. Это основной путь.
  • Номенклатура (/nomenclature) — полный каталог товаров бренда. Нужна, если хотите собирать витрину на своей стороне.

Подробнее — в разделе Меню.

Заказ — попадает в систему как чек. Зал, самовывоз и доставка отправляются одним методом POST /orders, тип задаётся полем order_type_id.

С чего начать

  1. Получите ключ и обменяйте его на токен
  2. Пройдите быстрый старт — от токена до созданного заказа, пять запросов
  3. Загрузите справочники и меню
  4. Отправляйте заказы

Что важно знать сразу

Всегда присылайте свой external_id в заказе. Это ваш идентификатор заказа. Повторный запрос с тем же external_id вернёт уже созданный заказ, а не создаст дубль — можно безопасно повторять запрос при таймауте или обрыве сети.

Цены считает сервер. Поле цены в вашем запросе не используется: сумма собирается по ценам заведения. Перед отправкой заказа вызовите POST /orders/calculate, чтобы показать пользователю итоговую сумму.

Проверяйте, работает ли точка. GET /points/{point_id}/is-alive говорит, открыта ли смена на кассе. Если смена закрыта, заказ уйдёт в пустоту.

Кешируйте меню, но не стоп-лист. Меню меняется редко — обновляйте раз в час. Стоп-лист меняется в течение дня — раз в минуту.