CommuniGate Pro
Версия 6.4
 

Контакт-центр: HTTP API

HTTP API приложения Контакт-центр можно использовать, чтобы управлять и получать информацию об объектах Контакт-центра с помощью HTTP-запросов без использования интерфейса Контакт-центра. HTTP API можно использовать для интеграции Контакт-центра со сторонними системами.




Доступ к HTTP API Контакт-центра

Для доступа к HTTP API Контакт-центра используется URL следующего вида:

http://server.name:8100/sys/ccadmin.wcgp
https://server.name:9100/sys/ccadmin.wcgp
где:
server.name является именем Главного Домена Сервера или его псевдонимом, либо IP адресом Сервера CommuniGate Pro.

В этом GET или POST HTTP-запросе должны быть переданы следующие параметры:

command
Фиксированная строка runMonitorCmd.
userName
Полное имя пользователя сервера CommuniGate Pro, от имени которого запускается команда Контакт-центра (это может быть имя агента, супервизора или администратора Контакт-центра).
password
Пароль этого пользователя.
cmdName
Название команды Контакт-центра.
cmdParams
Текстовое представление словаря с параметрами данной команды Контакт-центра, например, {param1=value1;param2=value2;}

В случае успешного HTTP-ответа с кодом 200 в теле ответа будет содержаться JSON-объект, который может содержать следующие атрибуты:

error
Текст сообщения об ошибке обработки команды.
regResult
Результат регистрации (аутентификации) данного пользователя в Контакт-центре (если пользователь не является ни агентом, ни супервизором, ни администратором, то данный результат будет отрицательный, иначе в данном результате будут содержаться начальные данные регистрации).
cmdResult
В случае успешной регистрации здесь содержится результат выполнения самой команды Контакт-центра. В данном результате может содержаться как ошибка error, относящаяся непосредственно к данной команде, так и данные, выдаваемые согласно протоколу команд Контакт-центра. В случае успешного выполнения команды атрибут error в cmdResult будет отсутствовать.

Список команд HTTP API Контакт-центра

