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 Python

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

Ce quickstart de Python vous apprendra à le faire à l'aide de notre API REST, de la librairie Python Twilio et du microframework Flask de Python pour faciliter le développement.

Dans ce quickstart, 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 Python 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 téléphonique depuis Python, vous devez disposer d'un compte Twilio. Inscrivez-vous ici pour obtenir votre compte d'essai gratuit ou connectez-vous à 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 a voice-enabled phone number

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.

Purchase a voice-enabled phone number from Twilio

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 la librairie Python officielle de Twilio. Installons-la ensuite.

Guidez-moi pendant la configuration.

Installer Python et la librairie Twilio

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

Pour passer votre premier appel téléphonique avec Twilio, vous devez installer Python et la librairie Python Twilio.

Installer Python

Si vous utilisez un ordinateur Mac ou Linux, Python est probablement déjà installé. Vous pouvez vérifier cela en ouvrant un terminal et en exécutant la commande suivante :

python --version

Vous devriez voir quelque chose comme :

$ python --version
Python 3.4  # Python 2.7+ is okay, too

Les utilisateurs de Windows peuvent suivre cet excellent tutoriel pour installer Python sur Windows.

Le SDK Python Twilio prend en charge Python 2 et Python 3. Vous pouvez utiliser l'une ou l'autre version pour vos projets, mais nous vous recommandons d'utiliser Python 3 pour ce quickstart et les futurs projets avec Twilio, sauf s'il existe des librairies spécifiques dont votre projet a besoin et qui sont uniquement compatibles avec Python 2.

Installer la librairie Python Twilio

Le moyen le plus simple d'installer la librairie est d'utiliser pip. Il vous suffit de l'exécuter dans le terminal :

pip install twilio

Si vous obtenez l'erreur pip: command not found (commande introuvable), vous pouvez utiliser easy_install pour installer la librairie Twilio en exécutant cette commande dans votre terminal :

easy_install twilio

Pour une installation manuelle, vous pouvez télécharger le code source (ZIP) pour twilio-python, puis installer la librairie en exécutant :

python setup.py install

dans le dossier contenant la librairie twilio-python.

Et maintenant, il est temps d'écrire du code.

Tout est prêt ! Passons cet appel téléphonique.

Passer un appel téléphonique sortant avec Python

