Синхронизируем меню ресторана iiko с товарами amoCRM


Синхронизируем меню ресторана iiko с товарами amoCRM

В данной статье рассмотрим, как можно синхронизировать меню из iiko с товарами в amoCRM по расписанию. Процесс будет запускаться в определенный период времени, получать товары из ресторана iiko, затем создавать или обновлять их в amoCRM

Подключение сервиса iiko в MoreKit

Для начала необходимо подключить сервис iiko в MoreKit, для этого добавим новый сервис. Добавляем новый сервис.

Далее потребуется API ключ от iiko, подробнее о том, как получить API ключ можно узнать здесь

Вставляем API-ключ и нажимаем Добавить, если все сделано правильно, iiko добавится в список сервисов

Подключение сервиса amocrm в MoreKit

Далее необходимо добавить amoCRM. Добавляем сервис по аналогии, после нажатия на кнопку Добавить произойдет перенаправление на страницу amoCRM, нажимаем Разрешить

Оба сервиса подключены и отображаются в списке сервисов, можно приступить к выстраиванию блок-схемы

Создание процессов в Morekit

Процесс с типом «По расписанию»

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

В первоначальном блоке выставляем интервал времени, в который процесс автоматически запустится. В примере документации запуск будет происходить каждый день в 6ч утра и 19ч вечера

Далее в левой части процесса выносим блок из iiko Получить меню, соединяем с первоначальным блоком. При нажатии на поле организации — выпадет список организаций, выбираем нужную. Номер ревизии оставляем 0 — выгрузка будет с самого начала

Далее выносим блок Запустить подпроцесс. В поле Данные необходимо передать массив продуктов, который получим из iiko. MoreKit автоматически разобьет массив по элементам и отправит на подпроцесс каждый элемент. В поле Процесс отображается список созданных подпроцессов в текущем проекте MoreKit, но пока что там ничего не будет, так как мы еще не создавали подпроцесс. Сохраняем схему и идем его создавать !

Процесс с типом Подпроцесс

Возвращаемся на главную страницу проекта и создаем подпроцесс, который будет передавать данные из меню в amoCRM

Схема подпроцесса будет следующая:

Описание блоков подпроцесса

#1 Найти элемент каталога — проверяем, есть ли товар с данным id в amoCRM, чтобы не создавать дубли товаров. В случае — если товар нашелся, данный товар будет обновлять

#3 Обновить элемент каталога — если товар нашелся в amoCRM, обновляем артикул товара

#6 Обновить элемент каталога — обновляем цену по товару на актуальную из iiko

#2 Создать элемент каталога — если товар не был найден, создаем товар в amoCRM. Заполняем цену, артикул и самое главное — External ID, так как поиск уже существующих товаров выполняется по данному полю (Внешний ID товара)

Активация подпроцесса

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

После сохранения подпроцесса он отобразится в поле Процесс в блоке Запустить подпроцесс, выбираем его и сохраняем схему

Тестирование схемы

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

Как только перешли по ссылке — процесс запустится

В меню присутствует 2 позиции, видим всего 3 события. Одно из них — запуск процесса по расписанию, еще два события — запуск подпроцесса по каждому товару

Заходим в amoCRM, смотрим результат в товарах

Характеристики товара:

Поле External ID является системным в сущности товаров, его мы не увидим, но если запустить процесс еще раз — повторно товары не создадутся, так как MoreKit уже найдет их в системе и обновит на актуальные значения из iiko

Подводим итоги

В данной статье рассмотрели возможность передачи позиций из меню iiko в товары в amoCRM. Теперь при обновлении или добавлении позиций в iiko будет происходить синхронизация данных между меню ресторана и товарами amoCRM в 6 часов утра и 19 часов вечера