Подключение сайта кафе или ресторана к IIKO

Author Автор: Роман Чернышов    Опубликовано: 3 декабря 2022

IIKO API Что такое 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.

Возможные сложности и недостатки

Программа для Windows IIKO Office

Программа для Windows IIKO Office

В процессе интеграции сайта с системой IIKO по API, для передачи в неё заказов, возникли следующие сложности:

Для передачи заказа в IIKO, требуется строго соблюдать формат передаваемых данных позиций заказа, они должны соответствовать позициям в номенклатуре, вместе с заказом в системе передаются ID товаров из меню. Если у вас на сайте, меню отличается от меню заданного в системе IIKO, то заказ не будет оформлен. Поэтому необходима синхронизация. Зачастую, невозможно синхронизировать данные меню, один к одному, например по причине того, что позиции в меню для внутреннего пользования и для клиента, могут отличаться(названиями или параметрами).

У системы IIKO, товарная номенклатура хранящаяся в IIKO Office, требует отдельной ручной выгрузки в базу API, для того, чтобы далее её можно было получать средствами API. Это может иногда создавать трудности своевременной синхронизации данных, что в свою очередь может создать ошибку при заказе неактуальной товарной позиции пользователем. Также на этапе тестирования и отладки, это усложняет весь процесс.

При оформлении заказа с передачей адреса доставки, также необходима синхронизация городов и улиц с базой в системе IIKO, что требует дополнительной настройки на стороне IIKO Office, с последующей синхронизацией данных.

Иногда сервер IIKO API недоступен, ведутся технические работы, которые могут проводиться в любое время суток. Что также влияет на работу всей системы и несколько усложняет процесс интеграции с сайтом.

Техническая поддержка со стороны IIKO предоставляется только платно по подсписке, это также приводят к ряду сложностей на этапе как интеграции, тестирования, так и последующей работы.

Процесс отладки всей системы, тесто сопряжен с пользовательской настройкой системы на стороне IIKO, это также может требовать последующего сопровождения сайта со стороны разработчика, т.к. заранее нельзя предвидеть все возникающие проблемы.

Документация и описание IIKO API, могло бы быть более детально и проработанно.

Заключение

Подводя итог, можно сказать что компания Айко, создала хороший сервис по автоматизации ресторанного бизнеса, а наличие API делает возможности работы с ним(сервисом) еще удобнее и обширнее. Что касается же процесса интеграции, то он может доставить некоторые сложности, но если им занимается профессиональный и имеющий опыт разработчик, то все цели будет достигнуты!

Друзья, буду рад помочь вам в интеграции вашего сайта с IIKO API, обращайтесь!

Оставить комментарий

Автор блога
Чернышов Роман
Роман Чернышов
Веб-разработчик,
Full Stack
Senior, Architector
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка