Инструмент «Объединение строк»
Инструкция по работе с инструментом «Объединение строк»
Инструмент «Объединение строк» позволяет объединить «строковую секцию» (массив объектов) из одного шага со «строковой секцией» другого шага в один массив.
В инструкции по склейке строк мы определили, что такое «строки» в понятии Albato. Теперь появился инструмент, который расширяет возможности работы со «строками» в случае, если они у вас есть в двух шагах, и нужно отдать объединение в третий шаг.
Пример использования инструмента «Объединение строк»
Разберем применение инструмента на примере связки «AliExpress — МойСклад».
В CRM-системе «МойСклад» при создании нового документа «Заказ покупателя» во время добавления позиций товаров к этому заказу нужно обязательно указывать внутренний UUID этого товара. При получении заказа из AliExpress нам отдают только внутренний ID товара из самого AliExpress и его SKU код. Вы можете сделать SKU код равным UUID товара в «МойСклад», но это очень неудобно и нелогично.
Как правило, сопоставления происходят либо по артикулу товара, либо по внешнему коду. Мы создали для «МойСклад» действие, которое позволяет создать или найти товар в «МойСклад» по артикулу или коду. При получении заказа из AliExpress в «МойСклад» начинается поиск товаров, у которых артикул/код/внешний код равен SKU. Как ответ нам возвращаются «строки» найденных товаров с их внутренними UUID, которые мы можем передать в заказ.
Тут есть проблема: у нас есть «строки» нашего триггера от AliExpress и «строки» нашего действия, которое нашло в «МойСклад» нужные нам товары. Теперь надо как-то объединить между собой два этих массива данных перед созданием заказа, так как мы хотим количество товара передать от AliExpress, а ID товара прислать тот, что нам отдал в ответ «МойСклад».
Для такого объединения и последующей правильной передачи данных был создан инструмент «Объединение строк». Он позволяет взять два массива от триггера AliExpress и действия «МойСклад» и объединить их в один массив, сопоставив объекты внутри массива по какому-либо значению, например, снова по SKU и артикулу.
Таким образом можно создать заказ с данными товаров от AliExpress и UUID, полученными от поиска товара в «МойСклад».
Настройка инструмента «Объединение строк»
Теперь рассмотрим непосредственно сам инструмент и его настройку. Создание самой связки мы в рамках этой инструкции рассматривать не будем.
Добавьте инструмент после тех шагов, где есть нужные вам для объединения «строки», нажмите на «+» и выберите «Инструмент»:
Выберите инструмент «Объединение строк»:
Выберите первый ваш шаг, откуда будете брать «строки». В данном случае это триггер от AliExpress:
Выберите второй шаг, откуда будете брать «строки». В примере это действие системы «МойСклад»:
Зайдите в настройки инструмента:
Выберите, что нужно делать инструменту при отсутствии пары, то есть в случае, когда вы не смогли сопоставить две «строки» от двух шагов. Например, если «Шаг 2» не нашел нужный товар, можно пропустить данный объект, заполнить его пустоты или выкинуть ошибку (в данном случае, связка останавливается).
Также выберите сценарий, если удалось найти несколько пар объектов. Например, вы искали в «МойСклад» товары по названию и удалось найти два таких товара. Тут можно пропустить объект, использовать первый найденный, продублировать (если от AliExpress пришел один товар, а в «МойСклад» нашли два товара, инструмент отдаст две отдельные позиции товаров) или выкинуть ошибку:
Нажмите «Добавить условие» и выберите, по каким параметрам от первой и второй строковой секции нужно сопоставлять объекты:
Допустим, вы хотите сопоставить товары от AliExpress с найденными товарами в «МойСклад» по SKU от AliExpress и по артикулу (так как ранее искали именно по ним). Для этого настройте инструмент следующим образом:
Вы также можете комбинировать и добавлять несколько условий, по которым нужно находить пару.
После настроек инструмента нажмите «Сохранить».
Теперь, если открыть настройки следующих шагов, в полях «Строковой секции» вам доступен выбор из результатов инструмента. Вы можете выбрать поля как из первого шага, так и из второго:
Это даст вам возможность шире использовать «строки» (массив объектов) в Albato.
Инструмент «Объединение строк» можно использовать и с другими системами, которые присылают строки. Настройка самого шага выполняется идентично.