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

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] текст_цитаты