15.03.2021
Zadarma API MULTI IVR

Голосовое меню - один из важнейших инструментов для приема входящих звонков. IVR не только знакомит клиентов с полезной информацией, но и направляет звонки на нужных сотрудников или подразделения. Сегодня одного уровня голосового меню не всегда достаточно, рассказываем как сделать интерактивное голосовое меню своими руками благодаря API Zadarma.

Зачем нужно многоуровневое голосовое меню?

IVR (голосовое меню) обрабатывает DTMF-сигналы — нажатие клавиш телефона. Соответственно, благодаря нескольким уровням меню, вы сможете не только “направить” клиента, но и предложить ему больше опций - ввести данные, прослушать информацию, вернуться на шаг назад.

Многоуровневое меню поможет решить задачи, если в вашем бизнесе:

  • Много подразделений. Например, вы работаете с корпоративными и физическими лицами и на первом шаге вам просто отделить одних клиентов от других и после отправлять на нужные подразделения.

  • Несколько филиалов или магазинов. Причем все филиалы легко “уместить” в рамках одной виртуальной АТС. С помощью первого меню вы поможете выбрать город, второго - конкретный офис.

  • Несколько языков. Если вы крупная компания и работаете с клиентами из разных стран логично на первом этапе многоуровневого IVR разделять клиентов по языкам. For English press 1, para español pulsa 2 . Хотя мы рекомендуем разделять "языковых" клиентов по номеру звонящего или номеру, на который звонят клиенты.

Как создать многоуровневое меню?

Простой IVR вы сможете создать в соответствующем разделе виртуальной АТС Zadarma. Даже не одно меню, а сразу несколько, например, для входящих звонков на разные номера. Загружаете (или начитываете с помощью робота) запись приветствия и настраиваете сценарий обработки вызовов.

Многоуровневым меню АТС можно управлять с помощью готовой PHP библиотеки. Вот обязательные условия для работы:

  1. АТС должна быть создана и активна
  2. В разделе "Моя АТС - Входящие звонки и голосовое меню" загружены аудиофайлы голосовых приветствий, а также созданы сценарии входящих звонков
  3. В разделе "Моя АТС - Внутренние номера" добавлено необходимое количество внутренних номеров АТС, на них настроено ПО или оборудование для приема звонков либо включена переадресация
  4. Подключен виртуальный номер для входящих звонков, на который будут поступать звонки клиентов
  5. В разделе Настройки - Интеграции и API сгенерирован Key и Secret для работы с API

Подробные возможности и правила создания меню описаны в Github. Здесь мы покажем небольшой пример и представим код для создания меню.

Многоуровневое голосовое меню создается посредством Webhooks. Для этого у вас уже должен быть опыт работы с PHP и Git, а также собственный сервер, либо сторонний сервис для размещения кода, с постоянным URL на который будут отправляться webhooks. Вот еще важные требования к конфигурации сервера:


PHP >= 7.2.0
cURL
TLS v1.2
php-mbstring

Пример создания голосового меню

Для приема уведомлений о звонках необходимо создать открытую для всеобщего доступа ссылку, которая будет принимать POST-запросы с информацией из системы Zadarma. Эту ссылку необходимо указать в личном кабинете под заголовком "Уведомления о звонках в АТС".

Скачайте библиотеку на Github, и по ссылке разместите следующий php код:


<?php

use MultiIvr\MultiIvr;

if (isset($_GET['zd_echo'])) {
    exit($_GET['zd_echo']);
}

require_once 'vendor/autoload.php';
$key = 'Your api key';
$secret = 'Your api secret';
$ivrMenuConfig = 'your config';
MultiIvr::default()->handle($key, $secret, $ivrMenuConfig);

$key и $secret - ключи для авторизации в интерфейсе API, их необходимо получить в личном кабинете. $ivrMenuConfig - текстовый файл с конфигурацией голосового меню, речь о котором пойдет ниже.

Для удобства настройки голосового меню под каждого клиента, вся его конфигурация IVR находится в отдельном файле. Чтобы изменить меню под себя не нужно менять код, достаточно просто поменять его настройки.

Теперь наш пример. Мы создаем двухуровневое голосовое меню:

Первый уровень: Вы позвонили в компанию “Вавилон”. Если вы работаете, как юридическое лицо, нажмите 1. Если вы физическое лицо - нажмите 2.

Кнопка 1.Для связи с бухгалтерией нажмите 1, если хотите связаться с корпоративным отделом нажмите 2.Если у вас другой вопрос, дождитесь ответа оператора.

Кнопка 2. Если вы новый клиент, нажмите 1. Если вы являетесь нашим клиентом нажмите 2 или дождитесь ответа оператора.

Пример многоуровневого голосового меню:


start default action=goto action-target=main
menu name=main playfile=43d8a740ec032766
menu name=main button=1 action=goto action-target=main.1
menu name=main button=2 action=goto action-target=main.2
menu name=main default action=redirect action-target=100

menu name=main.1 playfile=a279dd3a1da19e57
menu name=main.1 button=1 action=redirect action-target=102
menu name=main.1 button=2 action=redirect action-target=1-5
menu name=main.1 default action=redirect action-target=100

menu name=main.2 playfile=a6842305f1996e34
menu name=main.2 button=1 action=redirect action-target=105
menu name=main.2 button=2 action=redirect action-target=6-7
menu name=main.2 default action=redirect action-target=100

Action - тип действия. Возможны 2 значения action:

  • redirect - перевод на сценарий или внутренний номер АТС;
  • goto - переход на голосовое меню по его имени.

В нашем примере:

  • внутренний номер 102 - сотрудник из бухгалтерии по работе с корпоративными клиентами
  • внутренний номер 100 - оператор первой линии поддержки
  • сценарии меню 1-5 - корпоративный отдел
  • внутренний номер 105 - менеджер по работе с новыми клиентами
  • сценарии меню 6-7 - отдел по работе с физ.лицами
  • playfile=a6842305f1996e34 - загруженный в личный кабинет аудиофайл голосового приветствия, чтобы получить ID файла перейдите в настройки голосовых меню (кнопка "Выбрать или начитать другой файл")

Дополнительно вы можете задать расписание и рабочее время. Пример для этого найдете на Github.