Это пример приложения на Ruby on Rails, моделирующий типичный опыт работы колл-центра, но с добавлением больше Reese’s Pieces.
Потерявшиеся инопланетяне могут позвонить агенту и получить инструкции о том, как безопасно покинуть Землю. В этом руководстве мы покажем ключевые фрагменты кода, которые позволяют агенту отправить звонящего на голосовую почту, а позже прочитать расшифровки и прослушать сообщения.
Чтобы запустить это примерное приложение самостоятельно, скачайте код и следуйте инструкциям на GitHub.
*Больше примеров создания IVR-приложений можно найти на нашей странице IVR-приложений.*
Когда наш инопланетный звонящий выбирает планету, нам нужно определить, куда направить звонок. В зависимости от его выбора мы направляем звонок на добавочный номер. Добавочные номера используются для поиска *агента*. Любая строка может быть использована для определения добавочного номера.
Как только мы находим агента, мы можем использовать глагол
С этой информацией мы предоставляем инопланетянам список доступных агентов, чтобы они могли выбрать одного. Давайте посмотрим, как мы ищем агента.
Когда мы получаем звонок от инопланетянина, мы предлагаем ему набор опций. В данном случае опции следующие:
— Для Бродо нажмите 2
— Для Дюгоба нажмите 3
— Для Убера нажмите 4
Когда наш инопланетный звонящий сделал выбор, мы используем нажатую клавишу для поиска `Агента`.
Теперь, когда пользователь выбрал своего агента, нашим следующим шагом будет соединение звонка с этим агентом.
Этот код начинает процесс передачи звонка нашему агенту.
Передавая `url` в существительное `
По сути, мы говорим Twilio выполнить некоторый TwiML, который услышит только агент.
Теперь нашего агента можно вызвать, но как агент взаимодействует с этой функцией? Давайте разберемся, что происходит во время скрининга звонка агента.
Когда наш агент поднимает трубку, мы используем глагол `
Если агент отвечает, введя любую цифру, ответ будет обработан нашим маршрутом `ivr/agent_screen`. Это `
Теперь наш агент может взаимодействовать со звонком, но что, если наш агент в данный момент отсутствует? В таких случаях полезно настроить голосовую почту.
Когда Twilio делает запрос к нашему методу действия `Call`, он передает аргумент `DialCallStatus`, чтобы сообщить нам статус звонка. Если статус — `»completed»`, мы завершаем звонок. В противном случае нам нужно `
Мы также указываем `action` для `
Теперь давайте сделаем шаг назад, чтобы увидеть, как на самом деле записать звонок.
Когда мы говорим Twilio записывать, у нас есть несколько опций, которые мы можем передать глаголу `
Здесь мы указываем `
Обратите внимание, что мы перенаправляем на URL, специфичный для этого агента. Это удобный способ указать, какой агент был вызван для создания голосового сообщения. Таким образом, мы также можем сохранить связанного агента вместе с голосовым сообщением.
Наконец, мы увидим, как просмотреть голосовую почту агента.
Как только мы находим Агента, всё, что нам нужно сделать, — это отобразить его записи. Мы связываем агента вместе с его записями в `View`.
Можно искать записи через Twilio REST API, но так как у нас уже есть все необходимые данные в запросе `transcribeCallback`, мы можем легко сохранить их самостоятельно и сэкономить время на дополнительном запросе.
Вот и всё! Мы только что реализовали IVR с реальными агентами, скринингом звонков и голосовой почтой.
Если вы разработчик на Ruby, работающий с Twilio, возможно, вам будут интересны и другие наши руководства.
Увеличьте скорость отклика, автоматизируя ключевые для вашего бизнеса рабочие процессы.
Отправляйте своим клиентам текстовое сообщение, когда у них предстоящая встреча — это руководство покажет, как это сделать из фонового задания.
#### Помогло ли это?
Спасибо за ознакомление с этим руководством! Если у вас есть отзывы, которыми вы хотите поделиться, мы будем рады их услышать. Свяжитесь с нами в Twitter и расскажите, что вы создали!