API

Документированный API для интеграций

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

Бэк-офис: раздел «Сайт» — витрина с фото блюд из меню кассы

Что умеет интеграция

📋

Меню и доступность

Витрина получает категории, блюда, цены, модификаторы и фото — уже без позиций, снятых с продажи, и с признаком «заведение сейчас не принимает заказы».

🧾

Приём заказа

Заказ создаётся одним обращением и получает номер. Повтор того же обращения не создаёт второй заказ.

✏️

Изменение и отмена

Пока заведение не приняло заказ, источник может изменить состав или отменить его.

🎟

Проверка промокода

Купон проверяется на стороне POSitive, поэтому скидка на витрине и на кассе не расходится.

💳

Сообщение об оплате

Оплата, принятая на стороне витрины, связывается со способом оплаты заведения — деньги ложатся на нужный счёт.

↩️

Статусы обратно

Принят, готовится, передан курьеру, завершён — уведомления уходят источнику и подписаны общим секретом.

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

Что гарантирует контракт

🔁

Идемпотентность

Повторная отправка с тем же ключом операции не создаёт второй заказ. Защищает от двойного нажатия и обрыва связи.

🔐

Подпись и ключи

Ключ действует на одно заведение и отзывается мгновенно. Секрет хранится хешем и не восстанавливается даже нами. Ключ живёт на сервере партнёра, не в браузере гостя.

🧾

Описательные ошибки

Ответ говорит, какая именно позиция не прошла и почему, — вместо общего «400 Bad Request».

🛑

Актуальный стоп-лист

Меню передаётся без снятых с продажи позиций: позиция, снятая на кассе, сразу исчезает с сайта.

↩️

Обратный канал

Статус заказа возвращается источнику: принят, готовится, передан курьеру, завершён.

🧪

Песочница

Тестовое заведение с отдельным ключом: интеграцию можно собрать и проверить, не трогая боевые данные.

Нужен ключ или контракт?

Пришлём описание с полями и примерами, откроем песочницу и ответим на вопросы по интеграции.