11.1. Запросы от внешней системы
Внешняя система может в любой момент получить информацию о текущем состоянии сервера телефонии. Запрос осуществляется с помощью посылки HTTP GET запроса в приложение api.php с соответствующими параметрами. В ответ выдается информация в стандартизованном виде в форматах JSON и XML. Формат выдачи определяется в настройках веб-интерфейса системы в разделе Setup → General settings → API output format. Авторизация не требуется, однако в настройках системы в поле Allowed IP adresses нужно указать через точку с запятой адреса, от которых разрешено принимать запросы:
192.168.0.0/16; 10.0.0.0/8; 127.0.0.1
При необходимости можно добавить одну или несколько сетей. По умолчанию (при пустом параметре) разрешен доступ только с loopback адреса самого сервера (127.0.0.1).
Каждый запрос может содержать параметр reqid в качестве идентификатора. Результат запроса содержит два обязательных элемента: result, в котором возвращается результат запроса и reqid, которое содержит идентификатор запроса. Если reqid не определен, то возвращается 0. В формате JSON ответ на запрос имеет вид, например такой:
{
«result»:[
«OUT1002-20121002-132437-1349162677.40.wav»
],
«reqid»:»12321312″
}
Если запрос содержал ошибки и не выполнен, тогда ответ будет иметь вид:
{
«result»:{
«Response»:»Error»,
«Message»:»Request error. Check: uniqueid «
},
«reqid»:»12321312″
}
В поле Response будет состояние «Error«, а в поле Message объяснена причина ошибки. В данном случае нужно проверить поле uniqueid.
В формате XML ответ будет выглядеть так:
<?xml version=»1.0″ encoding=»UTF-8″?>
<data>
<result>
<key_1>OUT1002-20121002-132437-1349162677.40.wav</key_1>
</result>
<reqid>12321312</reqid>
</data>
Comments
So empty here ... leave a comment!