Конструирование запросов
Для начала вам необходимо решить, каким образом Вы будете соединяться с Основным интерфейсом, т.е. Extend API. Далее выбрать метод и знать, что передать в XML файл, который содержит дескрипшин метода со всеми необходимыми параметрами выбранного метода.
Например, Вы хотите вызвать метод switchvox.extension.search. Каждый запрос должен быть заключенным в родительский тег request, а методом будет являться атрибут этого тега.
![]() | <request method="switchvox.extension.search">
</request>
|
Такая XML конструкция представляет собой только шапку, далее нам необходимо добавить параметры.
Вся документация по параметрам методов описана на этом ресурсе, следовательно, необходимо просмотреть все возможные атрибуты, применимые к выбранному методу. Ниже рассмотрены все атрибуты, применимые к методу switchvox.extensions.search:
Имя атрибута |
Обязательный параметр |
Тип |
Значение по умолчанию |
Описание атрибута |
---|---|---|---|---|
min_extension | опционально |
string | минимальное значение внутреннего номера |
|
max_extension | опционально | integer | максимальное значение внутреннего номера; если вы указываете min/max значение внутреннего номера, тогда max значение обязательно должно быть больше, чем значение min |
|
extension_types (extension_type) |
опционально | string | тип внутреннего номера, по которому будет осуществляться сортировка; |
|
min_create_date | опционально | date |
минимальная дата создания внутреннего номера; внутренний номер, который имеет дату создания больше или эквивалентную, чем это значение должно быть возвращено; дата должна быть в формате: YYYY-MM-DD HH:MM:SS | |
max_create_date | опционально | date |
максимальная дата создания внутреннего номера; внутренний номер с датой создания меньше или эквивалентной, чем это значение должно быть возвращено; дата должна быть в формате: YYYY-MM-DD HH:MM:SS. Если min_create_date и max_create_date указаны, тогда max значение должно быть больше, чем min |
|
sort_field | опционально | string | номер |
указывает поле, по которому необходимо выполнить сортировку внутренних номеров; Возможные значения: number, display, account_id, extension_type и date_created |
sort_order | опционально | string | ASC |
порядок, в котором будет отсортировано возвращаемое значение; возможные значения: ASC и DESC |
items_per_page | опционально | integer | 50 |
количество внутренних номеров, отображаемых на странице |
page_number | опционально | integer | 1 |
номер страницы внутреннего номера |
Предположим, что нам необходимо вывести весь список внутренних номеров на ip-АТС в диапазоне от 100 до 200 и только те, которые являются либо номера IVR, либо агентами очередей.
Для начало необходимо создать родительский тег параметров, в которые мы включим наш список:
![]() | <request method="switchvox.extensions.search">
<parameters> </parameters> </request> |
Далее необходимо создать тег для каждого параметра, который мы отправляем в запросе, заключив значение между открывающим и закрывающим тегом:
![]() | <request method="switchvox.extensions.search">
<parameters> <min_extension>100</min_extension> <max_extension>200</max_extension> <extension_types> <extension_typ>ivr</extension_typ> <extension_typ>call_queue</extension_typ> </extension_types> </parameters> </request> |
Стоить отметить, что параметр extension_types имеет подпараметр с именем extension_type. Последний сообщает, что extension_types принимает несколько значений и extension_types является родительским тегом, а extension_type – дочерним. Extension_type может хранить значение каждого параметра. Часто, но не всегда, родительский тег является формой множественного числя для дочернего тега.
Отправка XML запроса
После формирования XML файла запроса необходимо соединиться с Extend API и отправить файл-запрос на сервер.