You are viewing the French site, but your language preference is set to English. Switch to English site →

Menu

Expand
Évaluez cette page :

Guide de démarrage rapide Programmable Voice pour Node.js

Avec seulement quelques lignes de code, votre application Node.js peut passer et recevoir des appels téléphoniques avec Twilio Programmable Voice.

Ce démarrage rapide de Node.js vous apprendra à le faire à l'aide de notre API REST et de la librairie d'aide Node.js Twilio pour faciliter le développement.

Dans ce quickstrat, vous apprendrez à :

  1. Vous inscrire à Twilio et obtenir votre premier numéro de téléphone Twilio compatible avec les appels
  2. Configurer votre environnement de développement pour passer et recevoir des appels téléphoniques
  3. Passer un appel téléphonique sortant qui joue un MP3
  4. Recevoir un appel téléphonique entrant qui lit un message à l'appelant et y répondre à l'aide de la synthèse vocale Text to Speech

Vous préférez regarder une vidéo ? Regardez notre vidéo sur la façon de passer et de recevoir des appels téléphoniques avec Node.js sur YouTube.

Montrez-moi comment ça marche !

Inscrivez-vous à Twilio et obtenez un numéro de téléphone

Si vous disposez déjà d'un compte Twilio et d'un numéro de téléphone Twilio compatible avec les appels, vous avez tout ce qu'il vous faut ! Connectez-vous, puis passez à l'étape suivante.

Avant de pouvoir passer un appel à partir de Node.js, vous devez créer un compte Twilio ou vous connecter à un compte que vous possédez déjà.

La prochaine chose dont vous aurez besoin est un numéro de téléphone Twilio compatible avec les appels. Si vous n'avez pas encore votre propre numéro de téléphone Twilio avec la fonctionnalité appel vocal, vous devez en acheter un. Après avoir accédé à la page Buy a Number (Acheter un numéro), cochez la case « Voice » (Voix) et cliquez sur « Search » (Rechercher).

Search for voice capable numbers

Vous verrez alors une liste des numéros de téléphone disponibles et de leurs capacités. Trouvez le numéro qui vous convient et cliquez sur « Buy » (Acheter) pour l'ajouter à votre compte.

Maintenant que vous disposez d'un compte Twilio et d'un numéro de téléphone programmable, vous disposez des outils de base dont vous avez besoin pour passer un appel téléphonique.

Vous pouvez utiliser l'API HTTP de Twilio pour passer vos appels téléphoniques, mais nous vous faciliterons encore plus la tâche en utilisant le module Twilio pour Node.js. Installons-le.

Guidez-moi pendant la configuration !

Installer Node.js et le module Node.js Twilio

Si vous avez déjà effectué l'un de nos quickstarts de Node.js et que vous avez installé Node.js et le module Node.js Twilio, vous pouvez ignorer cette étape et passer directement à votre premier appel téléphonique.

Vous pouvez vérifier si Node.js est déjà installé sur votre ordinateur en ouvrant un terminal et en exécutant la commande suivante :

$ node --version

Vous devriez voir quelque chose comme :

$ node --version
v8.9.1

Si vous utilisez la version 2.11 ou une version antérieure, nous vous recommandons d'effectuer une mise à niveau avec la version la plus récente.

Si Node.js n'est pas déjà installé, vous pouvez l'installer avec Homebrew, un autre gestionnaire de packages en accédant à votre terminal et en saisissant ceci sur la ligne de commande :

brew install node

Si vous êtes sous Windows, vous devez installer nvm-windows pour installer Node.js ainsi que npm, le gestionnaire de packages Node.js. Les utilisateurs de Windows peuvent suivre cet excellent tutoriel ici.

Installer le module Twilio Node.js

Le moyen le plus simple d'installer la librairie est d'utiliser npm, le gestionnaire de packages Node.js qui vous permet d'installer les bibliothèques dont vous avez besoin. Lancez simplement une interface de terminal ou de ligne de commande sur votre machine sur laquelle Node et npm sont déjà installés, puis exécutez la commande suivante dans un nouveau répertoire.

npm install twilio
Tout est prêt ! Passons cet appel téléphonique

Passer un appel téléphonique sortant avec Node.js

Utilisons cette librairie Node.js Twilio.

