Содержание
Синхронизируем меню ресторана 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 часов вечера