Настоящий документ описывает техническую архитектуру интеграции программного обеспечения Restometrics с системой автоматизации предприятий общественного питания iiko: поддерживаемые версии, используемые API-методы, лицензионные требования, совместимость. Документ актуализируется по мере изменения интеграции.
Основная страновая таблица интеграции — в соответствии с требованиями к технической документации партнёров iiko.
| Страна | Версия iiko | Версия Restometrics | Плагины iiko | Комментарий |
|---|---|---|---|---|
| Российская Федерация | ≥ 5.5 | backend 1.0.0 / frontend 0.2.0 | — | Backend-only интеграция через API iiko корпорации. Плагины iiko не используются. |
Другие регионы в настоящий момент не обслуживаются. При расширении географии таблица будет дополнена отдельной строкой на регион.
Минимальная поддерживаемая версия — iiko 5.5 и выше. Граница обусловлена переходом iiko на OLAP API версии 2 в формате JSON и введением обязательного фильтра по дате в OLAP-запросах начиная с этой версии. На более ранних версиях корректный сбор аналитических данных невозможен.
На актуальных версиях iiko (серии 7.x и 8.x) интеграция работает штатно.
Restometrics использует паттерн runtime feature detection: при обращении к OLAP-полю, не поддерживаемому версией iiko клиента, сервер получает ошибку «неизвестное поле», коллектор корректно обрабатывает её и переходит к следующему запросу без прерывания сбора остальных данных.
Это означает, что статические version-gates не применяются: сервис подключается к любой поддерживаемой версии iiko, а недоступные в данной версии показатели просто не собираются. В пользовательском интерфейсе соответствующие секции отображают либо сообщение об отсутствии данных, либо скрываются до появления доступных данных.
| Функция Restometrics | Поведение при недоступном OLAP-поле |
|---|---|
| Фудкост и маржа по блюдам | Собираются только выручка и количество продаж; карточки маржи показывают «нет данных по ТТК» |
| Аналитика по зонам ресторана (бар, веранда и т. д.) | Вкладка «Зоны» скрывается до появления поддержки в iiko |
| Аналитика по каналам (зал / доставка / самовывоз) | Вкладка «Каналы» скрывается; разделение по типам заказа недоступно |
| Разделение скидок по типам | Скидки собираются единой категорией без типизации |
| Категории блюд в ABC-анализе | Fallback на группировку по группам без подкатегорий |
| Подробный журнал удалённых позиций | Функция Exception-анализа отключается |
| 15-минутная почасовая детализация | Fallback на часовую детализацию |
Минимальная функциональность (выручка по дням, количество чеков, средний чек, количество гостей, рейтинг блюд и сотрудников) работает на всех поддерживаемых версиях iiko, начиная с 5.5.
Для подключения к Restometrics клиенту требуется одна активная лицензия iiko.
| Лицензия iiko | Требуется? | Назначение |
|---|---|---|
| iikoAPIServer | Да | Доступ к корпоративному API iiko, API OLAP-отчётов. Единственная необходимая лицензия. |
| iikoAPIFront | Нет | Restometrics не работает на стороне Front (кассы). |
| iikoAPIFront Web | Нет | — |
| iikoAPIPayment | Нет | Платёжные операции iiko не используются. |
Если у ресторана работает стандартный дашборд iikoOffice, лицензия iikoAPIServer уже присутствует. Дополнительные лицензионные затраты для подключения Restometrics не требуются.
| Компонент | Версия |
|---|---|
| Серверная часть (backend) | 1.0.0 |
| Клиентская часть (frontend SPA) | 0.2.0 |
Restometrics обращается исключительно к корпоративному API iiko (iikoAPIServer) через защищённый канал HTTPS. Ниже — полный перечень используемых методов.
| Тип API | Метод | Назначение в Restometrics |
|---|---|---|
| iikoAPIServer | Аутентификация | Получение токена сессии с API-паролем подключения |
| iikoAPIServer | Завершение сессии | Корректное освобождение лицензии API |
| iikoAPIServer | OLAP-отчёт SALES | Выручка, топ блюд, статистика персонала, типы оплат, скидки, удаления, каналы, зоны |
| iikoAPIServer | OLAP-отчёт DELIVERIES | Аналитика доставки (при наличии доставочных подразделений) |
| iikoAPIServer | OLAP-отчёт TRANSACTIONS | Акты ручного списания (модуль «Списания»), аналитика денежных потоков |
| iikoAPIServer | Остатки склада (v2/reports/balance/stores) | Текущие складские остатки в разрезе точек и номенклатуры (модуль «Склад») |
| iikoAPIServer | Список подразделений | Автоматическое получение списка точек клиента |
Нагрузка на сервер iiko клиента в режиме штатной эксплуатации — одно подключение:
| Показатель | Значение |
|---|---|
| Средняя нагрузка | менее 0,1 операции в секунду (ops/sec) |
| Пиковая нагрузка в режиме первоначальной загрузки истории (единоразово при подключении нового подразделения) | до 2 ops/sec на 1–5 минут |
| Пиковая нагрузка в режиме штатной эксплуатации (инкрементальный сбор) | до 0,5 ops/sec (серия из нескольких запросов подряд раз в 5 минут) |
Все OLAP-запросы формируются с соблюдением стандартных ограничений iiko API, включая обязательные фильтры по дате и ограничение на количество полей в одном запросе. Параллельных OLAP-запросов к одному и тому же подключению Restometrics не выполняет — для соблюдения рекомендаций iiko по работе с OLAP API.
Restometrics декларирует, что работает исключительно с методами iiko API, указанными в разделе 6. Недокументированные методы не используются. Для полноты технической документации ниже приводятся классы методов iiko, с которыми интеграция не взаимодействует.
| Класс методов iiko | Причина отсутствия использования |
|---|---|
| OLAP API v1 (XML-формат) | Вся интеграция реализована на OLAP API v2 в формате JSON. |
OLAP-отчёт STOCK (reportType=STOCK) | Данные об остатках из OLAP не используются. Складской модуль работает напрямую через v2/reports/balance/stores (задокументированный REST-метод), указанный в разделе 6. |
| Работа со справочниками (номенклатура, технологические карты, рецепты) | Данные о блюдах и себестоимости извлекаются из OLAP-отчётов в виде готовых агрегатов. |
| Методы iikoAPIFront и iikoAPIPayment | Restometrics не работает на стороне кассовых терминалов и не выполняет платёжных операций. |
При расширении функциональности в будущих релизах перечень используемых методов (раздел 6) обновляется с публикацией изменений согласно разделу 10.
Restometrics интегрируется исключительно с системой автоматизации iiko. Интеграция с иными системами автоматизации предприятий общественного питания не реализована.
Restometrics не использует плагины iiko.
Интеграция реализована по архитектурной схеме «backend-to-backend»: сервер Restometrics подключается к серверу iiko клиента через официальное API корпорации (iikoAPIServer). Установка плагинов на кассы iikoFront или в офисную часть iikoOffice не требуется.
| Тип изменения | Способ уведомления |
|---|---|
| Изменение минимальной поддерживаемой версии iiko | Email всем активным пользователям + публикация на настоящей странице не менее чем за 14 дней до вступления изменения в силу |
| Мажорный релиз серверной или клиентской части | Уведомление в интерфейсе приложения; публикация в release notes; при критичных изменениях — email |
| Добавление или удаление используемых методов iiko API | Обновление настоящей страницы с указанием даты изменения |
| Масштабные инциденты (недоступность сервиса свыше 15 минут) | Email активным пользователям; статус-страница сервиса |
https://restometrics.ru/tech. Дата последнего обновления указывается в нижней части страницы.