Подключение сайта кафе или ресторана к 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, обращайтесь!
Похожие записи
Оставить комментарий
Full Stack
Senior, Architect
предложить оффер
- jQuery: как получить значение атрибута?
- Интеграция с API ОСАГО сайта sravni.ru
- PHP работа с изображением, класс SimpleImage
- Комментарии на PHP, Ajax, mySQL
- PHP: Категории бесконечного уровня вложенности.
- Nginx редирект на другой сервис с сохранением URL спросил (а) Сергей
- Исполнитель пропал, почему такое случается и понять с кем работать? спросил (а) Артем
- Можно ли WordPress считать универсальным движком? спросил (а) Андрей
- Что такое самописный скрипт или CMS? спросил (а) Антон
- Как при поиске в linux используя grep, добавить исключения? спросил (а) Алексей
- Как создать Telegram-бота с авторизацией через сайт к записи
- PHP скрипт: каталог закладок на сайты к записи
- Валидация на PHP к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
- Сколько зарабатывают в бизнесе на совместных покупках к записи
- Подключение(интеграция) приема платежей WeChat Pay на сайте к записи
- Интеграция Тинькофф банк Эквайринг на сайт для приема платежей к записи
Archive
- +2024 (7)
- Сентябрь 2024 (1)
- Август 2024 (5)
- Май 2024 (1)
- +2023 (27)
- Ноябрь 2023 (1)
- Октябрь 2023 (13)
- Сентябрь 2023 (10)
- Апрель 2023 (1)
- Март 2023 (1)
- Февраль 2023 (1)
- +2022 (21)
- Декабрь 2022 (11)
- Ноябрь 2022 (1)
- Май 2022 (2)
- Апрель 2022 (2)
- Март 2022 (3)
- Февраль 2022 (1)
- Январь 2022 (1)
- +2021 (17)
- Декабрь 2021 (5)
- Ноябрь 2021 (2)
- Июль 2021 (1)
- Июнь 2021 (2)
- Май 2021 (5)
- Апрель 2021 (1)
- Март 2021 (1)
- +2020 (20)
- Декабрь 2020 (6)
- Сентябрь 2020 (2)
- Август 2020 (1)
- Июль 2020 (2)
- Май 2020 (2)
- Апрель 2020 (2)
- Март 2020 (2)
- Февраль 2020 (1)
- Январь 2020 (2)
- +2019 (18)
- Декабрь 2019 (3)
- Ноябрь 2019 (2)
- Октябрь 2019 (2)
- Сентябрь 2019 (1)
- Август 2019 (2)
- Июль 2019 (1)
- Июнь 2019 (1)
- Апрель 2019 (2)
- Март 2019 (1)
- Февраль 2019 (3)
- +2018 (44)
- Декабрь 2018 (4)
- Ноябрь 2018 (7)
- Октябрь 2018 (8)
- Сентябрь 2018 (1)
- Август 2018 (4)
- Июль 2018 (5)
- Май 2018 (3)
- Апрель 2018 (7)
- Март 2018 (1)
- Февраль 2018 (2)
- Январь 2018 (2)
- +2017 (19)
- Декабрь 2017 (2)
- Ноябрь 2017 (1)
- Октябрь 2017 (1)
- Сентябрь 2017 (2)
- Июль 2017 (1)
- Июнь 2017 (1)
- Май 2017 (2)
- Апрель 2017 (3)
- Март 2017 (2)
- Февраль 2017 (1)
- Январь 2017 (3)
- +2016 (36)
- Декабрь 2016 (3)
- Ноябрь 2016 (3)
- Октябрь 2016 (2)
- Сентябрь 2016 (3)
- Август 2016 (7)
- Июнь 2016 (3)
- Май 2016 (3)
- Апрель 2016 (3)
- Февраль 2016 (1)
- Январь 2016 (8)
- +2015 (36)
- Ноябрь 2015 (5)
- Октябрь 2015 (4)
- Сентябрь 2015 (1)
- Август 2015 (8)
- Июнь 2015 (1)
- Май 2015 (4)
- Апрель 2015 (8)
- Март 2015 (3)
- Февраль 2015 (2)
- +2014 (26)
- Ноябрь 2014 (2)
- Октябрь 2014 (5)
- Сентябрь 2014 (6)
- Июль 2014 (1)
- Июнь 2014 (2)
- Май 2014 (3)
- Апрель 2014 (6)
- Февраль 2014 (1)
- +2013 (27)
- Декабрь 2013 (2)
- Ноябрь 2013 (1)
- Октябрь 2013 (1)
- Август 2013 (1)
- Июль 2013 (3)
- Июнь 2013 (10)
- Май 2013 (1)
- Апрель 2013 (2)
- Февраль 2013 (3)
- Январь 2013 (3)
- +2012 (41)
- Декабрь 2012 (2)
- Ноябрь 2012 (3)
- Октябрь 2012 (7)
- Сентябрь 2012 (2)
- Август 2012 (1)
- Июль 2012 (3)
- Июнь 2012 (2)
- Май 2012 (6)
- Апрель 2012 (2)
- Март 2012 (7)
- Февраль 2012 (5)
- Январь 2012 (1)
- +2011 (57)
- Декабрь 2011 (6)
- Ноябрь 2011 (2)
- Октябрь 2011 (3)
- Сентябрь 2011 (5)
- Август 2011 (4)
- Июль 2011 (3)
- Июнь 2011 (3)
- Май 2011 (3)
- Апрель 2011 (4)
- Март 2011 (10)
- Февраль 2011 (5)
- Январь 2011 (9)
- +2010 (43)
- Декабрь 2010 (7)
- Ноябрь 2010 (21)
- Октябрь 2010 (14)
- Сентябрь 2010 (1)
Свежие записи
- Как добавить алиас сетевого интерфейса в Centos 7 (Linux) 23.09.2024
- Вывести в меню индикатор новых новостей и статей на сайте Тильда 28.08.2024
- Свой сетевой диск для iPhone — поднимаем Samba на Centos 27.08.2024
- Бекап, сохранение и восстановление БД MySQL 21.08.2024
- Авторизация SSH с помощью ключа в Putty 20.08.2024