16.03.2021
Zadarma API MULTI IVR

Голосове меню - один з найважливіших інструментів для прийому вхідних дзвінків. 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.