Клиентский HTTP интерфейс — различия между версиями
Peter (обсуждение | вклад) (Новая страница: «Наверх Клиентское приложение осуществляет прослушивание порта 4059 (може...») |
|||
(не показана одна промежуточная версия ещё одного участника) | |||
Строка 15: | Строка 15: | ||
+ | -------------------------------------- | ||
+ | <div id="callto"></div> | ||
'''callto'''. Осуществляет звонок на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь занят или не имеет телефона, звонок не осуществляется. Звонок происходит по текущей настроенной схеме автодозвона. Подробнее в разделе [[Звонки и сервис автодозвона|Телефон. Звонки и сервис автодозвона]]. | '''callto'''. Осуществляет звонок на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь занят или не имеет телефона, звонок не осуществляется. Звонок происходит по текущей настроенной схеме автодозвона. Подробнее в разделе [[Звонки и сервис автодозвона|Телефон. Звонки и сервис автодозвона]]. | ||
Строка 23: | Строка 25: | ||
http://127.0.0.1:4059/callto?number=184 | http://127.0.0.1:4059/callto?number=184 | ||
+ | |||
+ | -------------------------------------- | ||
'''switchto'''. Осуществляет переключение текущего пользователя на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь находится в коммутации, то производится действие, аналогичное нажатию FLASH и набору номера. В противном случае действие команды аналогично callto. | '''switchto'''. Осуществляет переключение текущего пользователя на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь находится в коммутации, то производится действие, аналогичное нажатию FLASH и набору номера. В противном случае действие команды аналогично callto. | ||
Строка 31: | Строка 35: | ||
http://127.0.0.1:4059/switchto?number=184 | http://127.0.0.1:4059/switchto?number=184 | ||
+ | |||
+ | -------------------------------------- | ||
'''execsvcscript'''. Осуществляет запуск произвольного служебного сценария на сервере, считая инициатором запуска текущего авторизованного пользователя (код запуска 14). Запуск служебного сценария может осуществляться синхронно и асинхронно. В синхронном режиме возвращаемое сценарием значение (присвоенное служебной переменной «Возвращаемое значение 1») передается в качестве ответа на запрос. | '''execsvcscript'''. Осуществляет запуск произвольного служебного сценария на сервере, считая инициатором запуска текущего авторизованного пользователя (код запуска 14). Запуск служебного сценария может осуществляться синхронно и асинхронно. В синхронном режиме возвращаемое сценарием значение (присвоенное служебной переменной «Возвращаемое значение 1») передается в качестве ответа на запрос. | ||
Строка 46: | Строка 52: | ||
<pre> | <pre> | ||
<?xml version="1.0" encoding="utf-16"?> | <?xml version="1.0" encoding="utf-16"?> | ||
− | |||
<oktellxmlmapper version="80710"> | <oktellxmlmapper version="80710"> | ||
− | |||
<data name="result" count="1"> | <data name="result" count="1"> | ||
− | |||
<property_set name="execsvcscript"> | <property_set name="execsvcscript"> | ||
− | |||
<property_simple key="started" value="1" name="success" /> | <property_simple key="started" value="1" name="success" /> | ||
− | |||
<property_simple key="startresult" value="0" name="success" /> | <property_simple key="startresult" value="0" name="success" /> | ||
− | |||
<property_simple key="returnvalue" name="abcdef" /> | <property_simple key="returnvalue" name="abcdef" /> | ||
− | |||
</property_set> | </property_set> | ||
− | |||
</data> | </data> | ||
− | |||
</oktellxmlmapper> | </oktellxmlmapper> | ||
</pre> | </pre> | ||
+ | |||
+ | -------------------------------------- | ||
'''getcurrentcallinfo'''. Возвращает информацию о текущем состоянии и оппоненте в коммутации с участием авторизованного пользователя. В качестве ответа возвращается XML-структура с набором значений. В зависимости от текущего режима (определяется полем mode) состав ответа может меняться. | '''getcurrentcallinfo'''. Возвращает информацию о текущем состоянии и оппоненте в коммутации с участием авторизованного пользователя. В качестве ответа возвращается XML-структура с набором значений. В зависимости от текущего режима (определяется полем mode) состав ответа может меняться. | ||
Строка 77: | Строка 76: | ||
<pre> | <pre> | ||
<?xml version="1.0" encoding="utf-16"?> | <?xml version="1.0" encoding="utf-16"?> | ||
− | |||
<oktellxmlmapper version="80710"> | <oktellxmlmapper version="80710"> | ||
− | |||
<data name="result" count="1"> | <data name="result" count="1"> | ||
− | + | <property_set name="callinfo"> | |
− | + | <property_simple key="result" value="1" name="success" /> | |
− | + | <property_simple key="mode" value="connected" /> | |
− | + | <property_cdata key="idchain"><![CDATA[2ac6dc7e-41e7-4ec1-a0c2-d704109e0f5d]]></property_cdata> | |
− | + | <property_cdata key="idconn"><![CDATA[24b86b87-3676-431f-9519-093ac9ca88dd]]></property_cdata> | |
− | + | <property_simple key="abonenttype" value="inner" /> | |
− | + | <property_simple key="number" value="16" /> | |
− | + | <property_cdata key="name"><![CDATA[Дмитрий Евгеньевич]]></property_cdata> | |
− | + | <property_cdata key="description"><![CDATA[Дмитрий Евгеньевич]]></property_cdata> | |
− | + | <property_cdata key="lineid"><![CDATA[e76c86ea-a28a-4519-b4ff-8879a92c62b7]]></property_cdata> | |
− | + | <property_simple key="linenum" value="17002" /> | |
− | + | <property_cdata key="userid"><![CDATA[2a594b51-bb89-4da6-a69f-f48761baf0d9]]></property_cdata> | |
− | + | <property_simple key="starttick" value="0" /> | |
− | + | <property_cdata key="starttime"><![CDATA[10.11.2010 14:13:05]]></property_cdata> | |
− | + | </property_set> | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</data> | </data> | ||
− | |||
</oktellxmlmapper> | </oktellxmlmapper> | ||
</pre> | </pre> | ||
Строка 145: | Строка 125: | ||
<span style="color:green;">starttick</span>: системный тик локального компьютера, соответствующий началу коммутации (или сессии). | <span style="color:green;">starttick</span>: системный тик локального компьютера, соответствующий началу коммутации (или сессии). | ||
+ | |||
+ | -------------------------------------- | ||
'''headsetanswercall'''. Производит действие, аналогичное команде поднятия трубки на гарнитуре при входящем вызове. | '''headsetanswercall'''. Производит действие, аналогичное команде поднятия трубки на гарнитуре при входящем вызове. | ||
Строка 150: | Строка 132: | ||
http://127.0.0.1:4059/headsetanswercall | http://127.0.0.1:4059/headsetanswercall | ||
+ | |||
+ | -------------------------------------- | ||
'''disconnectcall'''. Завершает текущий звонок. Если в настоящее время авторизованный пользователь находится в коммутации - разрывает ее, отправляя отбой обеим линиям. Если в конференции - выводит из нее, если автодозвон - прекращает, если входящий вызов - отклоняет. | '''disconnectcall'''. Завершает текущий звонок. Если в настоящее время авторизованный пользователь находится в коммутации - разрывает ее, отправляя отбой обеим линиям. Если в конференции - выводит из нее, если автодозвон - прекращает, если входящий вызов - отклоняет. | ||
Строка 155: | Строка 139: | ||
http://127.0.0.1:4059/disconnectcall | http://127.0.0.1:4059/disconnectcall | ||
+ | |||
+ | -------------------------------------- | ||
'''declinecall'''. Аналогично команде «Отклонить входящий вызов» в пользовательском интерфейсе софт-телефона. | '''declinecall'''. Аналогично команде «Отклонить входящий вызов» в пользовательском интерфейсе софт-телефона. | ||
Строка 160: | Строка 146: | ||
http://127.0.0.1:4059/declinecall | http://127.0.0.1:4059/declinecall | ||
+ | |||
+ | -------------------------------------- | ||
'''focus'''. Производит передачу фокуса в клиентское приложение Oktell. Следует иметь в виду, что это не всегда возможно и определяется настройками приложения, которое владеет фокусом в это время. | '''focus'''. Производит передачу фокуса в клиентское приложение Oktell. Следует иметь в виду, что это не всегда возможно и определяется настройками приложения, которое владеет фокусом в это время. | ||
Строка 165: | Строка 153: | ||
http://127.0.0.1:4059/focus | http://127.0.0.1:4059/focus | ||
+ | |||
+ | -------------------------------------- | ||
'''dialogcardnext'''. Производит действие, аналогичное команде «Далее» в операторской диалоговой форме. | '''dialogcardnext'''. Производит действие, аналогичное команде «Далее» в операторской диалоговой форме. | ||
Строка 170: | Строка 160: | ||
http://127.0.0.1:4059/dialogcardnext | http://127.0.0.1:4059/dialogcardnext | ||
+ | |||
+ | -------------------------------------- | ||
'''dialogcardstop'''. Производит действие, аналогичное команде «Стоп» в операторской диалоговой форме. | '''dialogcardstop'''. Производит действие, аналогичное команде «Стоп» в операторской диалоговой форме. | ||
Строка 175: | Строка 167: | ||
http://127.0.0.1:4059/dialogcardstop | http://127.0.0.1:4059/dialogcardstop | ||
+ | |||
+ | -------------------------------------- | ||
'''flashcall'''. Производит действие, аналогичное кнопке «Флеш» на телефоне. | '''flashcall'''. Производит действие, аналогичное кнопке «Флеш» на телефоне. | ||
Строка 181: | Строка 175: | ||
− | + | -------------------------------------- | |
− | + | '''getcurrentuserlogin'''. Возвращает логин текущего авторизованного пользователя. | |
http://127.0.0.1:4059/getcurrentuserlogin | http://127.0.0.1:4059/getcurrentuserlogin | ||
Строка 191: | Строка 185: | ||
<pre> | <pre> | ||
<?xml version="1.0" encoding="utf-16"?> | <?xml version="1.0" encoding="utf-16"?> | ||
− | |||
<oktellxmlmapper version="80710"> | <oktellxmlmapper version="80710"> | ||
− | |||
<data name="result" count="1"> | <data name="result" count="1"> | ||
− | |||
<property_set name="result"> | <property_set name="result"> | ||
− | |||
<property_simple key="success" value="1" /> | <property_simple key="success" value="1" /> | ||
− | |||
<property_simple key="userlogin" value="ivanov" /> | <property_simple key="userlogin" value="ivanov" /> | ||
− | |||
</property_set> | </property_set> | ||
− | |||
</data> | </data> | ||
− | |||
</oktellxmlmapper> | </oktellxmlmapper> | ||
</pre> | </pre> | ||
+ | |||
+ | -------------------------------------- | ||
'''getcurrentserveraddress'''. Возвращает адрес текущего используемого сервера. | '''getcurrentserveraddress'''. Возвращает адрес текущего используемого сервера. | ||
− | |||
− | |||
http://127.0.0.1:4059/getcurrentserveraddress | http://127.0.0.1:4059/getcurrentserveraddress | ||
Строка 220: | Строка 206: | ||
<pre> | <pre> | ||
<?xml version="1.0" encoding="utf-16"?> | <?xml version="1.0" encoding="utf-16"?> | ||
− | |||
<oktellxmlmapper version="80710"> | <oktellxmlmapper version="80710"> | ||
− | |||
<data name="result" count="1"> | <data name="result" count="1"> | ||
− | |||
<property_set name="currentserveraddress"> | <property_set name="currentserveraddress"> | ||
− | |||
<property_simple key="success" value="1" /> | <property_simple key="success" value="1" /> | ||
− | |||
<property_simple key="serveraddress" value="192.168.0.100" /> | <property_simple key="serveraddress" value="192.168.0.100" /> | ||
− | |||
</property_set> | </property_set> | ||
− | |||
</data> | </data> | ||
− | |||
</oktellxmlmapper> | </oktellxmlmapper> | ||
</pre> | </pre> | ||
+ | |||
+ | -------------------------------------- | ||
'''setbusyexternaltask'''. Позволяет установить признак занятости пользователя во внешней задаче или освободить его от подобного недоступного состояния. | '''setbusyexternaltask'''. Позволяет установить признак занятости пользователя во внешней задаче или освободить его от подобного недоступного состояния. | ||
Строка 245: | Строка 225: | ||
http://127.0.0.1:4059/setbusyexternaltask?busy=1 | http://127.0.0.1:4059/setbusyexternaltask?busy=1 | ||
+ | |||
+ | |||
+ | -------------------------------------- | ||
+ | |||
+ | '''pbxstatplaybyidconn'''. Осуществляет воспроизведение в клиентском приложении указанной по идентификатору коммутации. Вне зависимости от прав контроля авторизованного пользователя. | ||
+ | |||
+ | Параметры: | ||
+ | * <span style="color:green;">idconn</span> - идентификатор коммутации. Обязательный параметры | ||
+ | * <span style="color:green;">showcomment</span> - 1 или 0. Определяет, отображать ли вкладку комментария при воспроизведении в плеере. По умолчанию отображается. | ||
+ | * <span style="color:green;">showstat</span> - 1 или 0. Определяет, открывать ли коммутацию в разделе статистики (пока не реализовано). По умолчанию не открывается. | ||
+ | |||
+ | http://127.0.0.1:4059/pbxstatplaybyidconn?idconn=a03822bd-189a-3881-cf8a-a5592bd91019&showstat=1&showcomment=1 |
Текущая версия на 07:47, 14 мая 2015
Клиентское приложение осуществляет прослушивание порта 4059 (может быть изменен в конфигурационном файле) и способно исполнять некоторые поступающие на него по протоколу HTTP запросы. Клиентское приложение ограничивается прослушиванием loopback интерфейса (127.0.0.1).
Внимание! Поскольку клиентское приложение может быть запущено несколько раз с использованием терминального режима, только одно из них может осуществить прослушивание порта, остальные должны либо иметь другие порты в настройках конфигурационного файла, либо при запуске приложения прослушивание не будет инициировано.
Запросы могут поступать с использованием как метода GET, так и POST.
Команды клиентского веб-интерфейса
callto. Осуществляет звонок на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь занят или не имеет телефона, звонок не осуществляется. Звонок происходит по текущей настроенной схеме автодозвона. Подробнее в разделе Телефон. Звонки и сервис автодозвона.
Параметры:
- number - номер, на который необходимо осуществить звонок. Может быть как внешним, так и внутренним. Если во внутреннем номерном плане существует такой номер, будет произведен вызов по внутренней сети, иначе набор во вне.
http://127.0.0.1:4059/callto?number=184
switchto. Осуществляет переключение текущего пользователя на указанный номер посредством активного клиентского приложения. Если текущий авторизованный пользователь находится в коммутации, то производится действие, аналогичное нажатию FLASH и набору номера. В противном случае действие команды аналогично callto.
Параметры:
- number - номер, на который необходимо осуществить переключение. Может быть как внешним, так и внутренним. Если во внутреннем номерном плане существует такой номер, будет произведен вызов по внутренней сети, иначе набор во вне.
http://127.0.0.1:4059/switchto?number=184
execsvcscript. Осуществляет запуск произвольного служебного сценария на сервере, считая инициатором запуска текущего авторизованного пользователя (код запуска 14). Запуск служебного сценария может осуществляться синхронно и асинхронно. В синхронном режиме возвращаемое сценарием значение (присвоенное служебной переменной «Возвращаемое значение 1») передается в качестве ответа на запрос.
Параметры:
- name - название служебного сценария, подлежащего запуску, существующего и размещенного на сервере в каталоге общих сценариев.
- startparam1, startparam2, startparam3, startparam4, startparam5 - значения стартовых параметров, передаваемых в сценарий и доступных в качестве соответствующих функций.
- async - режим запуска служебного сценария. 0 - синхронно с ожиданием завершения и возвратом значения, 1 - асинхронно.
- timeout - в случае запуска в синхронном режиме устанавливает максимально допустимое время ожидания завершения сценария в секундах. При превышении обрывает ожидание и возвращает ответ на веб-запрос без результата работы сценария.
Пример структуры возвращаемого значения:
<?xml version="1.0" encoding="utf-16"?> <oktellxmlmapper version="80710"> <data name="result" count="1"> <property_set name="execsvcscript"> <property_simple key="started" value="1" name="success" /> <property_simple key="startresult" value="0" name="success" /> <property_simple key="returnvalue" name="abcdef" /> </property_set> </data> </oktellxmlmapper>
getcurrentcallinfo. Возвращает информацию о текущем состоянии и оппоненте в коммутации с участием авторизованного пользователя. В качестве ответа возвращается XML-структура с набором значений. В зависимости от текущего режима (определяется полем mode) состав ответа может меняться.
Запрос не требует параметров.
http://127.0.0.1:4059/getcurrentcallinfo
Пример структуры возвращаемого значения:
<?xml version="1.0" encoding="utf-16"?> <oktellxmlmapper version="80710"> <data name="result" count="1"> <property_set name="callinfo"> <property_simple key="result" value="1" name="success" /> <property_simple key="mode" value="connected" /> <property_cdata key="idchain"><![CDATA[2ac6dc7e-41e7-4ec1-a0c2-d704109e0f5d]]></property_cdata> <property_cdata key="idconn"><![CDATA[24b86b87-3676-431f-9519-093ac9ca88dd]]></property_cdata> <property_simple key="abonenttype" value="inner" /> <property_simple key="number" value="16" /> <property_cdata key="name"><![CDATA[Дмитрий Евгеньевич]]></property_cdata> <property_cdata key="description"><![CDATA[Дмитрий Евгеньевич]]></property_cdata> <property_cdata key="lineid"><![CDATA[e76c86ea-a28a-4519-b4ff-8879a92c62b7]]></property_cdata> <property_simple key="linenum" value="17002" /> <property_cdata key="userid"><![CDATA[2a594b51-bb89-4da6-a69f-f48761baf0d9]]></property_cdata> <property_simple key="starttick" value="0" /> <property_cdata key="starttime"><![CDATA[10.11.2010 14:13:05]]></property_cdata> </property_set> </data> </oktellxmlmapper>
Состав ответа:
mode: текущий режим. none, connected, flashed, calling, ringing.
idchain: идентификатор текущей сессии (цепочки коммутаций).
idconn: идентификатор текущей коммутации.
abonenttype: тип оппонента. inner, outer, ivr, conference, task.
number: номер оппонента.
name: название/имя оппонента.
description: описание оппонента.
comment: комментарий или дополнительное описание, установленное в сценарии при переключении.
lineid: идентификатор линии оппонента.
linenum: номер линии оппонента.
userid: идентификатор оппонента (если это внутренний пользователь системы).
starttime: время начала коммутации (или сессии для задач с установленным ограничением на время обработки).
starttick: системный тик локального компьютера, соответствующий началу коммутации (или сессии).
headsetanswercall. Производит действие, аналогичное команде поднятия трубки на гарнитуре при входящем вызове.
http://127.0.0.1:4059/headsetanswercall
disconnectcall. Завершает текущий звонок. Если в настоящее время авторизованный пользователь находится в коммутации - разрывает ее, отправляя отбой обеим линиям. Если в конференции - выводит из нее, если автодозвон - прекращает, если входящий вызов - отклоняет.
http://127.0.0.1:4059/disconnectcall
declinecall. Аналогично команде «Отклонить входящий вызов» в пользовательском интерфейсе софт-телефона.
http://127.0.0.1:4059/declinecall
focus. Производит передачу фокуса в клиентское приложение Oktell. Следует иметь в виду, что это не всегда возможно и определяется настройками приложения, которое владеет фокусом в это время.
dialogcardnext. Производит действие, аналогичное команде «Далее» в операторской диалоговой форме.
http://127.0.0.1:4059/dialogcardnext
dialogcardstop. Производит действие, аналогичное команде «Стоп» в операторской диалоговой форме.
http://127.0.0.1:4059/dialogcardstop
flashcall. Производит действие, аналогичное кнопке «Флеш» на телефоне.
http://127.0.0.1:4059/flashcall
getcurrentuserlogin. Возвращает логин текущего авторизованного пользователя.
http://127.0.0.1:4059/getcurrentuserlogin
Пример структуры возвращаемого значения:
<?xml version="1.0" encoding="utf-16"?> <oktellxmlmapper version="80710"> <data name="result" count="1"> <property_set name="result"> <property_simple key="success" value="1" /> <property_simple key="userlogin" value="ivanov" /> </property_set> </data> </oktellxmlmapper>
getcurrentserveraddress. Возвращает адрес текущего используемого сервера.
http://127.0.0.1:4059/getcurrentserveraddress
Пример структуры возвращаемого значения:
<?xml version="1.0" encoding="utf-16"?> <oktellxmlmapper version="80710"> <data name="result" count="1"> <property_set name="currentserveraddress"> <property_simple key="success" value="1" /> <property_simple key="serveraddress" value="192.168.0.100" /> </property_set> </data> </oktellxmlmapper>
setbusyexternaltask. Позволяет установить признак занятости пользователя во внешней задаче или освободить его от подобного недоступного состояния.
Параметры:
- busy - 1 - поставить отметку занятости, 0 - снять отметку занятости.
http://127.0.0.1:4059/setbusyexternaltask?busy=1
pbxstatplaybyidconn. Осуществляет воспроизведение в клиентском приложении указанной по идентификатору коммутации. Вне зависимости от прав контроля авторизованного пользователя.
Параметры:
- idconn - идентификатор коммутации. Обязательный параметры
- showcomment - 1 или 0. Определяет, отображать ли вкладку комментария при воспроизведении в плеере. По умолчанию отображается.
- showstat - 1 или 0. Определяет, открывать ли коммутацию в разделе статистики (пока не реализовано). По умолчанию не открывается.