Maintenant que Python et twilio-python sont installés, nous pouvons passer un appel téléphonique sortant avec une seule requête API à partir du numéro de téléphone Twilio que nous venons d'acheter. Créez un nouveau fichier appelé make_call.py et saisissez ou collez cet exemple de code.

        
        
        

        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 dit à 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 fonctionner avec votre compte Twilio.

        Remplacer les valeurs des informations d'identification d'espace réservé

        Remplacez les valeurs du texte fantôme dans account_sid et auth_token par vos identifiants Twilio personnels.

        Rendez-vous sur https://www.twilio.com/console et connectez-vous. Sur cette page, vous trouverez votre Account SID et Auth Token uniques du 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 :

        Reveal Your Auth Token

        Ouvrez make_call.py et remplacez les valeurs de account_sid et auth_token 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_ 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. Il peut s'agir de n'importe quel numéro de téléphone pouvant 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 script à partir de votre terminal :

        python make_call.py

        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 via les Verified Caller IDs‌de votre console Twilio. Pour connaître les autres restrictions et limitations du compte d'essai complet, 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, nous devons mettre en place un serveur Flask.

        C'est parti !

        Installez Flask et configurez votre environnement de développement

        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. Nous utiliserons Flask pour ce quickstart, mais vous pouvez utiliser l'infrastructure Web de votre choix pour passer et recevoir des appels téléphoniques depuis vos applications.

        Pour obtenir des instructions sur la configuration de Flask sous Windows, consultez ce guide.

        Installer pip et virtualenv

        Pour installer Flask et configurer notre environnement de développement, nous avons besoin de deux outils : pip pour installer Flask et virtualenv une sandbox unique pour ce projet. Si ces outils sont déjà installés, vous pouvez passer à la section suivante.

        Pip est fourni avec Python 3.4+, donc si vous utilisez une version récente de Python, vous n'avez pas besoin d'installer quoi que ce soit de nouveau. Si vous utilisez une version antérieure, n'ayez crainte : pip est inclus dans virtualenv. Alors, installons virtualenv !

        Si vous utilisez Python 2.4, exécutez la commande suivante sur votre terminal :

        easy_install virtualenv

        Si vous utilisez Python 2.5-2.7, exécutez la commande suivante sur votre terminal, en spécifiant votre numéro de version :

        easy_install-2.7 virtualenv

        Remplacez le 2.7 par 2.5 ou 2.6 si cette version est installée.

        Pour installer virtualenv avec Python 3.4+ :

        # Si vous obtenez des erreurs « permission denied » (autorisation refusée), essayez d'exécuter « sudo python » au lieu de « python »
        pip install virtualenv
        

        Si vous obtenez des erreurs lors de cette étape, consultez ces conseils pour le débogage.

        Créer et activer votre environnement virtuel

        Une fois virtualenv installé, utilisez votre terminal pour accéder au répertoire que vous utilisez pour ce quickstart et créer un environnement virtuel :

        cd Documents/my_quickstart_folder
        virtualenv --no-site-packages .

        Activez maintenant l'environnement virtuel :

        source bin/activate

        Vous pouvez vérifier que votre virtualenv est en cours d'exécution en consultant votre terminal : vous devriez voir le nom de votre répertoire. Cela ressemblera un peu à ça :

        (my_quickstart_folder)USER:~ user$

        Pour en savoir plus sur virtualenv ou créer un chemin d'environnement personnalisé, consultez ce guide détaillé.

        Installer les dépendances

        Maintenant, nous sommes prêts à installer Flask. Créez un fichier appelé requirements.txt et ajoutez-y les lignes suivantes :

        Flask>=0.12
        twilio~=6.0.0

        Installez ensuite ces deux packages avec pip dans votre terminal :

        pip install -r requirements.txt

        Testez tout de zéro

        Tout d'abord, assurez-vous que votre virtualenv est activé :

        cd Documents/my_quickstart_folder
        source bin/activate     # Sur Windows, utilisez .\bin\activate.bat

        Ensuite, créez et ouvrez un fichier nommé answer_phone.py et ajoutez les lignes suivantes :

              
              
              
              Testez votre configuration avec cette application Flask simple « Hello, World »

              Application Flask « Hello, World »

              Testez votre configuration avec cette application Flask simple « Hello, World »

              Il est maintenant temps d'essayer de l'exécuter. Dans votre terminal, saisissez :

              python answer_phone.py

              Vous devriez voir :

              $ python answer_phone.py
              * Running on http://127.0.0.1:5000/

              Accédez à http://localhost:5000 dans votre navigateur. Un message « Hello World! » devrait s'afficher. Vous êtes prêt à créer votre première application Twilio Programmable Voice !

              Si vous avez rencontré des problèmes ou si vous souhaitez obtenir des instructions sur la configuration de votre environnement avec une ancienne version de Python (<3.4), consultez notre guide complet de configuration d'un environnement de développement Python local.

              Tout est prêt. Comment Twilio communique avec ma nouvelle application ?

              Autorisez Twilio à communiquer avec votre application Flask

              Nous sommes sur le point d'améliorer notre petite application Flask afin qu'elle accepte les appels téléphoniques entrants. Mais avant cela, nous devons nous assurer que Twilio peut communiquer avec notre environnement de développement local.

              La plupart des services Twilio utilisent des webhooks pour communiquer avec votre application. Lorsque Twilio reçoit un appel téléphonique, par exemple, il contacte une URL de votre application pour obtenir des instructions sur la façon de traiter l'appel.

              Lorsque vous travaillez sur votre application Flask dans votre environnement de développement, votre application n'est accessible que par d'autres programmes sur votre ordinateur et Twilio ne pourra pas communiquer avec. Nous devons résoudre ce problème en rendant votre application accessible sur Internet.

              Bien qu'il existe de nombreuses façons de le faire, comme le déploiement de votre application sur Heroku ou AWS, vous voudrez probablement un moyen moins laborieux de tester votre application Twilio. Pour rendre votre application disponible sur Internet en toute légèreté, nous vous recommandons un outil appelé ngrok. Une fois démarré, ngrok fournit une URL unique sur le domaine ngrok.io qui transfère les demandes entrantes vers votre environnement de développement local.

              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.

              Une fois le téléchargement terminé, démarrez l'application Hello World que nous avons créée précédemment :

              python answer_phone.py

              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 5000

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

              Vous devriez voir quelque chose qui ressemble à ceci :

              Ngrok server terminal output

              Copiez votre URL publique à partir de ce résultat et collez-la dans votre navigateur. Le message « Hello World! » de votre application Flask devrait s'afficher.

              Mon serveur est accessible au public. Apprenez-moi à recevoir des appels téléphoniques !

              Répondre aux appels entrants avec Twilio

              Lorsque votre numéro Twilio reçoit un appel téléphonique entrant, il envoie une requête HTTP à votre serveur pour demander des instructions sur la marche à suivre. Une fois que vous avez reçu la requête, vous pouvez dire à Twilio comment répondre à l'appel.

              Pour ce quickstart, notre application Flask répond à l'appel téléphonique et envoie un court message à l'appelant. Ouvrez à nouveau answer_phone.py le code pour qu'il ressemble à cet exemple :

                    
                    
                    
                    Respond to an incoming request from Twilio with instructions on how to handle the call

                    Respond to an incoming call with a brief message

                    Respond to an incoming request from Twilio with instructions on how to handle the call

                    Enregistrez le fichier et redémarrez votre application avec

                    python answer_phone.py

                    Vous devriez maintenant être en mesure d'ouvrir un navigateur Web à l'adresse http://localhost:5000/answer. Si vous affichez le code source de la page, vous devriez voir le texte suivant :

                    <?xml version="1.0" encoding="UTF-8"?>
                    <Response>
                        <Say voice="alice">Merci pour votre appel ! Bonne journée.</Say>
                    </Response>

                    Ce code source est un XML TwiML généré par votre code à l'aide de la librairie Twilio.

                    Vérifiez que ngrok est toujours en cours d'exécution sur localhost avec le même port qu'auparavant. Twilio sera désormais en mesure de trouver votre application. Il n'y a qu'une dernière chose dont nous avons besoin avant d'être prêts à appeler votre application : nous devons indiquer à Twilio où envoyer sa requête.

                    Configurer votre URL Webhook

                    Pour que Twilio sache où chercher, vous devez configurer votre numéro de téléphone Twilio pour appeler l'URL de votre webhook à chaque fois qu'un nouveau message arrive.

                    1. Connectez-vous à Twilio.com et accédez à la page des numéros de la console.
                    2. Cliquez sur votre numéro de téléphone compatible avec les appels.
                    3. Recherchez la section « Voice & Fax » (Synthèse vocale et télécopie). Assurez-vous que l'option « Accept Incoming » (Accepter les appels entrants) est définie sur « Voice Calls » (Appels vocaux). La sélection « Configure With » (Configurer avec) par défaut correspond à ce dont vous aurez besoin : "Webhooks/TwiML...".
                    4. Dans la section « A Call Comes In » (Un appel arrive), sélectionnez « Webhook » et collez l'URL que vous souhaitez utiliser, en ajoutant votre route /answer :

                    Configure your Voice webhook with your ngrok URL

                    Enregistrez vos modifications et vous êtes prêt !

                    Tester votre application

                    Tant que vos serveurs localhost et ngrok sont opérationnels, nous sommes prêts pour la partie amusante : tester notre nouvelle application Flask !

                    Passez un appel téléphonique depuis votre téléphone portable vers votre numéro de téléphone Twilio. Une requête HTTP devrait s'afficher dans votre console ngrok. Votre application Flask traitera la requête entrante et répondra avec votre TwiML. Vous entendrez votre message une fois l'appel connecté.

                    Ça a fonctionné ! C'est prêt, et ensuite ?

                    L'étape suivante ?

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

                    Ici, notre application Flask utilisait uniquement le verbe TwiML <Say> pour lire un message à l'appelant en utilisant la synthèse vocale, mais vous pouvez faire beaucoup plus avec différents verbes TwiML 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