Сегодня мы с радостью объявляем о выпуске Call Progress Events — новой функции, которая позволяет создавать продвинутые приложения для исходящего набора и дает возможность детально управлять вызовами. Вам больше не нужно поддерживать сложное состояние приложения, поскольку Call Progress Events использует вебхуки для мгновенного уведомления о том, что происходит во время исходящего вызова, и оповещения о прохождении ключевых событий, таких как Initiated (Инициирован), Ringing (Звонок), Answered (Отвечен) и Completed (Завершен).
До сих пор мы предоставляли уведомления об основных изменениях статуса вызова: когда вызов был инициирован и когда он был завершен. Но по мере масштабирования решений наших клиентов для колл-центров, исходящего набора и отслеживания вызовов, мы увидели необходимость в предоставлении детализированных метаданных вызовов для питания систем аналитики вызовов и систем распределения вызовов на основе правил.
События прогресса звонка включаются с помощью нового параметра TwiML StatusCallbackEvent, который запускает отправку вебхука при каждом изменении состояния вызова: initiated, ringing, answered и completed. Новый параметр TwiML StatusCallbackEvent доступен в API, а также для существительных в .
Например, если мы хотим совершить звонок с номера 866-567-1234 на номер 415-555-1212 и получать уведомления о каждом событии, мы можем указать параметр StatusCallbackEvent в нашем запросе к API:
После включения Call Progress Events вы можете отслеживать текущий статус ваших исходящих вызовов вместо того, чтобы опрашивать API для проверки статуса вызова и поддерживать сложное состояние приложения. С помощью этого вы можете создавать системы аналитики для понимания жизненного цикла ваших вызовов и прогнозирования наилучшего времени для звонка вашим клиентам.
Вы также можете устанавливать правила в своем приложении на основе этих событий, например, указав, что все звонки клиентам должны звонить не более 10 секунд. Если клиенты недоступны в течение 10 секунд, вам следует перенаправить агентов на разговор со следующим клиентом. Для реализации этого вы можете указать, что вебхуки Call Progress Events будут отправляться для событий initiated, ringing и answered для вашего звонка клиенту. После получения события ringing установите таймер, который либо истекает через 10 секунд, либо отменяется при получении события answered.
Допустим, у нас есть Агент Алиса на линии, но вы заметили через свои вебхуки, что звонок Клиенту Бобу длится уже 10 секунд.
Теперь ваше приложение перенаправит вызов Агента Алисы следующему клиенту. В параметрах, отправляемых с каждым вебхуком события, вы получите не только статус вызова, но и Call Sid и Parent Call Sid (если применимо), которые необходимы для перенаправления вызовов. Мы получим Parent Call Sid, чтобы перенаправить вызов Агента Алисы:
И мы будем использовать этот Call Sid в POST-запросе к API, который перенаправляет ветвь вызова Агента Алисы для соединения со следующим клиентом:
Это лишь один из вариантов использования гибкого управления ветвями вызова, но возможности безграничны. Вы можете управлять любой ветвью вызова и перенаправлять ее на новый TwiML с помощью всего одного POST-запроса к API.
Мы считаем, что Call Progress Events поможет вам создавать приложения, которые эффективно соединяют ваших клиентов и агентов, и позволит вам сосредоточиться на бизнесе, а не на поддержании состояния приложения. Узнайте больше о Call Progress Events в нашей документации по API и TwiML для , , и . Мы не можем дождаться, чтобы увидеть, что вы создадите.