IVR sur Webhook



Un chatbot en ligne est une tendance récente sur le marché. Mais comment interagir avec les clients hors ligne? Un pourcentage important de personnes préfèrent interagir par téléphone. Et l'entreprise a besoin d'un grand nombre d'opérateurs ou d'une solution d'automatisation des communications vocales. Nous proposons une solution pour réduire la charge de travail et les coûts (et affectera à peine l'activité de vos développeurs).

Comment programmer rapidement et facilement n'importe quel menu vocal, auto-informateur, robot-secrétaire avec une base de données client attachée?

Alerte spoiler: tout se fait en implémentant des webhooks et nous utilisons l'exemple PHP.

Quoi et pourquoi?

Par exemple, vous avez un service de livraison ou une boutique en ligne avec sa propre logistique en place. Certains clients appellent pour voir ce qu'il y a avec leurs packages et cela peut être facilement automatisé. Il en va de même pour la géolocalisation des cabines, certaines collectes de données ou toute information individuelle pouvant être rapportée au client sans gaspiller de puissance humaine.

Il peut être facilement automatisé, nous fournirons un exemple ci-dessous. Oh, et cela peut être fait complètement gratuitement.

Pourquoi pas votre propre astérisque?

Bien sûr, tout cela peut être fait avec Asterisk, mais à part le développeur, vous aurez également besoin d'un administrateur, qui est également familier avec la sécurité des communications vocales (car ils sont souvent piratés).
Nous allons donc discuter de la façon la plus simple de résoudre la tâche - avec les webhooks.

Liste des méthodes

Vous n'aurez besoin que de deux nouvelles méthodes pour le travail, mais chacune d'elles vous offre beaucoup de possibilités, et surtout - des cycles illimités. À l'aide de ces cycles, vous pouvez obtenir un menu vocal à plusieurs niveaux et un informateur pour n'importe quel sujet.

Principales méthodes:

  • NOTIFY_START - le début d'un appel entrant dans PBX
  • NOTIFY_IVR - réponse des appelants à une action donnée

La description détaillée de la méthode est disponible pour copier-coller dans la description de l'API .

Pour les demandes NOTIFY_START et NOTIFY_IVR, vous pouvez modifier les scénarios pendant l'appel en répondant avec l'une des options:








Ainsi, un client appelle et entend le message d'accueil, puis compose un certain numéro (par exemple, un code de suivi), nous envoyons une notification avec les chiffres saisis, le script vérifie avec la base de données et nous envoie la réponse. La réponse peut contenir un identifiant de fichier vocal ou une réponse vocale standard.

Nous avons un système de lecture de numéros standard, vous n'avez donc pas besoin d'enregistrer une réponse à l'avance; ce qui signifie que la notification appropriée est choisie dans la base de données et est lue comme un nombre par un robot. Ou vous pouvez créer jusqu'à une centaine de messages vocaux par défaut et les utiliser pour répondre aux clients (par exemple «Votre livraison est à l'entrepôt», «Vous pouvez recevoir votre colis tous les jours entre 9 h et 22 h).

Le minimum d'implémentation

Pour que le répondeur réponde, vous avez besoin au minimum d'un numéro de téléphone et d'un PBX. Vous devez également télécharger ou saisir les réponses possibles.

Mettre en place



  1. Le PBX gratuit pour cette tâche peut être défini en trois clics (choisissez le nombre d'employés et le menu vocal peut être défini ultérieurement)
  2. Les numéros de téléphone pour PBX peuvent être connectés à partir de 100 pays à travers le monde. Le numéro se connecte automatiquement une fois la vérification d'identité terminée (si elle est requise pour le pays de votre choix). Vous pouvez également connecter gratuitement l'un de vos numéros
  3. Pour définir les menus vocaux, accédez à la page «Appels entrants et RVI» et choisissez l'option qui vous convient le mieux. Ou vous pouvez télécharger vos fichiers, ou taper un texte et le robot le lira automatiquement. Il y a 16 langues disponibles avec plusieurs voix pour chacune (14 voix en anglais). Vous pouvez enregistrer jusqu'à 100 salutations dans votre compte personnel.



Exemple PHP

Pour démontrer différentes options, nous avons créé 4 exemples de performances IVR sur PHP.

  1. Le système indique les 3 derniers chiffres de CallerID (exemple de travail avec des informations sur les numéros et les chiffres de prononciation)
  2. L'utilisateur saisit sa date de naissance dans DTMF et le système indique combien de jours avant l'anniversaire (travail avec DTMF et prononciation des chiffres)
  3. Menu à plusieurs niveaux sans fin: l'utilisateur peut entrer des chiffres et accéder au menu suivant / précédent (exemple de la façon dont avec un cycle simple, vous pouvez créer n'importe quel nombre de menus vocaux)
  4. Exemple d'autorisation pour recevoir le statut de solde (utile dans de nombreuses situations de la vie)

Les trois premiers exemples sont disponibles sur GitHub . Là, vous avez tous les éléments requis, il vous suffit d'insérer les fichiers avec le remplissage (qui doivent être préalablement téléchargés ou lus dans le PBX).

Tâche 4 : l'appelant entend le message d'accueil et est invité à entrer le numéro d'identification, après avoir entré le système, indique le solde, dit au revoir en utilisant une phrase populaire de la liste et met fin à l'appel.

Voici un exemple de code pour la tâche décrite.
Code PHP

$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(); 

Nous cherchons à étendre nos fonctionnalités de méthode et à recueillir des commentaires dans les commentaires ci-dessous. Nous avons également d'autres méthodes et API de webhook disponibles, vous pouvez voir la liste complète sur le site Web .

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


All Articles