Подписка на активные вызовы оператора
Параметры запроса
{ operatorIds: string[] }
Параметры ответа
CallFromServer[]
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', }
Идентификатор вызова id: string используется в командах call/accept, call/reject, call/complete
Ссылка на диалог вызова callRef?: string используется в команде call/getCallRecord
Коды ответов:
200
Пример:
Запрос:
{ "action": "call/subscribe", "requestId": 13, "payload": { "operatorIds": [ "4" ] } }
Код ответа:
200
Ответ:
{ "action": "call/subscribe", "requestId": 13, "payload": {}, "status": 200 }
Сразу после этого приходит уведомление с пустым списком вызовов
{ "action": "event", "requestId": 0, "payload": { "event": "call/subscribe", "payload": [] }, "status": 200 }
При входящем вызове, например с номера 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 }
Для того чтобы принять вызов, нужно отправить команду call/accept, используя id вызова
0 Комментариев