Rate this page:

Хелперы

Хелперы – это специальные шаблоны действий, которые позволяют изменить переменные, например, преобразовать строку в массив, или выполнить дополнительную проверку данных, например, проверить рабочие часы.

Хелпер необходимо прописать в блоке Изменение данных. Для этого нужно создать переменную или модифицировать существующую. В качестве объектов изменения можно использовать как переменные, так и простые значения. При записи значений необходимо использовать одинарные кавычки.

Список хелперов:

Copy URL

CEIL

Copy URL

Округляет число в большую сторону (до целого).

Примечание

Числа более 20 разрядов, с экспонентой или строки будут показывать ошибку.

Формат записи: {{CEIL variable}}

Пример, где переменная test = 2.344:

{{CEIL 5.344}} >>> 6
{{CEIL test}} >>> 3
{{CEIL -1.1}} >>> -1

FLOOR

Copy URL

Округляет число в меньшую сторону (до целого).

Примечание

Числа более 20 разрядов, с экспонентой или строки будут показывать ошибку.

Формат записи: {{FLOOR variable}}

Пример, где переменная test = 2.344:

{{FLOOR 5.344}} >>> 5
{{FLOOR test}} >>> 2
{{FLOOR -1.1}} >>> -2

CHECK_HOURS

Copy URL

Проверяет, входит ли текущее время в указанный промежуток. Можно использовать для регуляции времени совершения звонков/переадресаций и т п. Для корректной работы рекомендуется использовать в комбинации с блоком Проверка данных.

Примечание

Числа более 20 разрядов, с экспонентой или строки будут показывать ошибку.

Формат записи: {{CHECK_HOURS from to timezone type}}, где:

  • From – время начала интервала (нижний порог)

  • To – время конца интервала (верхний порог)

  • Timezone – часовой пояс

  • Type – тип дня недели (опции: all – все дни недели, weekdays – будние дни, weekends – выходные)

Переменная с хелпером CHECK_HOURS может принимать значения 1 или 0.

Пример:

{{CHECK_HOURS '09:30''19:30''+3''weekdays'}} >>> 1 or 0

В данном примере переменная в будние дни с 9:30 утра до 19:30 вечера (по часовому поясу +3) будет принимать значение 1. В остальных случаях она будет принимать значение 0.

COMPARE

Copy URL

Сравнивает значение двух значений/переменных. Возможно использование следующих операторов сравнения:

  • '==' - равно

  • '!=' – не равно

  • '>' - больше

  • '<' - меньше

  • '<=' – меньше либо равно

  • '>=' – больше либо равно

  • '&&' - или

  • '||' - и

Важно

Хелпер может выполнять только одно сравнение за раз.