Avec une seule requête d'API, nous pouvons passer un appel sortant à partir du numéro de téléphone Twilio que nous venons d'acheter. Ouvrez un nouveau fichier appelé « make_call.js » et saisissez ou collez le code suivant.

        
        
        

        Ce code lance un appel téléphonique entre les deux numéros de téléphone que nous transmettons comme arguments. Le numéro from (De) est notre numéro Twilio, et le numéro to (à) est celui que nous voulons appeler.

        L'argument URL pointe vers un TwiML, qui indique à Twilio ce qu'il faut faire ensuite lorsque notre destinataire répond à son téléphone. Ce TwiML demande à Twilio de lire un message en utilisant la fonction de synthèse vocale, puis de jouer un fichier MP3.

        Cependant, avant que ce code ne fonctionne, nous devons le modifier un peu pour qu'il marche avec votre compte Twilio.

        Remplacer les valeurs des informations d'identification de texte fantôme

        Remplacez les valeurs de texte fantôme dans accountSid et authToken par vos informations d'identification Twilio personnelles.

        Rendez-vous sur https://www.twilio.com/console et connectez-vous. Sur cette page, vous trouverez Account SID (SID de compte) et Auth Token (jeton d'authentification) uniques de votre compte, dont vous aurez besoin à chaque fois que vous enverrez des messages via le client Twilio. Vous pouvez afficher votre Auth Token en cliquant sur l'icône en forme d'œil :

        Ouvrez make_call.js et remplacez les valeurs de accountSid et authToken par vos valeurs uniques.

        Remarque : il est possible de coder en dur vos informations d'identification lors de la mise en route, mais vous devez utiliser des variables d'environnement pour les garder secrètes avant le déploiement en production. Pour plus d'informations, consultez la procédure sur comment paramétrer des variables d'environnement.

        Remplacez les numéros de téléphone to et from

        Vous vous souvenez du numéro de téléphone compatible avec les appels que vous avez acheté il y a quelques minutes ? Remplacez le numéro d'origine from (De) existant par celui-ci, en veillant à utiliser le format E.164 :

        [+][code pays][numéro de téléphone avec indicatif régional]

        Ensuite, remplacez le numéro de téléphone to (à) par votre numéro de téléphone portable. Ce numéro peut être pour n'importe quel téléphone qui peut recevoir des appels, mais il est recommandé de le tester avec votre téléphone pour que la magie opère ! Comme ci-dessus, vous pouvez utiliser le formatage E.164 pour cette valeur.

        Enregistrez vos modifications et exécutez le code en exécutant la commande suivante à partir de votre terminal :

        node make_call.js

        C'est tout ! Votre téléphone devrait sonner avec un appel de votre numéro Twilio et vous entendrez notre court message.

        Si vous utilisez un compte d'essai Twilio, les appels téléphoniques sortants sont limités aux numéros de téléphone que vous avez vérifiés auprès de Twilio. Les numéros de téléphone peuvent être vérifiés avec les Verified Caller IDs de votre console Twilio. Pour connaître les autres restrictions et limitations du compte d'essai, consultez notre guide sur l'utilisation de votre compte d'essai gratuit Twilio.

        Ensuite, nous allons apprendre à répondre à un appel effectué à votre numéro de téléphone Twilio. Tout d'abord, vous devez mettre en place un serveur Express.

        C'est parti !

        Recevoir des appels vocaux entrants et y répondre avec Node.js et Express

        Lorsque votre numéro Twilio reçoit un appel téléphonique entrant, il envoie une requête HTTP à un serveur que vous contrôlez. Ce mécanisme de rappel est appelé webhook. Lorsque Twilio envoie une requête à votre application, elle attend une réponse au format XML TwiML lui indiquant comment répondre à l'appel.

        Pour gérer les appels téléphoniques entrants, nous avons besoin d'une application Web légère pour accepter les requêtes HTTP entrantes de Twilio. Bien que vous puissiez utiliser n'importe quel nombre de frameworks Web pour passer et recevoir des appels de votre application, nous utiliserons Node.js avec le framework Express dans ce quickstart.

        Sur la ligne de commande, exécutez

        npm install express --save
        

        À présent, créons un fichier appelé « server.js » et utilisez le code suivant pour créer un serveur capable de gérer les messages entrants.

              
              
              

              Exécutez ce serveur à l'aide de la commande suivante :

              node server.js

              Si vous ouvrez le port local à l'adresse http://127.0.0.1:1337/, vous verrez que le serveur s'exécutant sur le port 1337 renvoie un fichier XML à votre navigateur avec le message que nous souhaitons lire aux appels entrants.

              Maintenant, il nous suffit d'exposer cet endpoint à Twilio.

              Comment Twilio communique avec mon application ?

              Autoriser Twilio à communiquer avec votre application

              Avant de pouvoir donner des instructions à Twilio sur la marche à suivre en réponse à un appel entrant, vous devez d'abord exposer votre serveur au public. Lorsque vous exécutez votre serveur de développement local, il est très probable qu'il ne soit accessible qu'à partir de votre réseau local. Mais ne vous inquiétez pas, nous vous montrerons un moyen simple de tester votre serveur.

              De nombreux produits et services Twilio utilisent des webhooks pour communiquer avec votre application. Par exemple, lorsque Twilio reçoit un appel entrant, il contacte une URL spécifique que vous fournissez pour rechercher des instructions sur la façon de traiter la réponse.

              La partie du code dans server.js est un exemple d'instruction que vous pouvez utiliser pour « répondre » à l'appelant. Il nous suffit de trouver un moyen d'exposer ce serveur au public.

              Bien qu'il existe de nombreuses façons de rendre ce code public (par exemple en le déployant sur un hôte), nous recommandons un outil appelé ngrok. Lorsque vous démarrez ngrok, il fournit une URL unique sur le domaine ngrok.io et transfère les demandes entrantes vers votre environnement de développement local.

              L'architecture se présente comme suit :

              How ngrok helps Twilio reach your local server

              Si vous n'utilisez pas déjà ngrok, rendez-vous sur la page de téléchargement et récupérez le fichier binaire approprié pour votre système d'exploitation. Une fois le téléchargement terminé, décompressez le package.

              Si vous travaillez sous Mac ou Linux, vous êtes prêt. Si vous utilisez Windows, suivez notre guide pour installer et configurer ngrok sous Windows. Pour plus d'informations sur ngrok (y compris quelques conseils et astuces), consultez ce post en détail.

              Exposer votre serveur local avec ngrok

              Une fois le téléchargement terminé, essayez d'exécuter le fichier serveur que nous avons créé précédemment :

              node server.js

              Votre application locale doit s'exécuter localement pour que ngrok puisse faire sa magie.

              Ouvrez ensuite un nouvel onglet ou une nouvelle fenêtre de terminal et démarrez ngrok à l'aide de la commande suivante :

              ngrok http 1337

              Si votre serveur local s'exécute sur un autre port, remplacez 1337 par le numéro de port correct.

              Vous devriez voir quelque chose qui ressemble à ceci :

              ngrok-node-voice-1337port

              Copiez votre URL publique à partir de ce résultat et collez-la dans votre navigateur. Vous devriez voir le message « Hello from your pals at Twilio! » de votre application Express.

              Configurer votre webhook Twilio

              Vous devez maintenant utiliser cette URL publique et la configurer comme webhook pour l'un de vos numéros de téléphone dans la console. Revenez à la console, sélectionnez votre numéro de téléphone, remplacez « A CALL COMES IN » par Webhook, puis saisissez l'URL externe de votre service, par exemple « https://069a61b7.ngrok.io/ », comme indiqué ci-dessus.

              where-to-put-ngrok-url-configure-number-nodejs-voice-qs

              Assurez-vous de cliquer sur « save » (enregistrer) et de revenir à votre terminal. Assurez-vous que ngrok est toujours en cours d'exécution dans un onglet et dans un autre, exécutez node server.js s'il n'est pas déjà en cours d'exécution.

              Appelez votre numéro de téléphone Twilio. Dans quelques instants, vous verrez une requête HTTP dans votre console ngrok, et vous entendrez un court message une fois l'appel connecté.

              Et voilà, vous avez passé et reçu un appel avec Node.js.

              Ça a fonctionné ! Et ensuite ?

              L'étape suivante ?

              Vous connaissez maintenant les bases pour passer des appels téléphoniques et y répondre avec Node.js.

              Cette application n'a utilisé que le verbe TwiML <Say> pour lire un message à l'appelant en utilisant la fonction de synthèse vocale Text to Speech. Avec différents verbes TwiML, vous pouvez créer d'autres constructions et flux d'appels puissants. Essayez-en quelques-uns, comme <Record>, <Gather> et <Conference>.

              Consultez ces pages pour en savoir plus :

              Nous avons hâte de voir ce que vous allez construire !

              Évaluez cette page :

              Besoin d'aide ?

              Ça arrive à tout le monde, il est parfois difficile de coder. Obtenez de l'aide dès maintenant auprès de notre équipe d'assistance, ou appuyez‑vous sur la sagesse collective en visitant le collectif Stack Overflow Twilio ou en parcourant le tag Twilio sur Stack Overflow.

                    
                    
                    

                    Merci pour vos commentaires!

                    Veuillez sélectionner la ou les raisons de vos commentaires. Les informations supplémentaires que vous fournissez nous aident à améliorer notre documentation:

                    Envoi de vos commentaires...
                    🎉 Merci pour vos commentaires!
                    Une erreur s'est produite. Veuillez réessayer.

                    Merci pour vos commentaires !

                    Recommandez‑nous et gagnez 10 € en 3 étapes simples!

                    Étape 1

                    Obtenir le lien

                    Obtenez un lien de recommandation personnel gratuit ici

                    Étape 2

                    Donner 10 €

                    Votre utilisateur s'inscrit et effectue la mise à niveau en utilisant le lien

                    Étape 3

                    Gagner 10 €

                    1 250 SMS gratuits
                    OU 1 000 minutes vocales gratuites
                    OU 12 000 chats
                    OU plus