sessCreateObject
Эта команда используется для создания различных объектов Контакт-центра (агентов, очередей, меню IVR, исходящих кампаний и т.д.).
Параметры:
type
тип объекта (agent, group, ivr, campaign, smsTemplate).
name
имя объекта (имя агента, группы-очереди, IVR меню и т.д.).
settings
словарь с настройками объекта.
sessRemoveObject
Эта команда используется для удаления различных объектов Контакт-центра.
Параметры:
type
тип объекта.
name
имя объекта
sessGetAgents
Эта команда используется для получения списка всех агентов с их именами и короткими номерами.
sessGetGroups
Эта команда используется для получения списка всех групповых очередей с именами, короткими номерами и количеством агентов в очереди.
sessGetIVRs
Эта команда используется для получения списка всех IVR-меню с привязанными к ним номерами и адресами.
sessGetSMSTemplates
Эта команда используется для получения списка всех шаблонов для SMS.
sessAddAgentToGroup
Эта команда используется для добавления агента в группу очереди.
Параметры:
aName
имя агента.
gName
имя группы очереди.
sessGetSettings
Эта команда используется для получения настроек различных объектов Контакт-центра.
Параметры:
type
тип объекта настроек (general, agent, group, ivr, campaign, smsTemplate).
name
имя объекта настроек.
sessUpdateSettings
Эта команда используется для обновления настроек для различных объектов Контакт-центра.
Параметры:
type
тип объекта настроек (general, agent, group, ivr, campaign, smsTemplate).
name
имя объекта настроек.
settings
словарь с новыми настройками объекта.
sessRefreshObjects
Эта команда используется для получения на момент запроса текущего списка всех агентов, очередей, звонков, кампаний исходящего обзвона с текущими атрибутами реального времени (статус агентов, состояние очередей, атрибуты текущих звонков, имена участников текущих звонков и т.п.). Результат с текущим списком объектов приходит в атрибуте asyncEvents.
sessStopPeer
Эта команда используется для принудительного отсоединения участника звонка (отмены вызова участника или отсоединения его от установленного разговора).
Параметры:
pName
идентификатор участника в разговоре (peer id участника). Список текущих peer id содержится в ответе на команду sessRefreshObjects.
sessHold
Эта команда используется для постановки на удержание или снятия с удержания участника разговора.
Параметры:
pName
идентификатор участника разговора, который инициирует постановку собеседника на удержание (peer id участника). Список текущих peer id содержится в ответе на команду sessRefreshObjects.
mode
если этот параметр равен service, то инициатору постановки на удержание проигрывается сервисное меню, из которого можно сделать перевод собеседника на набранный номер, иначе инициатору ничего не проигрывается.
sessMute
Эта команда используется для включения или отключения обработки медиа для определенного участника звонка.
Параметры:
pName
идентификатор участника в разговоре (peer id участника), обработку медиа которого нужно отключить или включить. Список текущих peer id содержится в ответе на команду sessRefreshObjects.
mode
если этот параметр равен on, то медиа участника игнорируется, если off, то медиа участника снова начинает обрабатываться.
sessConferenceAdd
Эта команда используется для подключения к разговору или уже созданной конференции очередного участника для создания конференции.
Параметры:
pName
идентификатор участника в разговоре (peer id участника), от имени которого будет сделан вызов для приглашения в конференцию. Этот участник становится организатором конференции. Список текущих peer id содержится в ответе на команду sessRefreshObjects.
partyAddr
адрес, на который будет направлен вызов для приглашения в конференцию.
sessRedirectCall
Эта команда используется для перенаправления входящего звонка, ожидающего в очереди, на другой адрес.
Параметры:
name
идентификатор звонка (call id). Список текущих call id содержится в ответе на команду sessRefreshObjects.
redirPeer
идентификатор участника данного звонка (peer id участника), которого нужно перенаправить из очереди. Список текущих peer id содержится в ответе на команду sessRefreshObjects.
redirectTo
адрес, на который будет перенаправлен данный участник.
sessTransferCall
Эта команда используется для перевода участника установленного разговора на другой адрес (с консультацией или без консультации).
Параметры:
name
идентификатор звонка (call id). Список текущих call id содержится в ответе на команду sessRefreshObjects.
refPeer
идентификатор участника данного звонка (peer id участника), который является инициатором перевода своего собеседника (инициатор должен являться агентом Контакт-центра). Список текущих peer id содержится в ответе на команду sessRefreshObjects.
referTo
адрес, на который осуществляется перевод (консультационный вызов).
sessMakeCall
Эта команда используется для совершения звонка. Сначала Контакт-центр совершает звонок на первый адрес, при успешном ответе - на второй, после чего соединяет участников.
Параметры:
from
адрес первого участника, которому сначала поступает звонок от Контакт-центра.
to
адрес второго участника, которому поступает звонок после ответа первого участника.
sessSendSMS
Эта команда используется для отправки SMS в режиме одинарного сообщения или массовой рассылки.
Параметры:
name
имя агента, от имени которого отправляются SMS.
to
номер или адрес, на который отправляется SMS (если это адрес, то на него отправляется просто мгновенное сообщение).
fileRef
опциональный параметр. Содержит путь к файлу в файловом хранилище пользователя, который запускает команду (userName), со списком номеров, на которые будет массово отправлено данное SMS (например, путь /private/smsclients.data). Если этот параметр присутствует, то он будет использоваться вместо to.
content
текст SMS.
template
имя SMS-шаблона. Если этот параметр присутствует, то текст будет взят из указанного шаблона.
sessSetAgentStatus
Эта команда используется для установки статуса для агента.
Параметры:
name
имя агента.
status
новый статус агента (on, off или break).
sessSetCampaignStatus
Эта команда используется для установки статуса для кампании исходящего обзвона (запуск кампании, постановка на паузу, снятие с паузы, завершение кампании).
Параметры:
name
имя кампании.
status
новый статус кампании (inactive, inprocess - запуск кампании, paused, completed).
sessSetCallListener
Эта команда используется для подсоединения (и отсоединения) к звонку в режиме прослушки, подсказки, конференции.
Параметры:
name
идентификатор звонка (call id), к которому нужно подсоединиться. Список текущих call id содержится в ответе на команду sessRefreshObjects.
mode
режим подсоединения: eavesdrop - прослушка, whisper - подсказка, conference - конференция со всеми участниками звонка. Если этот атрибут отсутствует, то происходит отсоединение от звонка.
sessStopMonitor
Эта команда используется для остановки приложения монитора Контакт-центра.

Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт