Comment recevoir un appel téléphonique dans Node.js grâce à Twilio functions
Temps de lecture: 4 minutes
Twilio Voice est un service simple et hautement personnalisable qui vous permet d'automatiser vos flux de travail téléphoniques. Dans ce tutoriel, vous allez apprendre à créer une application Node.js, optimisée par les fonctions Twilio, afin de recevoir des appels téléphoniques sur votre numéro Twilio.
Conditions préalables
Pour suivre ce tutoriel, vous avez besoin des éléments suivants :
- Un compte Twilio gratuit. Si vous êtes nouveau sur Twilio, cliquez ici pour créer un compte gratuit maintenant et recevez 10 $ de crédit lorsque vous passez à un compte payant.
- Un numéro de téléphone Twilio.
- Un téléphone capable de passer des appels téléphoniques pour tester le projet.
- La CLI Twilio.
- Le plug-in Twilio Serverless Toolkit pour la CLI Twilio.
Configurer le projet
Dans cette section, vous allez configurer un nouveau service de fonctions Twilio. Les fonctions Twilio désignent un environnement sans serveur qui vous permet de déployer des services back-end sans avoir à configurer un serveur.
Si ce n'est pas déjà fait, installez la CLI Twilio à l'aide de la commande suivante :
Ensuite, installez le plug-in Twilio Serverless Toolkit pour la CLI Twilio :
Exécutez la commande suivante pour vous connecter à la CLI Twilio :
Vous serez invité à saisir vos informations d'identification, qui se trouvent dans la console Twilio.
Maintenant que vous avez installé le plug-in et que vous êtes connecté, vous pouvez initialiser un nouveau service de fonctions :
Cette commande va créer un nouveau répertoire sur votre ordinateur intitulé phone-answer. Ce nouveau dossier contient un fichier .env prérempli avec vos informations d'identification de compte. Ouvrez ce fichier et vérifiez que tout semble correct.
Ouvrez le sous-dossier phone-answer/functions et supprimez le contenu du dossier, mais pas le dossier lui-même.
Créez un nouveau fichier dans phone-answer/functions intitulé receive-call.protected.js.
L'extension protected de ce nom de fichier indique qu'il s'agit d'une fonction protégée et qu'elle n'est accessible que si la requête possède une signature Twilio valide.
Créer un webhook TwiML
Twilio Voice utilise le concept de webhooks pour permettre à votre application d'effectuer des actions personnalisées suite à des événements externes tels que la réception d'un appel téléphonique. Un webhook n'est rien de plus qu'un point de terminaison HTTP que Twilio appelle avec des informations sur l'événement. La réponse renvoyée à Twilio fournit des instructions sur la façon de gérer l'événement.
Le webhook pour un appel téléphonique entrant comprendra des informations telles que le numéro de téléphone de l'appelant. Dans la réponse, l'application peut fournir des instructions telles que « raccrocher », « lire un message enregistré », etc. Les réponses utilisent un langage basé sur XML appelé TwiML.
Ajouter un nouveau point de terminaison
Ouvrez votre nouveau fichier receive-call.protected.js et ajoutez le code suivant :
Ce code crée une nouvelle réponse TwiML Voice. Chaque fois qu'une personne appelle votre numéro de téléphone Twilio, le webhook capture l'appel téléphonique et le dirige vers ce point de terminaison (vous allez configurer cela sous peu). L'appelant entendra alors le message suivant : « Bonjour et merci pour votre appel. »
Déployer votre fonction
Enregistrez et fermez votre fichier. Maintenant que vous avez terminé votre fonction, vous pouvez la déployer. Exécutez la commande suivante à partir du répertoire phone-answer :
Acheter un numéro de téléphone
Connectez-vous à la console Twilio, sélectionnez Phone Numbers (Numéros de téléphone), puis cliquez sur le signe « + » rouge pour acheter un numéro Twilio. Veuillez noter que si vous utilisez un compte gratuit, vous utiliserez votre crédit d'essai pour cet achat.
Dans l'écran Buy a Number (Acheter un numéro), vous pouvez sélectionner votre pays et cocher Voice parmi les fonctionnalités. Si vous souhaitez demander un numéro de votre région, vous pouvez saisir votre indicatif régional dans le champ Number (Numéro).
Cliquez sur le bouton « Search » (Rechercher) pour voir les numéros disponibles, puis cliquez sur « Buy » (Acheter) pour le numéro que vous souhaitez dans les résultats. Après avoir confirmé votre achat, cliquez sur le bouton « Close » (Fermer).
Félicitations, vous disposez désormais de votre propre numéro de téléphone Twilio !
Configurer le webhook Voice
Toujours depuis la console Twilio, cliquez sur Phone Numbers (Numéros de téléphone), puis sur le numéro de téléphone que vous avez acheté ci-dessus. Faites défiler vers le bas jusqu'à la section « Voice & Fax » (Synthèse vocale et télécopie) et saisissez les paramètres suivants :
- Pour « Accept Incoming » (Accepter les appels entrants), sélectionnez Voice Calls (Appels vocaux).
- Pour « Configure with » (Configurer avec), sélectionnez Webhooks, TwiML Bins, Functions, Studio ou Proxy.
- Pour « A call comes in » (Un appel entre), sélectionnez Function dans la liste déroulante de gauche.
- Pour « Service », sélectionnez phone-answer ou le nom du service que vous avez créé précédemment.
- Pour « Environment » (Environnement), sélectionnez dev-environment.
- Pour « Function Path » (Chemin d'accès à la fonction), sélectionnez /receive-call.
N'oubliez pas de cliquer sur le bouton Save (Enregistrer) au bas de la page pour enregistrer ces modifications.
Tester votre ligne téléphonique Twilio
Maintenant, passons au moment de vérité ! Appelez le numéro de téléphone Twilio que vous avez acheté précédemment depuis votre propre téléphone. Après une ou deux sonneries, l'appel devrait être pris et vous devriez entendre une voix agréable qui prononce le texte que vous avez passé comme argument à la méthode say()
.
Étapes suivantes
J'espère que vous avez trouvé ce tutoriel utile. Le langage TwiML est extrêmement riche et offre une grande variété d'options pour automatiser les appels téléphoniques entrants. Si vous souhaitez explorer certaines de ces options, voici quelques exemples de commandes que vous pouvez utiliser :
- Play (Lire) : au lieu de la synthèse vocale, permet de lire un message enregistré dans un fichier audio
- Dial (Composer) : permet de connecter l'appel à un autre numéro de téléphone ou à une conférence téléphonique
- Enqueue (Mettre en file d'attente) : permet de mettre l'appelant en attente et de l'ajouter à une file d'attente
- Gather (Rassembler) : permet d'accepter les chiffres prononcés ou saisis de l'appelant
- Record (Enregistrer) : permet d'enregistrer un message
- Reject (Rejeter) : permet de rejeter l'appel
Dites-moi ce que vous avez construit sur Twitter avec Twilio Voice !
Ashley est éditrice JavaScript pour le blog Twilio. Pour travailler avec elle et partager vos histoires techniques à Twilio, retrouvez-la sur la page @ahl389 sur Twitter. Si elle n'y est pas, c'est probablement qu'elle est quelque part en terrasse avec une tasse de café à la main (ou un verre de vin, selon l'heure).
Articles associés
Ressources connexes
Twilio Docs
Des API aux SDK en passant par les exemples d'applications
Documentation de référence sur l'API, SDK, bibliothèques d'assistance, démarrages rapides et didacticiels pour votre langage et votre plateforme.
Centre de ressources
Les derniers ebooks, rapports de l'industrie et webinaires
Apprenez des experts en engagement client pour améliorer votre propre communication.
Ahoy
Le hub de la communauté des développeurs de Twilio
Meilleures pratiques, exemples de code et inspiration pour créer des expériences de communication et d'engagement numérique.