Настройка Albato Storage в связке с amoCRM и Битрикс24
В данной инструкции мы рассмотрим пример интеграции двух CRM-систем (связка ID сущностей из двух разных систем) с использованием Albato Storage.
Прежде чем создавать связки, необходимо подключить сервисы к Albato:
Как подключить amoCRM к Albato.
Подключение Битрикс24 к Albato.
Как подключить Albato Storage.
Связка amoCRM – Битрикс24 – Albato Storage
Сначала установите триггер откуда будем забирать данные — это может быть, например, новая сделка или контакт. Затем подключите сервис, куда будут направляться данные.
Например: если из amoCRM поступила новая сделка, следующим шагом будет создание соответствующей записи в Битрикс24.
Далее добавьте шаг Albato Storage с действием “Добавить/обновить значение“.
Здесь мы используем в качестве ключа ID из нашей первой системы, amoCRM (представьте, что это столбец “А” в таблице). Созданную нами переменную externalCrmId заполним ID сделки, созданного в Битрикс24.
Готово! Наша связка выглядит так:
Связка amoCRM – Albato Storage – Битрикс24
Теперь создаем вторую связку, которая будет отслеживать обновления сделок из amoCRM и обновлять соответствующую сделку в Битрикс24, используя доступные ID.
В этой связке первым делом добавляем триггер на обновление для получения данных, в нашем случае — из amoCRM.
Затем, в качестве второго шага, добавляем сам Albato Storage с действием поиска.
И в поле “Ключ“, по которому будет производиться поиск, вводим ID контакта из amoCRM.
И третьим шагом добавляем действие “Обновление сделки” в Битрикс24.
Теперь в поле “ID сущности” мы указываем значение из хранилища, а именно externalCrmId.
Затем указываем какие поля необходимо обновлять в Битрикс24. Так мы настроили интеграцию между двумя системами, используя внутреннее хранилище для связывания сущностей и обеспечивая удобное обновление данных.
Также, в эту вторую связку можно интегрировать инструмент “Роутер“, который проверит наличие записи в Storage. Если запись отсутствует (поле externalCrmId
пусто), будет вызван метод создания сделки в Битрикс24, за которым последует действие в Storage по добавлению ключа. В противном случае процесс продолжится с шага обновления.
Пример связки:
Другие действия в Albato Storage
Вы также можете использовать такие действия, как “Удаление ключа“. Данное действие используется, если нам нужна разовая выгрузка. Например, мы сохранили что-то, а потом, при нахождении, нам нужно удалить эту запись. В таком случае действие добавляется в конец связки.
Действие “Создать/обновить значение” может не только создавать, но и обновлять запись. Это действует всегда по ключу (столбец “А”). То есть если мы передаем в это действие в поле ключ значение, которое уже есть в нашем хранилище в виде записи, то все остальные поля лишь обновят эту запись, а не создадут новый дубликат.
Остальные действия “Счётчик по ключу” функционируют аналогично. Однако это не запись в таблице, где мы создаем “строку” в нашем хранилище и заполняем поля, а скорее счётчик, отслеживающий, сколько раз был вызван определённый ключ. Мы можем также добавить или обновить состояние счётчика (прибавить +1), получить текущее значение счётчика у ключа или же удалить (фактически очистить) счётчик этого ключа.
Триггеры Albato Storage
Также у Storage есть триггеры.
Они инициируют запуск связки. В целом, логика работы довольно проста: мы реагируем в определенной связке, когда в нашем хранилище появляются новые записи.
Триггеры работают согласно следующему сценарию:
- Новые строки (пакетно): Этот триггер собирает все новые строки и передает их один раз с помощью “Строковых секций”. Применяется для пакетной передачи данных, как во втором описанном кейсе.
- Новая строка: Активируется при создании каждой новой записи в хранилище.
- Строка обновлена: Срабатывает при каждом обновлении записи в хранилище.