Sprachsekretär bei Webhooks



Einer der neuesten Trends sind Online-Chat-Bots. Aber was tun mit Kunden, die offline sind? Ein großer Prozentsatz der Menschen ruft lieber an. Sie benötigen entweder eine große Anzahl von Bedienern oder eine Lösung zur Automatisierung der Spracharbeit. Wir bieten eine Lösung zur Reduzierung von Arbeit und Kosten (und laden Ihren Programmierer sogar fast nicht).

Wie können Sie schnell und einfach ein Sprachmenü, einen Autoinformer oder einen Sekretärsroboter in Bezug auf Ihren Kundenstamm programmieren?

Spoiler: Alles ist auf Webhooks implementiert und ein Beispiel ist in PHP angegeben.

Wir diskutieren unter dem Schnitt.

Was und warum?


Sie haben beispielsweise einen Lieferservice oder einen Online-Shop mit einem eigenen Logistikservice. Einige Kunden rufen an, um herauszufinden, wie sie mit ihrem Paket / Produkt umgehen, und dies kann leicht automatisiert werden. Ebenso - die Geolokalisierung eines Taxis, die Erfassung von Daten von Zählern, im Allgemeinen alle einzelnen Online-Informationen, die Sie einem Kunden geben können, und keine Zeit für die Hilfezeit von Live-Betreibern.

Die Automatisierung ist sehr einfach. Im Folgenden wird ein Beispiel beschrieben. Und das alles kann absolut kostenlos gemacht werden.

Warum nicht dein Sternchen?


Natürlich kann alles mit Asterisk erledigt werden, aber hier ist neben dem Entwickler auch ein Administrator erforderlich, der die Sicherheit von Sprachnetzwerken kennt (da diese besonders gern knacken).

Wir betrachten die einfachste Implementierung der Lösung des Problems - auf Webhooks.

Methodenliste


Für die Arbeit brauchen wir nur zwei neue Methoden, aber jede bietet viele Möglichkeiten und vor allem unbegrenzte Zyklen. Dank der Zyklen erhalten Sie ein Sprachmenü beliebiger Tiefe und einen Informanten zu jedem Thema.

Die Hauptmethoden:


  • NOTIFY_START - Beginn eines eingehenden Anrufs an die TK-Anlage
  • NOTIFY_IVR - Antwort des Abonnenten auf die angegebene Aktion

Eine detaillierte Beschreibung der Methoden zum Kopieren und Einfügen finden Sie in der API-Beschreibung .

Für NOTIFY_START- und NOTIFY_IVR-Anforderungen können Sie das Skript für den aktuellen Anruf "on the fly" ändern, indem Sie als Antwort eine der folgenden Optionen senden:







Tatsächlich ruft der Kunde an und hört auf die Begrüßung, wählt dann eine bestimmte Nummer (z. B. Bestellnummer), wir senden eine Benachrichtigung mit den von ihm gewählten Nummern, das Skript des Abonnenten überprüft die Datenbank und sendet eine Antwort auf die Benachrichtigung an uns. Die Antwort kann die ID der Sprachdatei oder eine Variante der Standard-Sprachnachricht enthalten.

Wir haben ein Standardsystem zur Wiedergabe von Zahlen, so dass keine vorläufige Sprachnachricht aufgezeichnet werden muss, dh die erforderliche Benachrichtigung wird aus der Datenbank entnommen und vom Roboter als Zahl wiedergegeben. Oder Sie können bis zu 100 Varianten von Vorlagen-Sprachbenachrichtigungen erstellen und diese auf Kundenwunsch senden (Ihre Waren sind auf Lager, Sie können Ihre Waren täglich von 9 bis 22 Uhr erhalten, außer sonntags, Ihr Paket befindet sich am Abholpunkt - Belorusskaya Metro). .

Minimum für die Implementierung


Damit die Sekretärin antworten kann, benötigen Sie mindestens eine Telefonnummer und eine Telefonzentrale. Es lohnt sich auch, im Voraus herunterzuladen oder die Antworten der Sekretärin automatisch zu lesen.

