5.1.2. Передача команд

Реализуется с помощью передачи в ДП XML-пакета с тегом <Command> и совокупностью атрибутов этого тега, детализирующих команду, объект, место применения и направление взаимодействия, а также уточняющих момент возникновения и указание как реакции на команду:

Подписка на события определенной категории
<Command [ID=”GUID”] Action=”Вид команды” Mode=”место”> </Command>

Если разработчик внешнего приложения нуждается в контроле исполнения команды, то он самостоятельно генерирует GUID и указывает его в качестве идентификатора конкретной команды (атрибут ID) - в таком случае от ДП поступит ответ

Результат исполнения команды на подписку
<CommandResult ID=”GUID, указанный разработчиком” Action=”указанный вид команды” Mode=”указанное место”>
<Result></Result>
[<Error>Описание ошибки по-английски</Error>]
</CommandResult>
ActionОписание

Входной параметр (тег)

ПримечаниеПример
ChangeMyOnlineStatusСменить собственный онлайн-статус<Status>Атрибут Mode не указывается
Смена статуса
<Command ID="123" Action="ChangeMyOnlineStatus"><Status>Away</Status></Command>
SendMessageОтправить пользовательское сообщение в чаттеги, присущие указанному значению атрибута Mode
Отправка сообщения
<Command ID="123" Action="SendMessage" Mode="Colleagues"><ColleagueID>11111111-1111-1111-1111-111111111111</ColleagueID>
<MessageBody>test</MessageBody></Command>
теги, присущие Object="Message"
CallToПозвонить в чаттеги, присущие указанному значению атрибута Mode


теги, присущие Object="Call" для State=”Initialized
Позвонить в софтфонтеги, присущие указанному значению атрибута Mode
Звонок в софтфон
<Command ID="123" Action="CallTo" Mode="Softphone"><CallTo>11111111111</CallTo></Command>
GetAvailableSpecialistsПолучить список специалистов, доступных для перевода обращения в чате по ЛП<ServiceID>Только Mode="ServicesClients"
Получить список специалистов
<Command ID=”123” Action=”GetAvailableSpecialists” Mode=”ServicesClients”><ServiceID>22222222-2222-2222-2222-222222222222</ServiceID></Command>
GetAvailableServiceLinesПолучить список других ЛП, доступных для перевода обращения в чате по ЛПтеги, присущие Mode="ServicesClients"
Получить список ЛП
<Command ID=”123” Action=”GetAvailableServiceLines” Mode=”ServicesClients”><ServiceID>22222222-2222-2222-2222-222222222222</ServiceID><UserID>11111111-1111-1111-1111-111111111111</UserID></Command>
OpenTreatmentОткрыть обращение на ЛП (самоназначиться)теги, присущие Mode="ServicesClients"
Открыть обращение
<Command ID=”123” Action=”OpenTreatment” Mode=”ServicesClients”><UserID>11111111-1111-1111-1111-111111111111</UserID><ServiceID>22222222-2222-2222-2222-222222222222</ServiceID></Command>
CloseTreatmentЗакрыть обращение в ЛП<TreatmentID>Только Mode="ServicesClients"
Закрыть обращение
<Command ID=”123” Action=”CloseTreatment” Mode=”ServicesClients”><TreatmentID>33333333-3333-3333-3333-333333333333</TreatmentID></Command>
TransferTreatmentПеревести обращение на другого специалиста/другую ЛП<TreatmentID>Только Mode="ServicesClients"
Перевод обращения
<Command ID=”123” Action=”TransferTreatment” Mode=”ServicesClients”><TreatmentID>33333333-3333-3333-3333-333333333333</TreatmentID><SpecialistID>1111111-1111-1111-1111-111111111111</SpecialistID></Command>
Перевод обращения
<Command ID=”123” Action=”TransferTreatment” Mode=”ServicesClients”><TreatmentID>33333333-3333-3333-3333-333333333333</TreatmentID><ServiceID>2222222-2222-2222-2222-222222222222</ServiceID><Citation>Имя [04.02.2019 12:30] текст</Citation></Command>
<SpecialistID>/<ServiceID>Указывать либо специалиста, либо линию поддержки. Возможные значения получать командами GetAvailableSpecialists и GetAvailableServiceLines

[ <Citation> ]

Цитата, сопровождающая перевод обращения, формат цитаты: Имя_автора [dd.mm.yyyy hh:mm] текст_цитаты