Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
external:qr_меню:04_оповещения_для_персонала:09_api [2021/09/14 12:32] – Александр Ильин | external:qr_меню:04_оповещения_для_персонала:09_api [2022/02/03 12:08] (текущий) – alexander_troyan | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== API системы оповещений ====== | ====== API системы оповещений ====== | ||
- | Общий принцип работы с оповещениями через API | + | ===== Общий принцип работы с оповещениями через API ===== |
- | * Сервер QR меню хранит очередь событий за некоторый промежуток времени (по умолчанию 5 мин) | + | Сервер QR меню хранит очередь событий за некоторый промежуток времени ( по умолчанию 5 минут ). Старые события автоматически удаляются из очереди. |
- | * Старые события автоматически удаляются из очереди | + | Сторонний клиент может обратиться к серверу по API и получить список новых событий. |
- | | + | |
- | * Сторонний клиент самостоятельно отправляет оповещения в нужный канал | + | ===== Как получить список событий ===== |
+ | |||
+ | Для того, чтобы получить список событий необходимо отправить GET запрос на / | ||
+ | Пример запроса: | ||
+ | |||
+ | < | ||
+ | GET https:// | ||
+ | token: token | ||
+ | </ | ||
+ | |||
+ | **hash** - это идентификатор события, | ||
+ | Для того чтобы получить все события в качестве hash передается значение none. | ||
+ | |||
+ | **token** - это ключ доступа к серверу QR меню. Передается внутри заголовка token. | ||
+ | |||
+ | |||
+ | |||
+ | Пример ответа: | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | В ключе ' | ||
+ | Каждое событие представляет собой: | ||
+ | |||
+ | **hash** - идентификатор события | ||
+ | **code** - название события | ||
+ | **table** - идентификатор стола | ||
+ | **invoice** - текущий счет (id, id стола, сумма к оплате, | ||
+ | **order** - полное представление заказа (сумма, | ||
+ | **table_repr** - информация о столе(id, | ||
+ | |||
+ | Далее сторонний клиент самостоятельно отправляет оповещения в нужный канал. Например, | ||
+ | |||
+ | ==== Примеры ответов и виды событий ==== | ||
+ | |||
+ | === Сохранение заказа (save_order) === | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === Вызов официанта (waiter_call) === | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === Дозаказ (additional_order)=== | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ], | ||
+ | " | ||
+ | } | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Вся информация о добавленных в заказ блюдах содержится в ключе " | ||
+ | |||
+ | === Онлайн оплата (online_payment) === | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === Запрос счета (bill_request) === | ||
+ | |||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | }, | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | ] | ||
+ | }, | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Как получить токен QR меню ===== | ||
+ | |||
+ | Чтобы узнать свой токен, необходимо зайти на главную страницу QR меню, выбрать раздел " | ||
+ | |||
+ | **Раздел наполняется, | ||
- | Раздел наполняется, |