Перевод звонка на оператора
Если помощи агента оказалось недостаточно, звонок клиента можно перевести на оператора.
Как перевести звонок
Вызовите функцию Dialer.transferCall() любым способом: например, добавьте ее как отдельный шаг процесса или подключите в качестве инструмента к агенту.
Dialer.transferCall({
phoneNumber: "71234567890",
method: "invite",
continueCall: true,
continueRecording: true
});
| Параметр | Описание |
|---|---|
phoneNumber | Номер телефона оператора. Обязательный параметр. |
timeout | Время ожидания ответа в секундах. По умолчанию — 60. |
method |
|
continueCall | Вернуть звонок клиента в процесс после разговора с оператором. |
continueRecording | Записывать разговор с оператором. Записи доступны в разделе История запусков. |
headers | Дополнительные SIP-заголовки. Передаются объектом, например: {"Example-Header": "value1", "Another-Header": "value2"}. |
Результат перевода
После попытки перевода платформа отправляет событие transfer в триггер Сообщение.
Вызовите Dialer.getTransferStatus(), чтобы узнать результат:
| Статус | Описание |
|---|---|
SUCCESS | Оператор ответил на звонок. |
FAIL | Перевод не удался: линия занята, номер недоступен. |
TIMEOUT | Оператор не ответил в течение заданного времени. |
NOT_AVAILABLE | Перевод еще не вызывался в этой сессии. |
Варианты перевода
Без возврата в процесс
Звонок продолжается между клиентом и оператором, процесс в Agent Platform завершается.
- invite
- refer
Соединение идет через платформу. Можно записывать разговор с оператором.
Dialer.transferCall({
phoneNumber: "71234567890",
method: "invite",
continueCall: false,
continueRecording: true
});
События:
transfer— приходит сразу, когда оператор ответил или перевод не удался.hangup— приходит после завершения разговора с оператором.
Платформа отключается сразу, звонок идет напрямую через SIP-провайдера. Запись невозможна.
Dialer.transferCall({
phoneNumber: "71234567890",
method: "refer"
});
События:
transfer— приходит сразу, когда оператор ответил или перевод не удался.hangup— приходит сразу вслед заtransfer, так как платформа отключается.
С возвратом в процесс
После разговора с оператором клиент возвращается в процесс. Если оператор не ответил — клиент тоже возвращается.
Dialer.transferCall({
phoneNumber: "71234567890",
method: "invite",
continueCall: true
});
События:
transfer— приходит сразу, когда оператор ответил или перевод не удался.hangup— приходит, если клиент положил трубку в любой момент разговора.