Формат записи: {{#COMPARE v1 operator v2}} if_true {{else}} if_false {{/COMPARE}}, где:

  • V1 – что сравнивается

  • Operator – оператор

  • V2 – с чем сравнивается

  • If_true – вместо этого нужно записать ответ, который выйдет при выполнении условия

  • If_false – вместо этого нужно записать ответ, который выйдет при невыполненном условии

Необходимо явно указывать значения, которые возвращаются при выполнении сравнения (например, 'yes', если условие сравнения выполняется, и 'no' для других случаев).

Пример:

{{#COMPAREorder_found\'==\'\'yes\'}} order found {{else}} order not found {{/COMPARE}} >>> order found

CALC

Copy URL

Выполняет математические действия: сложение, вычитание, умножение, деление (осуществляется через символ '/'), возведение в степень (через символ '^') и остаток от деления (через символ '%'). Также присутствуют тригонометрические функции – sin, cos и tan.

Формат записи: {{#CALC}} equations {{/CALC}}

Переменные внутри хелпера необходимо указывать в двойных фигурных скобках.

Важно

Хелпер не может выполнить несколько вычислительных действий в одной записи. Действия необходимо разбивать на разные переменные.

Пример, где переменная price=10:

{{#CALC}} '+' {{price}} * 5'+'{{/CALC}} >>> 50

DATE_CONVERT

Copy URL

Выполняет преобразование даты из одного формата в другой.

Примечание

В Voximplant Kit нет предписанных переменных, где содержится дата в каком-то формате. Ее нужно завести изначально вручную или взять из внешних источников.

Формат записи: {{DATE_CONVERT date old_format new_format}}

Доступные форматы дат с примерами отображения:

Новый формат

Результат

MM/DD/YY

01/23/18

MM/DD/YYYY

01/23/2018

YY.MM.DD

18.01.23

DD/MM/YY

23/01/18

DD/MM/YYYY

23/01/2018

DD.MM.YY

23.01.18

DD.MM.YYYY

23.01.2018

DD-MM-YY

23-01-18

DD-MM-YYYY

23-01-2018

HH:mm:SS

12:00:00

MM-DD-YY

01-23-18

MM-DD-YYYY

01-23-2018

YY/MM/DD

18/01/23

YYYY/MM/DD

2018/01/23

YYMMDD

180123

YYYYMMDD

20180123

DD MMM

23 Mar

DD MMMM

23 March

DD MMMM YYYY

23 March 2018

DD MMMM YY

23 March 18

dddd, MMMM D, YYYY

Friday, March 23, 2018

HH:mm:ss.SSS

13:20:00.000

M/D/YY

3/23/18

MMM D, YYYY

Mar 23, 2018

MMMM D, YYYY

March 23, 2018

HH:mm:ss YY/MM/DD

12:00:00 18/03/23

Пример, где исходная дата: 12:00 23.01.2018, исходный формат: HH:mm DD.MM.YYYY:

{{DATE_CONVERTorder_data\'HH:mm DD.MM.YYYY\'\'DD/MM/YYY\'}} >>> 25/12/2019

PLUCK

Copy URL

Создает новый массив из значений старого массива на основе ключа.

Формат записи: {{PLUCK array key value}}

Пример, где переменная array_sample = [{"id": 1, "value": "q"}, {"id": 2, "value": "w"}, {"id": 3, "value": "e"}]:

{{PLUCK array_sample 'id'}} >>> [1,2,3]

FILTERBY

Copy URL

Фильтрует данные массива по указанному параметру и его значению. Возвращается новый массив данных; исходные данные не меняются.

Формат записи: {{FILTERBY array key value}}

Пример, где переменная array_sample = [{"id": 1, "value": "q"}, {"id": 2, "value": "w"}, {"id": 1, "value": "e"}]:

{{FILTERBY array_sample 'id' 1}} >>> [{"id":1,"value":"q"},{"id":1,"value":"e"}]

FINDBY

Copy URL

Выдает первый элемент массива, удовлетворяющий заданному условию.

Формат записи: {{FINDBY array key value}}

Пример, где переменная array_sample = [{"id": 1, "value": "q"}, {"id": 2, "value": "w"}, {"id": 3, "value": "e"}]:

{{FINDBY array_sample 'id' 1}} >>> {"id": 1, "value": "q"}

JOIN

Copy URL

Преобразует массив в строку с указанным разделителем.

Формат записи: {{JOIN array separator}}

Пример, где переменная test = ["summer","autumn","winter","spring"]:

{{JOIN test '|'}} >>> summer|autumn|winter|spring

LENGTH

Copy URL

Отображает длину строки/массива.

Формат записи: {{LENGTH str}}

Информация

Массивы со значениями в одинарных кавычках ['1', '2', '3'] будут подсчитываться как строка.

Пример, где переменная test_str = 'text example'; variable test_array = ["apple", "banana", "carrot", "coconut"]; variable test_obj = {"key1": 1, "key2": 2, "key3": 3}:

{{LENGTH test_str}} >>> 12
{{LENGTH test_array}} >>> 4
{{LENGTH test_obj}} >>> 3 (number of keys)

LOWERCASE

Copy URL

Преобразует строку в нижний регистр.

Формат записи: {{LOWERCASE str}}

Пример, где переменная test = 'WONDERFUL order':

{{LOWERCASE test}} >>> wonderful order

UPPERCASE

Copy URL

Преобразует строку в верхний регистр.

Формат записи: {{UPPERCASE str}}

Пример, где переменная test = 'WONDERFUL order':

{{UPPERCASE test}} >>> WONDERFUL ORDER

PHONE_FORMAT

Copy URL

Убирает из строки любые символы, кроме цифр.

Формат записи: {{PHONE_FORMAT str}}

Пример, где переменная test = '+1-474 000 00-00':

{{PHONE_FORMAT test}} >>> 14740000000

REPLACE

Copy URL

Заменяет одно значение другим в указанной строке.

Формат записи: {{REPLACE str A B}}

Примечание

Если какие-то заменяемые значения повторяются, то они будут заменены все. Например, при замене 'John' на 'Jack' в переменной, где содержится 'John Johnson', получится 'Jack Jackson'.

Пример, где переменная test = 'John':

{{REPLACE 'Hello, my name is NAME''NAME'test}} >>> Hello, my name is John

REVERSE

Copy URL

Располагает значение строки/массива в обратном порядке.

Формат записи: {{REVERSE variable}}

Пример, где переменная test_str = 'Some text'; переменная test_arr = [1,2,3,4,5]:

{{REVERSE test_str}} >>> txet emoS
{{REVERSE test_arr}} >>> [5,4,3,2,1]

SORT

Copy URL

Сортирует значения массива по возрастанию. Сначала сортируются цифры, затем буквы.

Формат записи: {{SORT array}}

Информация

Для сортировки по убыванию можно использовать запись {{SORT array reverse=1}}.

Пример, где переменная test_array = ['banana', 'apple', 'coconut', 'carrot']:

{{SORT test_array}} >>> ["apple","banana","carrot","coconut"]
{{SORT test_array reverse=1}} >>> ["coconut","carrot","banana","apple"]

SORTBY

Copy URL

Сортирует значения массива по указанному аргументу. Сортировка производится по возрастанию. Аналогично с SORT можно использовать опцию reverse=1 для сортировки по убыванию.

Формат записи: {{SORTBY array key}}

Пример, где переменная array_sample = [{"id": 1, "value": "z"}, {"id": 2, "value": "a"}, {"id": 1, "value": "x"}]:

{{SORTBY array_sample 'value'}} >>> [{"id":2,"value":"a"},{"id":1,"value":"x"},{"id":1,"value":"z"}]

SPLIT

Copy URL

Преобразует строку в массив с указанием разделителя.

Формат записи: {{SPLIT str separator}}

Пример, где переменная test = 'summer;autumn;winter;spring':

{{SPLIT test';'}} >>> ["summer","autumn","winter","spring"]

SUBSTRING

Copy URL

Обрезает строку с указанием начального и конечного индекса (опционально).

Формат записи: {{SUBSTRING start end}}

Пример, где переменная someString = 'some string', обрезать с 0 по 4 символ:

{{SUBSTRING someString 0 4}} >>> some

Пример, где переменная someString = 'some string', обрезать, начиная с 4 символа:

{{SUBSTRING someString 5 undefined}} >>> string

CURRENT_DATE

Copy URL

Возвращает текущую дату и время в формате YYYY-MM-DD hh:mm:ss с возможностью указания часового пояса (без указания часового пояса возвращает дату и время по часовому поясу аккаунта).

Формат записи: {{CURRENT_DATE timezone}}

Пример, где timezone = 3:

{{CURRENT_DATE 3}} >>> текущие дата и время по GMT+3

Пример, где timezone не указана:

{{CURRENT_DATE undefined}} >>> текущие дата и время в часовом поясе аккаунта