
L'une des dernières tendances est les robots de chat en ligne. Mais que faire des clients hors ligne? Un grand pourcentage de personnes préfèrent appeler. Ils ont besoin soit d'un grand nombre d'opérateurs, soit d'une solution pour automatiser le travail vocal. Nous proposons une solution pour réduire le travail et les coûts (et même presque ne pas charger votre programmeur).
Comment programmer rapidement et facilement n'importe quel menu vocal, auto-formateur, robot secrétaire en référence à votre clientèle?
Spoiler: Tout est implémenté sur les webhooks et un exemple est donné en PHP.
Nous discutons sous la coupe.
Quoi et pourquoi?
Par exemple, vous avez un service de livraison ou une boutique en ligne avec votre propre service logistique. Certains clients appellent pour savoir comment ils font avec leur emballage / produit et cela peut être facilement automatisé. De même - la géolocalisation d'un taxi, la collecte de données à partir des compteurs, en général, toute information individuelle en ligne que vous pouvez donner à un client et ne pas passer du temps sur le temps «d'aide» des opérateurs en direct.
L'automatisation est très simple, nous allons décrire un exemple ci-dessous. Et, ah, tout cela peut être fait gratuitement.
Pourquoi pas votre astérisque?
Bien sûr, tout peut être fait sur Asterisk, mais ici, en plus du développeur, un administrateur est également requis, avec une connaissance de la sécurité des réseaux vocaux (car ils sont particulièrement friands de crack).
Nous considérons la mise en œuvre la plus simple de la solution au problème - sur les webhooks.
Liste des méthodes
Pour le travail, nous n'avons besoin que de 2 nouvelles méthodes, mais chacune d'elles offre de nombreuses opportunités, et surtout - des cycles illimités. Grâce aux cycles, vous pouvez obtenir un menu vocal de n'importe quelle profondeur et un informateur sur n'importe quel sujet.
Les principales méthodes:
- NOTIFY_START - début d'un appel entrant vers le PBX
- NOTIFY_IVR - réponse de l'abonné à l'action spécifiée
Une description détaillée des méthodes de copier-coller est disponible
dans la description de l'API .
Pour les demandes NOTIFY_START et NOTIFY_IVR, vous pouvez "à la volée" modifier le script de l'appel en cours en envoyant en réponse l'une des options suivantes:





En fait, le client appelle et écoute le message d'accueil, puis compose un numéro spécifique (par exemple, le numéro de commande), nous envoyons une notification avec les numéros qu'il a composés, le script de l'abonné vérifie la base de données et nous envoie une réponse à la notification. La réponse peut contenir l'identifiant du fichier vocal ou une variante du message vocal standard.
Nous avons un système standard pour reproduire les nombres, il n'est donc pas nécessaire d'enregistrer un message vocal préliminaire, c'est-à -dire que la notification nécessaire est extraite de la base de données et reproduite par le robot sous forme de nombre. Ou vous pouvez créer jusqu'à 100 variantes de modèles de notifications vocales et les envoyer en réponse à la demande d'un client (vos marchandises sont en stock, vous pouvez recevoir vos marchandises de 9 h à 22 h tous les jours sauf le dimanche, votre colis est au point de ramassage - métro Belorusskaya) .
Minimum pour la mise en œuvre
Pour que la secrétaire puisse répondre, il vous faut au moins un numéro de téléphone et un central téléphonique. Il vaut également la peine de télécharger à l'avance ou de lire automatiquement les réponses du secrétaire.
Personnaliser

- Un PBX gratuit pour notre tâche est configuré en trois clics (sélectionnez le nombre d'employés souhaité, le menu vocal peut être configuré ultérieurement).
- Les numéros de téléphone pour les centraux téléphoniques peuvent être connectés dans n'importe quelle grande ville de la Fédération de Russie ou dans 90 pays du monde. Le numéro est inclus immédiatement après vérification des documents (si vous avez besoin de documents pour cette région). Vous pouvez également connecter gratuitement l'un de vos numéros.
- Pour lire les messages vocaux, accédez à la section «Appels entrants et menu vocal» et sélectionnez l'option la plus appropriée. Vous pouvez soit télécharger vos fichiers, soit simplement imprimer le texte et le robot le lira automatiquement. Il y a 16 langues et plusieurs voix disponibles pour chaque langue (14 votes pour l'anglais). Vous pouvez enregistrer jusqu'à 100 messages vocaux dans votre compte personnel.

Exemple PHP
Pour montrer différentes possibilités, nous avons créé 4 exemples de travail avec IVR en PHP.
- Le système dicte les 3 derniers chiffres de CallerID (un exemple de travail avec des données sur le numéro et de prononciation des chiffres)
- L'utilisateur entre la date de naissance DTMF et le système indique combien de jours avant son DR. (Travailler avec DTMF et prononcer des nombres)
- Menu à plusieurs niveaux sans fin: l'utilisateur peut appuyer sur des chiffres et accéder au menu suivant ou précédent (un exemple de la façon dont vous pouvez créer n'importe quel nombre de menus vocaux avec un cycle simple).
- Un exemple d'autorisation pour obtenir un équilibre (utile pour de nombreux exemples tirés de la vie).
Les trois premiers exemples sont disponibles sur
Github . Dans l'exemple, tous les éléments nécessaires sont énoncés, il vous suffit de remplacer les fichiers par un thread (que vous devez précharger ou lire dans le PBX).
Tâche 4 : un message d'accueil vocal est dit à l'utilisateur et il lui est demandé d'entrer son numéro d'identification.Après avoir entré le numéro, le système prononce le solde, dit au revoir en utilisant une phrase de la liste des plus populaires et met fin à l'appel.
Nous donnons 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 étudions la nécessité d'étendre davantage la fonctionnalité des méthodes et de recueillir des commentaires, les suggestions dans les commentaires sont les bienvenues. De plus, de nombreuses autres méthodes de webhook et d'api sont disponibles. Une liste complète est
sur le site .