16.03.2021
Zadarma API IVR

Menu głosowe jest jednym z najważniejszych narzędzi do odbierania połączeń przychodzących. IVR nie tylko dostarcza klientom przydatne informacje, ale także kieruje telefony do odpowiednich pracowników lub działów. A dziś jeden poziom menu głosowego nie zawsze wystarcza, odpowiemy, jak zrobić wielopoziomowy IVR we własnym zakresie dzięki API Zadarma.

Dlaczego potrzebujesz wielopoziomowego menu głosowego?

IVR (menu głosowe) przetwarza sygnały DTMF - wybierając tonowo klawisze na telefonie. W związku z tym dzięki kilku poziomom menu można nie tylko „przekierować” klientem, ale także zaoferować mu więcej opcji - wprowadzanie danych, odsłuchiwanie informacji, cofanie się o jeden krok itd.

Wielopoziomowe menu pomoże rozwiązać problemy, jeśli Twoja firma:

  • Posiada wiele oddziałów. Na przykład pracujesz z przedsiębiorstwami i osobami fizycznymi, a na pierwszym etapie po prostu rozdzielasz niektórych klientów od innych, a następnie wysyłasz ich do odpowiednich oddziałów.

  • Kilka projektów lub sklepów. Łatwo jest „zmieścić” wszystkie oddziały w ramach jednej wirtualnej centrali PBX. Za pomocą pierwszego menu pomożesz wybrać miasto, drugiego - konkretne biuro.

  • Kilka języków. Jeśli reprezentujesz dużą firmę i pracujesz z klientami z różnych krajów, logiczne jest, aby na pierwszym etapie wielopoziomowego IVR rozdzielić klientów według języka. Np. Język Polski wybiera 1, for English press 2. Zalecamy rozdzielanie klientów „językowych” według numeru osoby dzwoniącej lub numeru, na który dzwonią klienci.

Jak stworzyć wielopoziomowe menu?

Prosty IVR można utworzyć w odpowiedniej zakładce wirtualnej centrali PBX Zadarma. Nawet nie jedno menu, ale kilka różnych, na przykład do połączeń przychodzących pod różne numery wirtualne. Prześlij plik (lub nagraj za pomocą lektora) nagrania powitania i skonfiguruj scenariusz obsługi połączeń.

Wielopoziomowe menu może być skonfigurowane za pomocą gotowej biblioteki PHP. Oto warunki niezbędne do pracy:

  1. Wirtualna centrala PBX musi być utworzona i aktywna na koncie.
  2. W zakładce „Moja centrala - Połączenia przychodzące i menu głosowe” powinny być załadowane pliki audio powitań głosowych oraz stworzono scenariusze połączeń przychodzących.
  3. W zakładce „Moja centrala - Numery wewnętrzne” dodano wymaganą liczbę numerów wewnętrznych dla każdego z pracowników, a także skonfigurowano aplikacje/oprogramowanie lub sprzęt do odbierania połączeń lub włączono przekierowanie.
  4. Wirtualny numer dla połączeń przychodzących powinien być wybrany i zakupiony na koncie, na który będą przychodzić połączenia klientów.
  5. W zakładce Ustawienia - Integracje i API wygenerowano klucz i secret key do pracy z interfejsem API.

Szczegółowe możliwości i zasady tworzenia menu opisano w naszym Github. Poniżej pokażemy mały przykład kodu do stworzenia menu.

Wielopoziomowe menu głosowe jest tworzone za pomocą webhooków. Aby to zrobić, musisz mieć już doświadczenie z PHP i Git, a także własny serwer lub usługą innej firmy do hostowania kodu, ze stałym adresem URL, do którego będą wysyłane elementy Webhook. Oto kilka najważniejszych wymagań dotyczących konfiguracji serwera:


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

Przykład tworzenia menu głosowego

Aby otrzymywać powiadomienia o połączeniach, musisz utworzyć publicznie dostępny link, który będzie akceptował żądania POST z informacjami z systemu Zadarma. Ten link musi być wskazany na koncie osobistym w polu „Powiadomienia o połączeniach w centrali telefonicznej”.

Pobierz bibliotekę pod adresem Github, i za pomocą linku umieść następujący kod 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 i $secret - klucze do autoryzacji w interfejsie API, należy je wygenerować na swoim koncie. $ivrMenuConfig - plik tekstowy z konfiguracją menu głosowego, która zostanie omówiona poniżej.

Dla wygody dostosowywania menu głosowego dla każdego klienta cała jego konfiguracja znajduje się w osobnym pliku. Aby zmienić menu, nie musisz zmieniać kodu, wystarczy zmienić jego ustawienia.

A teraz przykład naszego menu. Tworzymy dwupoziomowe menu głosowe:

Poziom pierwszy: Witamy w firmie Wawilon. Jeśli dzwonisz jako firma, naciśnij 1. Jeśli dzwonisz jako osoba fizyczna, naciśnij 2.

Przycisk 1. Aby skontaktować się z działem księgowości, naciśnij 1, jeśli chcesz skontaktować się z działem sprzedaży, naciśnij 2. Jeśli masz inne pytanie, poczekaj na odpowiedź operatora.

Przycisk 2. Jeśli jesteś nowym klientem, naciśnij 1. Jeśli jesteś już naszym klientem, naciśnij 2 lub poczekaj na odpowiedź operatora.

Przykład wielopoziomowego menu głosowego:


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 - rodzaj akcji. Istnieją 2 możliwe rodzaje action:

  • redirect - przekierowanie na scenariusz lub numer wewnętrzny centrali;
  • goto - przejście do menu głosowego według jego nazwy.

W naszym przykładzie:

  • numer wewnętrzny 102 - pracownik działu księgowości do pracy z firmami
  • numer wewnętrzny 100 - operator pierwszej linii
  • scenariusze menu 1-5 - dział sprzedażyi
  • numer wewnętrzny 105 - pracownik do pracy z nowymi klientami
  • scenariusze menu 6-7 - pracownik działu do pracy z osobami fizycznymi
  • playfile=a6842305f1996e34 - plik audio powitania głosowego przesłany w Panelu klienta, aby uzyskać identyfikator pliku przejdź do ustawień menu głosowego przycisk ("Wybierz lub nagraj inny tekst")

Dodatkowo możesz ustawić harmonogram i godziny pracy. Przykład konfiguracji można znaleźć również na Github.