События агента очереди (/agent/.../event/)

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

С помощью ресурса можно оповещать сторонние приложения о входах/выходах агентов очередей.  С более подробной информацией об очередях и агентах можно ознакомиться по ссылке.

Количество отслеживаемых событий лимитировано, лимит может быть получено через ресурс лимитов.

Особенности генерации

События генерируются только при смене статуса. Например, если агент повторно послал команду входа в очередь, то события не будет.

В случае, когда методом запроса является GET, данные будут содержаться в заголовке запроса, если же методом запроса является POST, данные будут содержаться в теле запроса. В обоих случаях данные находятся в формате application/x-www-form-urlencoded.

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

Имя

Тип

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

Описание

Имя

Тип

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

Описание

url

string

да

URL, на который отправляется запрос при наступлении события. Например: 'https://myshost.org/calls'

event_type

string

да

Событие агента, при наступлении которого отправлять запрос. Возможны варианты:

  • 'agent-login' – вход агента в очередь;

  • 'agent-logout' – выход агента из очереди

method

string

да

Метод запроса:

  • GET

  • POST 

Имя

Тип

Описание

Имя

Тип

Описание

agent_id

string

Уникальный идентификатор агента очереди

agent_status

string

Новый статус агента:

  • available – готов к приему звонков из очереди;

  • logged_out – не будет принимать звонки из очереди

agent_type

string

Тип агента:

  • local – локальный агент;

  • remote – внешний агент

agent_number

string

Присутствует для agent_type 'remote': номер внешнего агента

extension_name

string

Присутствует для agent_type 'local': имя внутреннего агента

event_source

string

Источник события:

  • api – смена статуса инициирована через API (например, через веб интерфейс);

  • phone – инициирована командой входа/выхода непосредственно с телефона, являющегося агентом

Пример

Допустим, у клиента с идентификатором 12 есть локальный агент с идентификатором 136, и данный агент закреплен за внутренним номером "000*094". Добавим этому агенту событие, генерируемое при его входе в очередь:

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

{ "url": "https://somehost.com/fordel/show.php", "id": 150, "method": "GET", "event_type": "agent-login" }

Если на стороне 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/

Добавить http-событие агента очереди

Параметры URL

Имя

Тип

Имя

Тип

agent_id

integer

client_id

string

Параметры JSON

Имя

Тип

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

Имя

Тип

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

event_type

string

да

method

string

да

url

string

да

Поля ответа

Имя

Тип

Имя

Тип

event_type

string

id

long

method

string

url

string

GET /client/{client_id}/agent/local/{agent_id}/event/

Получить http-события агента очереди

Параметры URL

Имя

Тип

Имя

Тип

agent_id

integer

client_id

string

Поля ответа

Имя

Тип

Имя

Тип

event_type

string

id

long

method

string

url

string

PUT /client/{client_id}/agent/local/{agent_id}/event/{event_id}

Обновить http-событие агента очереди

Параметры URL

Имя

Тип

Имя

Тип

event_id

integer

agent_id

integer

client_id

string

Параметры JSON

Имя

Тип

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

Имя

Тип

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

event_type

string

нет

method

string

нет

url

string

нет

Поля ответа

Имя

Тип

Имя

Тип

event_type

string

id

long

method

string

url

string

Внешние агенты