Подключение сайта кафе или ресторана к IIKO
Что такое IIKO? Это компания предоставляющая услуги автоматизации ресторанов, кафе и баров, любого размера и сложности, путем переноса всех бизнес процессов на свою онлайн платформу. IIKO предоставляет одноименные комплексные решения, а именно программное обеспечение: для касс на планшете iOS, Android или Windows; для учета и статистики продаж в облаке; для управление финансами, складом, персоналом; для ЕГАИС и сдачи отчетности; для интеграции с колл-центром; и конечно же, что самое интересно, для подключения сторонних приложений по средствам (API) — что позволяет наладить взаимодействие системы IIKO и вашего сайта, о чем мы сегодня и поговорим.
Интеграция сайта с API
iikoCloud API — это система позволяющая взаимодействовать вашему сайту с системой автоматизации IIKO, и совершать определенные действия в автоматическом режиме, например:
- Выгружать или загружать в систему, список номенклатуры меню
- Работать со списком городов и улиц, в рамках которых осуществляется (например) доставка заказов
- Работать со скидками, задавать периоды действия скидок
- Работать с доставочными заказами
- Работать с заказами в стол
- Передавать заказы с сайта на терминал IIKO
IIKO предлагает разные сценарии взаимодействия: Вебхуки, взаимодействие с Telegram ботом, E-Commerce QR и Delivery Aggregator. Все это позволяет, реализовать практически любые идеи по части автоматизации вашего ресторанного бизнеса.
Мой кейс подключения сайта
Передо мной стояла задача, подключить сайт ресторана(моего клиента) к системе IIKO, для передачи заказов на терминал размещенный в ресторане, для последующей обработки, а также передача заказа в систему доставки Яндекс Доставка, автоматический расчет стоимости доставки, определения точного адреса клиента с помощью API Яндекс Карт, затем дополнительно передача данных в систему IIKO о доставке, и последующий прием оплаты от пользователя с учетом стоимости доставки через систему Робокасса. При этом, все это организовать на сайте построенном на системе конструкторе сайтов Тильда (который позволяет только использовать либо готовые компоненты — которых для решения моего кейса нет, либо внести доработки на сайт используя собственный скрипт написанный на JavaScript).
Решением было написать скрипт на JavaScript для сайта на Тильде, а всю основную логику взаимодействия с API IIKO и API системы доставки, и API Яндекс Карт, вынести во внешний PHP скрипт, размещенный на отдельном хостинге(предоставленном мною для клиента). В итоге получилось комплексное, встраиваемое, решение. Позволяющее предоставить клиентам ресторана, делающим заказы на сайте, максимально удобный сервис, ресторану принимать и быстро обрабатывать заказы, а менеджеру отслеживать все процессы в интерфейсе системы IIKO и Яндекс Доставки.
Подключение
Чтобы подключиться к iikoCloud API, необходимо в своем личном кабинете системы IIKO, добавить нового клиента API, указать логин и сгенерировать Api-ключ. Дальнейшая работа с API осуществляется по средствам HTTP запросов, с генерацией токена-доступа(который действует 1 час и требует последующей перегенерации). Формат как запросов, так ответов — REST/JSON, что позволяет достаточно быстро реализовать API-клиент практически на любом языке программирования(в отличии от SOAP, например).
Примеры запросов
Запрос на получение номенклатуры меню, в формате JSON:
{
"common": {
"accessToken": "{{publicapi_token}}",
"requestTimeout": "60"
},
"request": {
"organizationId": "{{organization_id}}"
}
} |
Ответ:
{
"groups": [ ],
"productCategories": [],
"products": [],
"revision": 6635,
"uploadDate": "2018-06-27 15:28:51"
} |
Переменная products будет содержать массив позиций номенклатуры, далее на основании которого можно реализовать позиции меню на сайте для заказа.
Дополнительно
Интеграция с системой службы доставки, например Яндекс Доставка. Расчет стоимости доставки и включения её в стоимость заказа. Возможность для пользователя указать время и место доставки. Автоматическое оформление заказа на доставку, выбор курьера и передача ему(курьеру) данных о заказе, в том число времени к которому нужно прибыть в ресторан, для забора заказа.
Какие сайты можно интегрировать
С системой IIKO, благодаря её API, можно интегрировать сайты на любом движке, как самописном, так и на одном из популярных движков, таких как CMS WordPress, Joomla, Bitrix и т.д. Сайты построенные на конструкторах таких как Tilda, также можно интегрировать, но этот процесс будет несколько сложнее, а также потребует использования внешнего хостинга с поддержкой размещения серверных скриптов на PHP или Python.
Возможные сложности и недостатки
В процессе интеграции сайта с системой IIKO по API, для передачи в неё заказов, возникли следующие сложности:
Для передачи заказа в IIKO, требуется строго соблюдать формат передаваемых данных позиций заказа, они должны соответствовать позициям в номенклатуре, вместе с заказом в системе передаются ID товаров из меню. Если у вас на сайте, меню отличается от меню заданного в системе IIKO, то заказ не будет оформлен. Поэтому необходима синхронизация. Зачастую, невозможно синхронизировать данные меню, один к одному, например по причине того, что позиции в меню для внутреннего пользования и для клиента, могут отличаться(названиями или параметрами).
У системы IIKO, товарная номенклатура хранящаяся в IIKO Office, требует отдельной ручной выгрузки в базу API, для того, чтобы далее её можно было получать средствами API. Это может иногда создавать трудности своевременной синхронизации данных, что в свою очередь может создать ошибку при заказе неактуальной товарной позиции пользователем. Также на этапе тестирования и отладки, это усложняет весь процесс.
При оформлении заказа с передачей адреса доставки, также необходима синхронизация городов и улиц с базой в системе IIKO, что требует дополнительной настройки на стороне IIKO Office, с последующей синхронизацией данных.
Иногда сервер IIKO API недоступен, ведутся технические работы, которые могут проводиться в любое время суток. Что также влияет на работу всей системы и несколько усложняет процесс интеграции с сайтом.
Техническая поддержка со стороны IIKO предоставляется только платно по подсписке, это также приводят к ряду сложностей на этапе как интеграции, тестирования, так и последующей работы.
Процесс отладки всей системы, тесто сопряжен с пользовательской настройкой системы на стороне IIKO, это также может требовать последующего сопровождения сайта со стороны разработчика, т.к. заранее нельзя предвидеть все возникающие проблемы.
Документация и описание IIKO API, могло бы быть более детально и проработанно.
Заключение
Подводя итог, можно сказать что компания Айко, создала хороший сервис по автоматизации ресторанного бизнеса, а наличие API делает возможности работы с ним(сервисом) еще удобнее и обширнее. Что касается же процесса интеграции, то он может доставить некоторые сложности, но если им занимается профессиональный и имеющий опыт разработчик, то все цели будет достигнуты!
Друзья, буду рад помочь вам в интеграции вашего сайта с IIKO API, обращайтесь!

Автор: 






