Команда call/subscribe
Подписка на активные вызовы оператора
Параметры запроса
{
operatorIds: string[]
}
PY
Параметры ответа
CallFromServer[]
PY
export interface CallFromServer {
acd: 'true' | 'false'
answerTime: iso8601
numberA: string
numberB: string
direction: string
displayNameA: string
displayNameB: string
// Ссылка на диалог вызова, используется для получения записи разговора на этапе постобработки
callRef?: string
conferenceId?: string
faxReceive: 'true' | 'false'
faxUrls: Url[]
// Идентификатор вызова, используется для управления вызовом: принять, отбить, завершить и др.
id: string
onConsultation?: 'true' | 'false'
operatorId: string
isConsult: 'true' | 'false'
queueDescription: string
queueId: string
// Служебная ссылка на диалог, не используется
ref: string
releaseTime: iso8601
startTime: iso8601
status: ActiveCallStatus
supervising?: InterceptModes
type: ActiveCallType
}
type Url = string
export enum ActiveCallStatus {
working = 'working',
alerting = 'alerting',
initiating = 'initiating',
fax_receiving = 'fax_receiving',
fax_rejecting = 'fax_rejecting',
hold = 'hold',
acw = 'acw',
released = 'released',
finished = 'finished',
}
export enum ActiveCallType {
call = 'call',
mail = 'mail',
chat = 'chat',
}
export enum InterceptModes {
observing = 'observing',
consult = 'consult',
conference = 'conference',
}
PY
Идентификатор вызова id: string используется в командах call/accept, call/reject, call/complete
Ссылка на диалог вызова callRef?: string используется в команде call/getCallRecord
Коды ответов:
200
Пример:
Запрос:
{
"action": "call/subscribe",
"requestId": 13,
"payload": {
"operatorIds": [
"4"
]
}
}
PY
Код ответа:
200
Ответ:
{
"action": "call/subscribe",
"requestId": 13,
"payload": {},
"status": 200
}
PY
Сразу после этого приходит уведомление с пустым списком вызовов
{
"action": "event",
"requestId": 0,
"payload": {
"event": "call/subscribe",
"payload": []
},
"status": 200
}
PY
При входящем вызове, например с номера 6601 приходит уведомление
{
"action": "event",
"requestId": 0,
"payload": {
"event": "call/subscribe",
"payload": [
{
"id": "0648139dc0cb2f00",
"type": "call",
"status": "alerting",
"acd": "false",
"direction": "in",
"ref": "{<<\"0648139dbe8a77af\">>,95}",
"intervention": "true",
"callRef": "1993245726",
"isConsult": false,
"displayNameA": "Матвей Владимирович",
"displayNameB": "Константинопольский Константин",
"alertingTime": "2020/12/16 07:59:08",
"faxReceive": "true",
"startTime": "2020-12-16T07:59:08.000+07:00",
"numberA": "6601",
"numberB": "2004",
"operatorId": "4",
"faxUrls": []
}
]
},
"status": 200
}
PY
Для того чтобы принять вызов, нужно отправить команду call/accept, используя id вызова