Перейти к основному содержимому

Перевод звонка на оператора

Если помощи агента оказалось недостаточно, звонок клиента можно перевести на оператора.

Как перевести звонок

Вызовите функцию Dialer.transferCall() любым способом: например, добавьте ее как отдельный шаг процесса или подключите в качестве инструмента к агенту.

Dialer.transferCall({
phoneNumber: "71234567890",
method: "invite",
continueCall: true,
continueRecording: true
});
ПараметрОписание
phoneNumberНомер телефона оператора. Обязательный параметр.
timeoutВремя ожидания ответа в секундах. По умолчанию — 60.
method
  • invite — соединение проходит через платформу, можно записывать разговор с оператором.
  • refer — напрямую через SIP-провайдера. Параметры continueCall, continueRecording и headers игнорируются.
continueCallВернуть звонок клиента в процесс после разговора с оператором.
continueRecordingЗаписывать разговор с оператором. Записи доступны в разделе История запусков.
headersДополнительные SIP-заголовки. Передаются объектом, например: {"Example-Header": "value1", "Another-Header": "value2"}.

Результат перевода

После попытки перевода платформа отправляет событие transfer в триггер Сообщение.

Вызовите Dialer.getTransferStatus(), чтобы узнать результат:

СтатусОписание
SUCCESSОператор ответил на звонок.
FAILПеревод не удался: линия занята, номер недоступен.
TIMEOUTОператор не ответил в течение заданного времени.
NOT_AVAILABLEПеревод еще не вызывался в этой сессии.

Варианты перевода

Без возврата в процесс

Звонок продолжается между клиентом и оператором, процесс в Agent Platform завершается.

Соединение идет через платформу. Можно записывать разговор с оператором.

Dialer.transferCall({
phoneNumber: "71234567890",
method: "invite",
continueCall: false,
continueRecording: true
});

События:

  • transfer — приходит сразу, когда оператор ответил или перевод не удался.
  • hangup — приходит после завершения разговора с оператором.

С возвратом в процесс

После разговора с оператором клиент возвращается в процесс. Если оператор не ответил — клиент тоже возвращается.

Dialer.transferCall({
phoneNumber: "71234567890",
method: "invite",
continueCall: true
});

События:

  • transfer — приходит сразу, когда оператор ответил или перевод не удался.
  • hangup — приходит, если клиент положил трубку в любой момент разговора.