Переменные

На текущий момент переменные можно указать:

  1. В ресурсе https://ringme-confluence.atlassian.net/wiki/spaces/Ringme/pages/1901921362

  2. В https://ringme-confluence.atlassian.net/wiki/spaces/Ringme/pages/1901920955 для использования в правилах опций контекста: transfer_variable, match_variable_name, match_variable_value, play_digits_variable, play_sound_from_variable

  3. Заблаговременно задать связку переменная- значение в ресурсе /variables/

 

Статические переменные в клиенте /variables/

Ресурс предназначен для заблаговременного указания и дальнейшего использования переменных.

Описание структур данных

Имя

Тип

Обязательный

Описание

Имя

Тип

Обязательный

Описание

var

string

да

Имя переменной

value

string

да

Значение переменной

Пример

Добавить переменные:

  • ext_id = 34535

  • caller_id_name = Ivan

Затем при запросе на callback эти variables можно использовать вместо параметров запроса через:

  1. “@{VAR_NAME}” , если это extension_id в url запроса

  2. “$cv({VAR_NAME})” , если это параметр в теле запроса

Пример тела callback с статическими variables:

{"caller_id_name": "$cv(caller_id_name)","dst_num": "000116644","src_num": ["341"]}

Ресурсы раздела “Клиент”

POST /client/{client_id}/variables/

Добавить переменные

Параметры URL

Имя

Тип

Имя

Тип

client_id

string

 

Параметры JSON

Имя

Тип

Обязательный

Имя

Тип

Обязательный

variables

list

да

 

GET /client/{client_id}/variables/

Получить переменные

Параметры URL

Имя

Тип

Имя

Тип

client_id

string

 

 

Динамические переменные, переданные при инициации вызова callback

Эти переменные, заданные при инициации вызова (/callback/) можно будет использовать:

  1. В правилах ivr для check varaible, либо другом правиле IVR: match_variable_name, match_variable_value, play_digits_variable, play_sound_from_variable. Подробнее о правилах IVR тут: https://ringme-confluence.atlassian.net/wiki/spaces/Ringme/pages/1901920955 .

  2. Получить эту переменную в запросе (в call interactive переданный variable будет всегда с префиксом cb_variable_ во избежание затирания стандартных параметров call_interactive)

Также, через variables можно указать предопределенные переменные:
Автоответ через x сек указав в переменных

Имя

Значение

Описание переменной

Имя

Значение

Описание переменной

autoanswer

autoanswer_src

autoanswer_dst

int в диапазоне от 0 до 300

"autoanswer": "4" добавит sip-заголовок Call-Info на src и dst:

Call-Info: <sip:anonymous@anonymous.invalid>;answer-after=4

autoanswer_src - добавит только в src заголовок, autoanswer_dst - только в dst

При получении заголовка Call-Info: <sip:anonymous@anonymous.invalid>;answer-after=X некоторое оборудование снимает трубку автоматически через Х секунд

answering_machine

строка, которая интерпретируется как boolean тип

Если переменная задана и вызов попадет в ivr, где будет действие “play sound” , то будет считаться, что на вызов был ответ (bridged = yes).

В случае “answering_machine”=”false” переменная будет проигнорирована.

tag

string

Данный параметр будет передан в событиях на протяжении всего звонка, как Tag. Например, если определенные звонки необходимо отслеживать, то можно задать tag (например, игнорировать определенные звонки в интеграции, если в событии пришел определенный tag)

disable_mail_notification

строка, которая интерпретируется как boolean тип

Если переменная задана, вызов попал в ivr и вызов пропущен, то будет считаться, что запрещено отправлять уведомление на почту об этом пропущенном вызове.

В случае “disable_mail_notification”=”false” переменная будет проигнорирована.

Пример использования callback с variables:

{ "dst_num": "000116644", "src_num": [ "341" ], "variables": {"autoanswer": "4", "testvar": "'testval"} }

 

Статические переменные, указанные в ivr

Переменные в ivr можно использовать в правилах опций контекста: transfer_variable, match_variable_name, match_variable_value, play_digits_variable, play_sound_from_variable. Подробнее о правилах тут:

Большинство переменных можно указать в одном контексте и воспользоваться ими в другом контексте, но некоторые переменные будут использованы в звонке:

Имя

Значение

Описание переменной

Имя

Значение

Описание переменной

answering_machine

строка, которая интерпритируется как boolean тип

Если переменная задана и вызов попадет в ivr, где будет действие “play sound” , то будет считаться, что на вызов был ответ (bridged = yes).

В случае “answering_machine”=”false” переменная будет проигнорирована.

allowed_commands

 

 

transfer_after_call_end_to

 

tag

string

Данный параметр будет передан в событиях на протяжении всего звонка, как IvrTag. Например, если при прохождении вызова через IVR необходимо отслеживать определенную схему, то можно задать tag (например, игнорировать определенные звонки в интеграции из определенной схемы IVR, где установлен tag)

disable_mail_notification

строка, которая интерпритируется как boolean тип

сли переменная задана, вызов попал на это правило в ivr и вызов пропущен, то будет считаться, что запрещено отправлять уведомление на почту об этом пропущенном вызове.

В случае “disable_mail_notification”=”false” переменная будет проигнорирована.


Устновить переменную можно с помощью правила ivr set_variable