Подключение сайта кафе или ресторана к 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, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

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