События агента очереди (/agent/.../event/)
Мы обновили документацию, актуальная версия страницы доступна по ссылке: События агента очереди (/agent/.../event/)
С помощью ресурса можно оповещать сторонние приложения о входах/выходах агентов очередей. Более подробная информация об очередях и агентах находится тут.
Количество отслеживаемых событий лимитировано, лимит может быть получено через ресурс лимитов.
Особенности генерации
События генерируются только при смене статуса. Например, если агент повторно послал команду входа в очередь, то события не будет.
В случае, когда методом запроса является GET, данные будут содержаться в заголовке запроса, если же методом запроса является POST, данные будут содержаться в теле запроса. В обоих случаях данные находятся в формате application/x-www-form-urlencoded.
Описание структур данных
Событие (AgentEvent)
Имя | Тип | Обязательный | Значение По Умолчанию | Описание |
---|---|---|---|---|
|
|
| Куда отправляется запрос при наступлении события. Например, 'https://myshost.org/calls' | |
|
|
| Событие агента, при наступлении которого отправлять запрос. Возможны варианты:
| |
|
|
| Метод запроса:
|
Данные события (AgentEventData)
Имя | Тип | Описание |
---|---|---|
agent_id |
| Уникальный идентификатор агента очереди |
agent_status |
| Новый статус агента:
|
agent_type |
| Тип агента
|
agent_number |
| присутствует для agent_type 'remote': номер внешнего агента |
extension_name | string | присутствует для agent_type 'local': имя добавочного |
event_source | string | Источник события:
|
Пример
Допустим, у клиента с идентификатором 12 есть локальный агент с идентификатором 136 и агент закреплен за добавочным "000*094". Добавим этому агенту событие, генерируемое при его входе в очередь
метод | ресурс | данные | ответ |
---|---|---|---|
POST | /client/12/agent/local/136/event/ | { | { |
Если на стороне somehost.com скрипт show.php имеет вид
<?php error_log("------"); foreach ($_GET as $key => $value){ error_log("$key => $value"); } ?>
то после логина в очередь в логе веб сервера можно будет увидеть строки вида
[Tue May 30 15:07:50 2017] ------
[Tue May 30 15:07:50 2017] agent_status => available
[Tue May 30 15:07:50 2017] agent_type => local
[Tue May 30 15:07:50 2017] event_source => api
[Tue May 30 15:07:50 2017] agent_id => 136
[Tue May 30 15:07:50 2017] extension_name => 000*094@ringme.ru
Ресурсы
Раздел "клиент"
POST /client/{client_id}/agent/local/{agent_id}/event/
Добавить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/local/{agent_id}/event/
Получить agent http events
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
PUT /client/{client_id}/agent/local/{agent_id}/event/{event_id
}
Обновить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/local/{agent_id}/event/{event_id
}
Получить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
DELETE /client/{client_id}/agent/local/{agent_id}/event/{event_id
}
Удалить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
POST /client/{client_id}/agent/remote/{agent_id}/event/
Добавить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/remote/{agent_id}/event/
Получить agent http events
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
PUT /client/{client_id}/agent/remote/{agent_id}/event/{event_id
}
Обновить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
Параметры JSON
Имя | Тип | Обязательный |
---|---|---|
|
|
|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
GET /client/{client_id}/agent/remote/{agent_id}/event/{event_id
}
Получить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|
Поля ответа
Имя | Тип |
---|---|
|
|
|
|
|
|
|
|
DELETE /client/{client_id}/agent/remote/{agent_id}/event/{event_id
}
Удалить agent http event
Параметры URL
Имя | Тип |
---|---|
|
|
|
|
|
|