Правила исходящих вызовов (/dial_rule/)

Протестировать методы API можно на странице интерактивного обозревателя API и без написания кода
Некоторые ресурсы, описанные на странице, по умолчанию могут быть не доступны из-за типа приложения (см. Создание и авторизация приложений)

Данный ресурс удобно использовать для задач:

  • запрещения вызовов на некоторые направления;

  • различных конвертаций пользовательского набора (например, добавления префикса).

Внутреннему номеру и(или) всему клиенту можно задать список правил. АТС, получив от внутреннего номера запрос на вызов номера (прямым набором или с помощью переадресации), сначала проверяет правила внутреннего номера, затем правила клиента. Список правил в каждом блоке (блок внутреннего номера или клиента) проверяется до первого совпадения.

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

Правило исходящего вызова (dial_rule)

Имя

Тип

Обязательное

Значение по умолчанию

Описание

Имя

Тип

Обязательное

Значение по умолчанию

Описание

match_exp

string

да

null

Правило действует, если набор совпадает с "match_exp". Записывается в формате PCRE

repl_exp

string

да

null

Данный параметр описывает, что нужно сделать с набором, если он соответствует "match_exp"

Примеры

Допустим, клиенту с идентификатором id=12 нужно добавлять префикс "8812" к семизначному набору (будет применяться для всех внутренних номеров клиента). Сначала следует создать нужный список правил набора:

Ответ системы:

{ "id": 61, "client_id": 12, "dial_rules": [ { "repl_exp": "8812\\1", "match_exp": "^([0-9]{7})$" } ] }

Далее необходимо применить созданный список правил к клиенту:

Ответ системы:

{ ... "dial_rule_id": 61 ... }

А одному из внутренних номеров с идентификатором id=164 необходимо запретить вызовы куда-либо, кроме российских номеров, но по набору "1" разрешить вызов конкретного международного номера. Допустим, у вышестоящего провайдера международные вызовы принимаются в формате 8-10-код_страны-номер, а на номере 000001 установлен автоответчик о запрете исходящих вызовов на направление. Создание списка правил набора:

Ответ системы:

{ "id": 62, "client_id": 12, "dial_rules": [ { "repl_exp": "8104412345678", "match_exp": "^1$" }, { "repl_exp": "000001", "match_exp": "^810(77|[012345689])" } ] }

Применение списка правил к внутреннему номеру:

Ответ системы:

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

POST /client/{client_id}/dial_rule/

Добавить список правил исходящих вызовов клиента

Параметры URL

Имя

Тип

Имя

Тип

client_id

string

Параметры JSON

Имя

Тип

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

Имя

Тип

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

dial_rules

Array[dial_rule]

да

name 

string

да

Ресурс dial_rule

Имя

Тип

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

Имя

Тип

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

comment 

string

нет

match_exp

string

да

repl_exp

string

да

Поля ответа

Имя

Тип

Имя

Тип

client_id

long

dealer_id

long

dial_rules

Array[dial_rule]

id 

long

name 

string

Ресурс dial_rule

Имя

Тип

Имя

Тип

comment 

string

match_exp

string

repl_exp

string

PUT /client/{client_id}/dial_rule/{dial_rules_id}/

Обновить список правил исходящих вызовов клиента

Параметры URL

Имя

Тип

Имя

Тип

client_id

string

dial_rules_id

integer

Параметры JSON

Имя

Тип

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

Имя

Тип

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

dial_rules

Array[dial_rule]

нет

name 

string

нет

Ресурс dial_rule

Имя

Тип

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

Имя

Тип

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

comment 

string

нет

match_exp

string

да

repl_exp

string

да

Поля ответа

Имя

Тип

Имя

Тип

client_id

long

dealer_id

long

dial_rules

Array[dial_rule]

id 

long

name 

string

Ресурс dial_rule

Имя

Тип

Имя

Тип

comment 

string

match_exp

string

repl_exp

string

GET /client/{client_id}/dial_rule/

Получить списки правил исходящих вызовов клиента

Параметры URL

Имя

Тип

Имя

Тип

client_id

string

Поля ответа

Имя

Тип

Имя

Тип

client_id

long

dealer_id

long

dial_rules

Array[dial_rule]

id 

long

name 

string

Ресурс dial_rule

Имя

Тип

Имя

Тип

comment 

string

match_exp

string

repl_exp

string