Инструмент «Склейка элементов строковой секции»
В Albato появился новый инструмент, который позволяет склеивать «строки» в одну переменную, с заданным форматом и разделителям между «строками». Давайте разберемся, что это за инструмент и как с ним работать.
Что такое «Строковая секция»
«Строковая секция» — это массив объектов [ ]. Если говорить более простым языком, это неограниченный набор данных внутри какой-либо сущности.
Например, у вас есть сделка в CRM-системе: «Битрикс24», «МойСклад», retailCRM или любой другой, работающей с товарами. У сделки есть позиции товаров. Представьте, что в Альбато приходит одна сделка, но у нее при этом может быть неограниченное количество товаров: как ноль позиций, так и сто и более. У каждой позиции — свои одинаковые поля: название, количество, стоимость и прочее. Все эти поля приходят одним массивом. Каждая такая позиция товара и называется «Строковая секция», а все вместе они — «Строковая секция». То же самое касается заказов с товарами, например из Tilda, WooCommerce или Ecwid.
Так как заранее никогда неизвестно, сколько в таком массиве придет данных, то мы не можем передать товары в обычные поля. Дело в том, что обычное поле ждет в себя строго одно значение, а товаров может прийти несколько. Соответственно, если сервис присылает такие данные «Строковой секцией», то мы можем их передать только туда, где сервис точно так же ожидает «Строковую секцию», то есть такой же массив объектов.
Смотрите, если пришёл заказ из WooCommerce с товарами, мы можем создать сделку в «Битрикс24» с этими же товарами, потому что WooCommerce присылает «Строковые секции» и «Битрикс24» может получить «Строковые секции». Когда всё работает так, любое количество позиций передается без каких либо проблем. Расходы из соцсетей тоже приходят «Строковой секцией», так как никогда заранее неизвестно, сколько к нам в ответ придет кампаний или объявлений. Их может быть 2–3, а могут прийти сотни. У каждой кампании одинаковый набор полей, соответственно, их нужно передавать туда, где сервис готов в себя принять эти «Строковые секции».
В чем проблема и как ее решает «Склейка элементов строковой секции»
Но что делать, если вы хотите передать «Строковые секции», то есть, состав заказа с сайта или все товары со сделки, а также расходы из соцсетей в одно поле? Например, в систему, которая не поддерживает товары, типа Trello? Или отправить это по электронной почте? Или передать сообщение себе в Telegram о том, что появился новый заказ в WooCommerce вот в таком составе?
Сейчас мы запрещаем использовать «строковые» переменные в обычных полях, так как простое поле ждет строго одно значение. Оно не сможет принять неограниченное количество данных, соответственно, в связке при попытке заполнить обычные поля «строковые» переменные не видны. Они появляются только при попытке заполнить «строковые» поля.
Для этих целей и появился инструмент «Склейка элементов строковой секции». Он позволяет получить любое количество данных из массива и склеить их между собой в одну большую переменную, а уже одну переменную вы сможете передать в любое поле.
В инструменте вы выбираете символ разделитель между «Строковыми секциями» — то есть, между каждой позицией товара или, в случае расходов, между кампаниями. Разделитель может быть любым: просто пробел, символ «+» или обычный перенос строки. Также создаете формат каждой такой «Строковой секции», подставляя нужные переменные с текстом. Как пример, на выходе получается такой текст:
Название товара: Товар1, Количество товара: 5, Цена товара: 300 + Название товара: Товар2, Количество товара: 3, Цена товара: 100
В результате это всё превратится в одну переменную, которая будет помещена большим текстом в одном поле.
Примеры использования инструмента
- Передать заказ из WooCommerce в CRM Trello. Весь состав заказа можно склеить и передать в одно поле, например в комментарий или в пользовательское поле.
- Передать расходы из рекламных кабинетов на почту или в Telegram, склеив все параметры в одну переменную. Ее можно будет уже передать простым текстом.
- Передать товары сделки из одной CRM в другую, которая не работает с товарами. Либо если вы не хотите использовать в своей CRM системе функцию товаров, и вам просто нужно поместить весь состав в одно поле.
- Передать заказ с сайта себе в телеграмм вместе с составом самого заказа (товарами).
- Отправить запрос к YClients, чтобы узнать свободные даты или время определенного сотрудника. В ответ приходят данные также «Строковыми секциями», которые можно склеить и передать обратно в чат-бот.
В целом, примеры не ограничиваются одним лишь WooCommerce, Trello и расходами. Вариантов может быть масса, инструмент подойдет к любым сайтам или CRM-системам, которые работают с товарами.
Настройка инструмента «Склейка элементов строковой секции»
Теперь рассмотрим непосредственно сам инструмент и его настройку. Например, вы хотите передать в Telegram заказ из WooCommerce вместе с товарами из корзины. Для этого перед нужным шагом добавьте инструмент склейки строк: нажмите «+» и выберите пункт «Инструмент»:
Выберите из списка инструмент «Склейка элементов строковой секции»:
Задайте название для вашей переменной, в которую будут склеены строки:
Выберите нужный вам диапазон склейки — склеить все строки или только первую и последнюю, убрав все, что посередине:
В поле «Разделитель» поставьте нужные вам символы, которые будут разделять между собой разные строки. Можно поставить пробел или нажать enter для переноса строки. Либо указать любой удобный вам символ, например, двоеточие или точку с запятой.
В данном примере между строками сначала будет перенос строки, затем черточка-разделитель и еще один перенос строки.
В поле «Элемент строковой секции» составьте нужный вам формат текста, подставив подходящие переменные строк. Не забывайте про пробелы и перенос строки:
Пример заполнения:
После настройки всех полей нажмите «Сохранить».
После настройки инструмента откройте настройки нужного вам шага, куда вы собирались передать склейку строк:
В списке, помимо данных от WooCommerce, появится возможность выбрать параметры от инструмента. Для этого укажите название переменной, которое вы задали в настройках самого инструмента.
Осталось сформировать текст для отправки в Telegram вместе с составом заказа. Пример заполнения:
После заполнения нажмите «Сохранить».
Готово! Теперь можно запускать связку и тестировать.
В Telegram придет текст такого вида, включая все заданные вами переменные (например тут, мы добавили дополнительные данные о цене товара, ID и т.д.)
Инструмент «Склейка элементов строковой секции» вы также сможете использовать с другими системами, которые присылают строки, и передавать эти строки в любые доступные поля. Самое главное, чтобы у поля не было лимита на количество символов. Настройка самого шага будет происходить идентично.