Настройка Data Storage (Albato Storage) в связке с amoCRM и Битрикс24
В данной инструкции мы рассмотрим пример интеграции двух CRM-систем (связка ID сущностей из двух разных систем) с использованием Albato Storage.
Прежде чем создавать связки, необходимо подключить сервисы к Albato:
Как подключить amoCRM к Albato.
Подключение Битрикс24 к Albato.
Как подключить Albato Storage.
Связка amoCRM — Битрикс24 — Albato Storage
Сначала установите триггер откуда будем забирать данные — это может быть, например, новая сделка или контакт. Затем подключите сервис, куда будут направляться данные.
Например: если из amoCRM поступила новая сделка, следующим шагом будет создание соответствующей записи в Битрикс24.

Далее добавьте шаг Data Storage с действием «Добавить/обновить значение по ключу«.

Здесь мы используем в качестве ключа ID из нашей первой системы, amoCRM (представьте, что это столбец «А» в таблице). Созданную нами переменную externalCrmId заполним ID сделки, созданного в Битрикс24.

Готово! Наша связка выглядит так:

Связка amoCRM — Data Storage — Битрикс24
Теперь создаем вторую связку, которая будет отслеживать обновления сделок из amoCRM и обновлять соответствующую сделку в Битрикс24, используя доступные ID.
В этой связке первым делом добавляем триггер на обновление для получения данных, в нашем случае — из amoCRM.

Затем, в качестве второго шага, добавляем сам Data Storage с действием поиска.

И в поле «Ключ«, по которому будет производиться поиск, вводим ID контакта из amoCRM.

И третьим шагом добавляем действие «Обновление сделки» в Битрикс24.

Теперь в поле «ID сущности» мы указываем значение из хранилища, а именно externalCrmId.

Затем указываем какие поля необходимо обновлять в Битрикс24. Так мы настроили интеграцию между двумя системами, используя внутреннее хранилище для связывания сущностей и обеспечивая удобное обновление данных.
Также, в эту вторую связку можно интегрировать инструмент «Роутер«, который проверит наличие записи в Storage. Если запись отсутствует (поле externalCrmId пусто), будет вызван метод создания сделки в Битрикс24, за которым последует действие в Storage по добавлению ключа. В противном случае процесс продолжится с шага обновления.
Пример связки:

Другие действия в Data Storage

Вы также можете использовать такие действия, как «Удалить значение счётчика по ключу». Данное действие используется, если нам нужна разовая выгрузка. Например, мы сохранили что-то, а потом, при нахождении, нам нужно удалить эту запись. В таком случае действие добавляется в конец связки.
Действие «Добавить/обновить значение по ключу» может не только создавать, но и обновлять запись. Это действует всегда по ключу (столбец «А»). То есть если мы передаем в это действие в поле ключ значение, которое уже есть в нашем хранилище в виде записи, то все остальные поля лишь обновят эту запись, а не создадут новый дубликат.
Остальные действия «Счётчика по ключу» функционируют аналогично. Однако это не запись в таблице, где мы создаем «строку» в нашем хранилище и заполняем поля, а скорее счётчик, отслеживающий, сколько раз был вызван определённый ключ. Мы можем также добавить или обновить состояние счётчика (прибавить +1), получить текущее значение счётчика у ключа или же удалить (фактически очистить) счётчик этого ключа.

Триггеры Data Storage
Также у Storage есть триггеры.

Они инициируют запуск связки. В целом, логика работы довольно проста: мы реагируем в определенной связке, когда в нашем хранилище появляются новые записи.
Триггеры работают согласно следующему сценарию:
- Новые строки (пакетно): Этот триггер собирает все новые строки и передает их один раз с помощью «Строковых секций». Применяется для пакетной передачи данных, как во втором описанном кейсе.
- Новая строка: Активируется при создании каждой новой записи в хранилище.
- Строка обновлена: Срабатывает при каждом обновлении записи в хранилище.