Мониторинг соединения iiko.biz и сервера iiko

Принцип работы

Каждый n секунд заупскается функция из main.py

  • авторизируется в iiko biz
  • получает номенклатуру
  • производит вызов метоа orders/checkCreate с заказом из одной позиции без модификаторов на самовывоз
    • если ответ содержит {'problems':null} проверка считается успешной и возвращает HTTP 200
    • если ответ не содержит {'problems':null} проверка считается неудачной и возвращает HTTP 500

Статус отображается в первой строке вывода и в HTTP RESPONSE CODE:

HTTP 200 success: - локальныйсервер iiko проверил заказ и проблем не нашел

HTTP 500 или fail: - неудалось проверить заказ. причина в поле server response

Проверка работы

Ответ адаптирован для отображения в браузере

Для примера фукнция развернута в яндекс облаке. В url установлены данные от публичной песочницы iiko

https://functions.yandexcloud.net/d4ek8olulus9g8e6vcjg?login=demoDelivery&password=PI1yFaKFCGvvJKi&org_id=e464c693-4a57-11e5-80c1-d8d385655247&street=ленина&home=1

Чтобы настроить url для себя можно испоьлзовать форму https://functions.yandexcloud.net/d4ek8olulus9g8e6vcjg?

Параметр Обязательный Описание
login да логин учетной записи iiko.biz с доступом к iiko delivery api
password да пароль учетной записи iiko.biz с доступом к iiko delivery api
org_id да id организации, в которую будут отправляться проверки заказов
delivery_terminal_id нет id терминала, опционально
street нет улица из адреса доставки. например "Ленина" . несли не передана, будет самовывоз
home нет дом для адреса доставки, например "1"

Использование

  1. Развернуть функцию в любом совместимом окружении (яндекс облако, aws lambda и тд) 1.1) файл main.py 1.2) точка входа handler(event, context) соотвествует формату aws lambda / yandex cloud
  2. Обращатся по url функции из системы мониторинга или отркыть в браузере для наблюдения вручную

Поддерживаются системы мониторинга с возможность проверки по HTTP. Любой мониторинг сайта подойдет.

Например https://selectel.ru/services/additional/monitoring/ с типом HTTP GET ожидаемый ответ 200