Справка / Настройки

Приём заказов с сайта (API)

Ваш сайт или приложение шлёт заказы прямо в программу

3 мин чтения

Если заказы принимает ваш сайт или мобильное приложение, они могут попадать в программу сами — оператору останется только подтвердить. Запросы устроены так же, как у FrontPad, поэтому сайт, уже работавший с FrontPad, переключается на нас сменой адреса и ключа.

Как включить

  1. Настройки → Общие → «API — приём заказов с сайта»: отметьте «Включено», нажмите «Создать» — программа придумает секретный ключ. Сохраните.
  2. Передайте разработчику сайта адрес (https://ваш-адрес/api/index.php) и ключ. Ключ — это пароль: кто его знает, тот может создавать заказы.
Настройки → Общие → API123
Настройки → Общие → API
  • 1«Включено» — программа принимает заказы с сайта
  • 2«Создать» — новый секретный ключ (старый сразу перестанет работать)
  • 3Адрес, который нужно передать разработчику сайта
  1. В справочниках заполните «Код API» — филиалы, точки продаж, варианты оплаты, каналы продаж, статусы, отметки заказов. Это те же номера, которыми их называет сайт.
  2. У товаров должен быть артикул — по нему сайт и программа понимают, что это одно и то же блюдо.
  3. Если сайт сам считает доставку по своим зонам, он передаёт её строкой-товаром «Доставка» (у FoodNinja — «Системные товары → Доставка»). Впишите этот артикул в поле «Артикул товара «Доставка»» в тех же настройках API. Тогда такая строка станет ценой доставки заказа, а не блюдом: в чеке — услуга «Доставка», в отчётах — отдельно от еды, на кухне её нет. Цену доставки заказа с сайта программа не пересчитывает по своим зонам — даже если оператор потом изменит заказ.

Что умеет

  • new_order — создаёт заказ: товары по артикулам, телефон, адрес, оплата, отметки, предзаказ.
  • get_client — данные клиента по телефону: имя, адрес, скидка, бонусы.
  • get_certificate — проверяет сертификат или купон.
  • get_products — список товаров с ценами (не чаще раза в час).
  • get_stops — что сейчас в стоп-листе.

Запрос — POST на /api/index.php?new_order обычной формой, обязательное поле secret. Ответ — {"result":"success","order_id":…,"order_number":…} или {"result":"error","error":…}. Не больше 30 запросов в минуту и 2 в секунду.

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

Когда заказ меняет статус, программа сама сообщает об этом сайту: POST с {"action":"change_status","order_id":…,"status":…,"datetime":…}. Адрес сайт может прислать вместе с заказом (hook_url) или вы укажете его в настройках. Статус передаётся тем номером, который стоит в «Коде API» статуса.

Заказы, пришедшие с сайта, помечаются в списке заказов — видно, что заказ не с телефона.
Приём заказов с сайта (API) — справка