Anpassen




  1. Eine kostenlose Telefonanlage für unsere Aufgabe wird mit drei Klicks konfiguriert (wählen Sie die gewünschte Anzahl von Mitarbeitern aus, das Sprachmenü kann später konfiguriert werden).
  2. Telefonnummern für die automatische Telefonvermittlung können in jeder großen Stadt der Russischen Föderation oder in 90 Ländern der Welt angeschlossen werden. Die Nummer wird sofort nach Überprüfung der Dokumente angegeben (wenn Sie Dokumente für diese Region benötigen). Sie können auch eine Ihrer Nummern kostenlos verbinden.
  3. Um die Sprachgrüße zu lesen, gehen Sie zum Abschnitt „Eingehende Anrufe und Sprachmenü“ und wählen Sie die geeignetere Option aus. Sie können entweder Ihre Dateien hochladen oder einfach den Text drucken und der Roboter liest ihn automatisch. Für jede Sprache stehen 16 Sprachen und mehrere Stimmen zur Verfügung (14 Stimmen für Englisch). Sie können bis zu 100 Sprachgrüße in Ihrem persönlichen Konto speichern.



PHP Beispiel


Um verschiedene Möglichkeiten aufzuzeigen, haben wir 4 Beispiele für die Arbeit mit IVR in PHP erstellt.

  1. Das System diktiert die letzten 3 Ziffern von CallerID (ein Beispiel für die Arbeit mit Daten zur Nummer und das Aussprechen der Ziffern).
  2. Der Benutzer gibt das DTMF-Geburtsdatum ein und das System gibt an, wie viele Tage vor seiner DR. (Arbeiten mit DTMF und Aussprechen von Zahlen)
  3. Endloses mehrstufiges Menü: Der Benutzer kann Zahlen drücken und zum nächsten oder vorherigen Menü gelangen (ein Beispiel dafür, wie Sie mit einem einfachen Zyklus eine beliebige Anzahl von Sprachmenüs erstellen können).
  4. Ein Beispiel für die Autorisierung, um ein Gleichgewicht zu erhalten (nützlich für viele Beispiele aus dem Leben).

Die ersten drei Beispiele sind auf Github verfügbar. Im Beispiel sind alle erforderlichen Elemente buchstabiert. Sie müssen lediglich Dateien durch einen Thread ersetzen (den Sie vorladen oder in die TK-Anlage einlesen müssen).

Aufgabe 4 : Der Benutzer erhält eine Sprachansage und wird aufgefordert, seine Identifikationsnummer einzugeben. Nach Eingabe der Nummer spricht das System den Kontostand aus, verabschiedet sich mit einem Satz aus der Liste der beliebtesten und beendet den Anruf.

Wir geben ein Beispiel für Code für die beschriebene Aufgabe.

PHP-Code :

$request = new Request(); $notify = self::getEvent([AbstractNotify::EVENT_START, AbstractNotify::EVENT_IVR]); if (!$notify) { return; } switch ($notify->event){ case AbstractNotify::EVENT_START: $request ->setIvrPlay(self::INFO_FILE_ID) ->setWaitDtmf(TIMEOUT , ATTEMPTS, MAXDIGITS, DTMF_NAME, DEFAULT_BEHAVIOUR); break; case AbstractNotify::EVENT_IVR: if (!empty($notify->wait_dtmf->digits)) { $balance = getBalance($notify->wait_dtmf->digits); $request->setIvrSayNumber($balance, 'en'); } elseif (!empty($notify->ivr_saynumber)) { $request->setIvrSayPopular(POPULAR_PHRASE_NUM, 'en'); } else { $request->setHangup(); } } $request->send(); 

Wir untersuchen die Notwendigkeit, die Funktionalität der Methoden weiter auszubauen und Feedback zu sammeln. Vorschläge in den Kommentaren sind willkommen. Darüber hinaus stehen viele andere Webhook- und API-Methoden zur Verfügung. Eine vollständige Liste finden Sie auf der Website .

Source: https://habr.com/ru/post/de448178/


All Articles