Twilio avec Python

Objectif

Ce document est le contenu pour apprendre Twilio, qui est une API de communication, utilisant Python.

Le contenu comprend les cinq éléments suivants.

Pour un aperçu de Twilio, veuillez consulter le site suivant. https://twilio.kddi-web.com

Préparation

Python

Puisque Python 3.x sera utilisé cette fois-ci, veuillez préparer l'environnement d'exécution (dossier de travail) pour Python 3. Pour connaître la version Python, utilisez la commande suivante.


$ python --version
Python 3.7.2

Puisque pip est utilisé pour installer la bibliothèque, assurez-vous que pip peut être utilisé avec Python. https://pip.pypa.io/en/stable/installing/

ngrok

Pour utiliser Twilio, vous avez besoin d'un serveur public accessible depuis Twilio. Cette fois, nous ne construirons pas de serveur, mais utiliserons ngrok pour rendre l'environnement local accessible de l'extérieur. Téléchargez ngrok à partir du site suivant et extrayez-le. https://ngrok.com/

Twilio

Si vous n'avez pas de compte Twilio, obtenez d'abord un compte d'essai. Veuillez consulter cet article pour savoir comment vous inscrire gratuitement. [Dernière version] Inscription à Twilio

Vous ne pouvez acheter qu'un seul numéro de téléphone avec votre compte d'essai. De plus, seul le numéro de téléphone authentifié utilisé lors de l'inscription peut être utilisé comme destination. Si vous souhaitez appeler un numéro de téléphone ou acheter plusieurs numéros de téléphone, veuillez enregistrer vos informations de paiement (informations de carte) et acheter des points.

Leçon 1 Essayez de passer un appel à l'aide de l'API Rest

Dans cette leçon, vous allez d'abord acheter un numéro de téléphone à l'aide de la console d'administration de Twilio. Ensuite, installez la bibliothèque d'assistance Python et écrivez le code pour effectuer l'appel. Actuellement, pour acheter un numéro de téléphone japonais, vous devez enregistrer vos informations d'adresse à l'avance. Veuillez vous reporter à l'article suivant pour savoir comment enregistrer les informations d'adresse. Comment enregistrer une adresse dans un numéro de téléphone sur Twilio

Acheter un numéro de téléphone

  1. Connectez-vous à la console d'administration de Twilio. https://jp.twilio.com/login/kddi-web

  2. Cliquez sur l'icône du bouton pour ouvrir le menu déroulant et sélectionnez Numéro de téléphone. 電話番号.png

  3. Sélectionnez Acheter un numéro pour ouvrir l'écran d'achat d'un numéro de téléphone. Buy a Number.png

  4. Assurez-vous que "Japon (+81)" est sélectionné pour le pays, cochez "Appel vocal" et "Fax" et appuyez sur le bouton de recherche. スクリーンショット 2017-06-03 22.22.07.png

  5. Sélectionnez-en un dans la liste affichée et appuyez sur le bouton "Acheter".

  6. Lorsque la boîte de dialogue Acheter ce numéro apparaît, appuyez sur le bouton Acheter ce numéro. スクリーンショット 2017-06-03 22.25.23.png

  7. Lorsque la boîte de dialogue Félicitations apparaît, l'achat du numéro est terminé. Cliquez sur le bouton "Fermer" pour fermer la boîte de dialogue.

Préparation de la bibliothèque d'assistance Python

Twilio a une bibliothèque d'aide pour Python, alors installez-la d'abord.

$ pip install twilio

La dernière version au 24/09/2019 est la 6.31.0. Si une version inférieure est installée, installez-la avec l'option -U. La dernière version peut être trouvée sur le site suivant. https://github.com/twilio/twilio-python/

Examiner AccountSid et AuthToken

  1. Connectez-vous à la console d'administration de Twilio. https://jp.twilio.com/login/kddi-web

  2. Copiez les valeurs du SID DU COMPTE et du JETON AUTH affichées dans le récapitulatif du compte du tableau de bord de la console dans le Bloc-notes.

codage

  1. Ouvrez l'éditeur et copiez et collez le code ci-dessous.
from twilio.rest import Client
account_sid = "ACxxxxxxxxx" # Your Account SID from www.twilio.com/console
auth_token  = "xxxxxxxx"  # Your Auth Token from www.twilio.com/console

client = Client(account_sid, auth_token)

call = client.calls.create(
    to="+81xxxxxxx",
    from_="+81xxxxxxx",
    url="http://demo.twilio.com/docs/voice.xml"
)

print(call.sid)
  1. Pour account_sid, entrez le AccountSid que vous avez noté précédemment.
  2. Dans auth_token, entrez le AuthToken que vous avez noté précédemment.
  3. Dans à, entrez votre numéro de téléphone au format E.164. (Exemple: +819012345678)
  4. Dans de_, entrez le numéro de téléphone que vous avez acheté précédemment au format E.164.
  5. Enregistrez-le sous call.py dans un dossier où Python peut s'exécuter.

Courir

  1. Exécutez call.py et vérifiez que votre téléphone est appelé.
$ python call.py

Commentaire

Vérifions le code ci-dessus. Pour passer un appel, appelez calls.create. Dans ce cas, la source (from_) [* from ne peut pas être utilisée comme un mot réservé, elle devient donc from_ *] et la destination (to) est spécifiée. Le point est la partie spécifiée par url. Ici, spécifiez XML (appelé TwiML) pour indiquer ce qu'il faut faire lorsque l'autre partie répond. Le TwiML spécifié cette fois est un fichier XML comme indiqué ci-dessous.

<Response>
  <Say voice="alice">Thanks for trying our documentation. Enjoy!</Say>
  <Play>http://demo.twilio.com/docs/classic.mp3</Play>
</Response>

Le verbe exécute Text to Speech, et la chaîne de caractères spécifiée ici (Merci d'avoir essayé notre documentation. Enjoy!) Est jouée comme une voix. Le verbe est un verbe qui lit un fichier audio. De cette manière, vous pouvez spécifier le comportement de Twilio en combinant plusieurs TwiML.

Leçon 2 Écouter le message d'origine

Dans cette leçon, vous essaierez d'envoyer votre propre message original. Pour ce faire, vous devez créer un TwiML qui décrit le message que vous souhaitez envoyer et le placer dans un emplacement accessible depuis Twilio via http ou https. Il existe un document à l'adresse URL suivante sur le type de TwiML disponible. https://jp.twilio.com/docs/api/twiml

Installation du flacon

Afin de le rendre accessible depuis Twilio, nous utiliserons cette fois Flask comme framework web. Flask peut être installé en suivant les étapes ci-dessous.

$ pip install Flask

Créer un programme pour renvoyer TwiML avec Flask

  1. Ouvrez l'éditeur et copiez et collez le code ci-dessous.
# say.py
from flask import Flask
from twilio.twiml.voice_response import VoiceResponse

app = Flask(__name__)

@app.route('/say', methods=['GET', 'POST'])
def say():
    #Créer TwiML
    resp = VoiceResponse()
    resp.say("Bonjour. Twirio est très amusant.", language="ja-JP", voice="alice")
    return str(resp)

if __name__ == "__main__":
    app.run(port=5000, debug=True)
  1. Enregistrez-le sous say.py.
  2. Essayez de l'exécuter.
$ python say.py
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 219-682-997
  1. Ouvrez votre navigateur et entrez http: // localhost: 5000 / say. スクリーンショット 2017-06-04 01.30.08.png Si vous voyez un message comme celui ci-dessus, votre code Python convient pour le moment.

Démarrer ngrok

Utilisez ngrok pour publier le programme Python créé vers l'extérieur.

  1. Démarrez ngrok avec la commande suivante.
$ ngrok http 5000

スクリーンショット 2017-06-04 01.32.22.png

  1. Copiez l'URL du côté https du transfert vers le bloc-notes.

Modifier le programme sortant

  1. Ouvrez le Call.py que vous venez de créer dans un éditeur.
from twilio.rest import Client
account_sid = "ACxxxxxxxxxxx" # Your Account SID from www.twilio.com/console
auth_token  = "xxxxxxxxxxxx"  # Your Auth Token from www.twilio.com/console

client = Client(account_sid, auth_token)

call = client.calls.create(
    to="+81xxxxxxxxxx",
    from_="+8150xxxxxxxx",
    url="https://xxxxxxx.ngrok.io/say"
)

print(call.sid)
  1. Réécrivez le champ URL avec l'URL que vous avez notée précédemment. N'oubliez pas d'ajouter / dire à la fin.

tester

  1. Essayez d'exécuter call.py comme dans la leçon 1.
$ python call.py
  1. Si vous recevez un appel et entendez un message en japonais, vous avez réussi.

Commentaire

Say.py crée le TwiML original. Avec la bibliothèque d'assistance Python de Twilio, vous pouvez également créer facilement TwiML. Pour créer un TwiML basé sur la voix, importez à l'avance twilio.twiml.voice_response. Pour parler japonais, spécifiez language = 'ja-JP' et voice = 'alice'. Si vous écrivez une phrase trop longue, elle risque de ne pas être prononcée correctement. Dans ce cas, divisez le verbe Say en plusieurs parties. De plus, avec cet échantillon, je trouve que le japonais est terrifiant. Si vous voulez parler couramment japonais, utilisez "Polly.Mizuki" ou "Polly.Takumi" pour le paramètre de voix dans la partie qui génère TwiML (voir le code ci-dessous), et vous pouvez parler un japonais relativement propre. Le fera. Cela coûte un peu d'argent, mais si vous voulez utiliser de beaux japonais, essayez-le.

~ Abréviation ~
def say():
    #Créer TwiML
    resp = VoiceResponse()
    resp.say("Bonjour. Twirio est très amusant.", language="ja-JP", voice="Polly.Mizuki")
    return str(resp)
~ Abréviation ~

En plus de cela, par exemple, la technologie de synthèse vocale de l'IA peut être combinée.

--AI Co., Ltd. "AITalk"

Leçon 3. Essayez d'utiliser votre navigateur comme téléphone

Vous ne savez peut-être pas ce que vous dites, mais en fait, avec Twilio, vous pouvez utiliser le navigateur que vous utilisez normalement comme téléphone. Oui, vous pouvez appeler avec un navigateur. Dans cette leçon, vous allez utiliser le navigateur comme un téléphone et essayer de passer un appel via le navigateur. L'envoi et la réception via un navigateur utilisent une fonction appelée Twilio Client, mais un mécanisme appelé jeton d'accès est requis pour l'envoi et la réception. Un jeton d'accès est une clé d'authentification qui vous permet d'utiliser les fonctions du téléphone à l'aide de Twilio, et peut être obtenu en demandant à Twilio d'émettre un jeton d'accès côté utilisateur. Il faut du temps pour créer ces mécanismes à partir de zéro, donc cette fois, nous utiliserons le démarrage rapide préparé à l'avance. Cette leçon utilisera ngrok comme auparavant.

Téléchargement du programme

Si vous pouvez utiliser Git, utilisez la commande suivante pour cloner le fichier source dans votre répertoire de travail.

$ git clone https://github.com/TwilioDevEd/client-quickstart-python.git

Si vous ne pouvez pas utiliser Git, téléchargez le fichier Zip à partir de l'URL suivante et extrayez-le dans votre répertoire de travail. https://github.com/TwilioDevEd/client-quickstart-python/archive/master.zip

Accédez au répertoire cloné (extrait).

$ cd client-quickstart-python

Paramètres de fichier .env

Créez un fichier .env en copiant l'exemple de fichier .env.

$ cp .env.example .env

Pour les utilisateurs Windows

$ cp .env.example.ps1 .env.ps1

Ouvrez .env ou .env.ps1 avec un éditeur et définissez les variables d'environnement.

.env


export TWILIO_ACCOUNT_SID=ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export TWILIO_AUTH_TOKEN=your_auth_token
export TWILIO_TWIML_APP_SID=APXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export TWILIO_CALLER_ID=+1XXXYYYZZZZ

Pour TWILIO_ACCOUNT_SID et TWILIO_AUTH_TOKEN, saisissez le AccountSit et AuthToken utilisés dans la leçon précédente. TWILIO_TWIML_APP_SID n'est pas connu à ce stade, alors laissez-le seul. Dans TWILIO_CALLER_ID, écrivez le numéro 050 acheté au format E.164. Une fois les paramètres définis, enregistrez-le par écrasement.

Lecture des variables d'environnement

Définissez les variables d'environnement avec la commande suivante.

$ source .env

Pour les utilisateurs Windows, utilisez la commande suivante pour définir.

. .\.env.ps1

Charger la bibliothèque

Utilisez la commande suivante pour charger la bibliothèque requise.

$ pip install -r requirements.txt

Les bibliothèques utilisées cette fois sont Flask, twilio et fake-factory.

Démarrer ngrok

$ ngrok http 5000

Lorsque ngrok démarre, enregistrez l'URL affichée (https) dans le Bloc-notes.

Obtenir le SID de l'application

  1. Connectez-vous à la console d'administration de Twilio.
  2. Appuyez sur l'icône du bouton et sélectionnez Voix programmable.
  3. Sélectionnez Outils.
  4. Appuyez sur l'icône plus pour créer de nouvelles applications TwiML.
  5. Entrez Twilio Client Quickstart comme nom convivial.
  6. Dans l'URL de demande d'appel vocal, entrez l'URL ngrok + / voice que vous avez enregistrée précédemment. Exemple: https://xxxxxxx.ngrok.io/voice
  7. Appuyez sur le bouton "Enregistrer".
スクリーンショット 2017-06-05 19.13.52.png
  1. Sélectionnez les applications TwiML que vous avez créées à nouveau et notez le SID de l'application. ApplicationSID.png

  2. Publiez le SID d'application écrit dans TWILIO_TWIML_APP_SID dans le fichier .env que vous avez modifié précédemment.

  3. Fermez une fois l'application en cours d'exécution (app.py) (Ctrl-C).

  4. Rechargez les variables d'environnement.

$ source .env

Lancer l'application

$ python app.py

tester

  1. Démarrez votre navigateur (Chrome ou Firefox) et ouvrez l'URL commençant par https affiché dans ngrok. スクリーンショット 2017-06-06 07.40.15.png

Si Twilio Device Ready! S'affiche comme indiqué à l'écran, vous pouvez passer un appel. Lors d'un appel, spécifiez le numéro de téléphone au format E.164.

Commentaire

Ouvrez app.py dans un éditeur et vérifiez-le. Il contient deux gros codes, l'un pour obtenir le jeton d'accès / jeton et l'autre pour passer un appel / une voix. Dans / token, un objet ClientCapbilityToken est créé et deux paramètres sont définis: allow_client_outgoing (application_sid) et allow_client_incoming (identity). Le premier est le paramètre pour les jetons sortants et le second est le paramètre pour les appels entrants. Le SID TwiML Apps est spécifié pour le jeton sortant, ce qui permet à Twilio d'appeler / vocaliser lorsque l'instruction sortante est reçue du navigateur. En outre, le jeton pour les appels entrants définit sa propre identité, ce qui permet aux autres clients de spécifier l'identité comme destination pour recevoir un appel. / voice est une URL appelée par Twilio lors d'un appel, et le numéro de destination est passé en tant que paramètre To. En renvoyant ceci comme un verbe Dial, Twilio vous appellera. Cette fois, l'appel entrant avec le numéro 050 n'est pas implémenté, mais si vous souhaitez l'implémenter, utilisez la console de gestion de Twilio, spécifiez le traitement entrant du numéro 050 et utilisez TwiML pour le verbe Dial adressé à l'identité. Ce n'est pas grave si vous le retournez. Le code sur le côté frontal se trouve dans quickstart.js dans le dossier statique. Lorsque la page se charge, vous pouvez voir que vous utilisez ajax pour obtenir le jeton d'accès. Si le jeton est acquis avec succès, l'appareil sera initialisé à l'aide du jeton acquis. Lorsque l'initialisation est terminée, l'événement Device.ready sera déclenché. En plus d'être prêt, l'appareil a des événements importants. Ces événements sont décrits dans les documents suivants: https://jp.twilio.com/docs/api/client/device

Leçon 4. Envoyer du contenu à reconnaissance vocale par SMS

Dans cette leçon, vous combinerez la technologie de reconnaissance vocale de Twilio et la technologie de transmission SMS pour créer un programme qui enregistre la voix et la convertit en caractères lorsqu'il arrive à un numéro 050 et le renvoie à l'appelant par SMS. Vous ne pouvez pas utiliser le numéro 050 pour envoyer des SMS, alors achetez un nouveau numéro américain. ** Vous devez mettre à jour votre compte d'essai Twilio. ** **

Acheter un numéro américain

  1. Connectez-vous à la console d'administration de Twilio.
  2. Sélectionnez "Numéro de téléphone" à partir de l'icône du bouton.
  3. Sélectionnez «Acheter un numéro», sélectionnez «États-Unis» dans la liste des pays et appuyez sur le bouton «Rechercher».
  4. Sélectionnez un numéro local pouvant utiliser les SMS et appuyez sur le bouton "Acheter".
  5. Lorsque la boîte de dialogue Acheter ce numéro s'affiche, appuyez sur le bouton Acheter ce numéro.
  6. Lorsque la boîte de dialogue Félicitations apparaît, appuyez sur le bouton Fermer.

Construction et codage de l'environnement de travail

  1. Créez un répertoire nommé callSMS dans votre répertoire de travail où Python est disponible et accédez à ce répertoire.
  2. Créez un fichier nommé app.py et collez le code suivant.
# app.py
from flask import Flask, request, Response
from twilio.rest import Client
from twilio.twiml.voice_response import Gather, VoiceResponse, Say

app = Flask(__name__)

account_sid = "ACxxxxxxxxxxxxxxxxxxxxxx"
auth_token = "xxxxxxxxxxxxxxxxxxxxxxx"

client = Client(account_sid, auth_token)

@app.route('/calling', methods=['GET', 'POST'])
def calling():
    #WebHook appelé lorsqu'un appel arrive
    response = VoiceResponse()
    gather = Gather(input='speech', language='ja-JP', action='/sendsms', method='POST')
    gather.say('Merci de votre appel. Veuillez me donner un message.', language='ja-JP', voice='alice')
    response.append(gather)

    return str(response)

@app.route('/sendsms', methods=['POST'])
def sendsms():
    #Obtenez des résultats de reconnaissance vocale
    result = request.form["SpeechResult"] or ''
    to = request.form["From"] or ''
    if (result != '' and to != ''):
        #Envoyer un SMS
        message = client.messages.create(to=to,
            from_="+1XXXXXXXXXXXX",
            body=result)
        print(message.sid)
        resp = VoiceResponse()
        resp.say("Je t'ai envoyé un message. Merci beaucoup.", language="ja-JP", voice="alice")
        return str(resp)
    else:
        resp = VoiceResponse()
        resp.say("Je suis désolé. La reconnaissance vocale n'était pas possible.", language="ja-JP", voice="alice")
        return str(resp)

if __name__ == "__main__":
    app.run(port=5000, debug=True)
  1. Réécrivez account_sid et auth_token dans les vôtres.
  2. Remplacez le numéro de téléphone de_ par le numéro américain que vous avez acheté précédemment.

Lancer l'application

$ python app.py

Démarrer ngrok

$ ngrok http 5000

Lorsque ngrok démarre, enregistrez l'URL commençant par https.

Réglage des appels entrants du numéro 050

  1. Connectez-vous à la console d'administration Twilio.
  2. Appuyez sur l'icône du bouton et sélectionnez "Numéro de téléphone".
  3. Sélectionnez le numéro 050 acheté pour ouvrir l'écran de réglage.
  4. Définissez le champ A CALL COMES IN sur "Webhook" et décrivez l'URL que vous avez notée lors du démarrage de ngrok avec / appelant ajouté. 着信設定.png
  5. Appuyez sur le bouton "Enregistrer" pour enregistrer les paramètres.

tester

  1. Appelez le numéro 050 pour lequel vous avez configuré les appels entrants et insérez un message après le guidage.
  2. Après un certain temps, le message indiquant que le message a été envoyé sera lu et le résultat de la reconnaissance vocale sera envoyé à SMS.

Commentaire

Le verbe Gather généré par appel est à l'origine un verbe pour traiter les signaux DTMF (signaux de tonalité de poussée), mais il est également possible d'acquérir des données vocales en plus du DTMF. Les données vocales sont transmises en interne au moteur de reconnaissance vocale et le résultat est envoyé au webhook spécifié par le paramètre d'action. L'audio peut être enregistré jusqu'à 60 secondes, et des frais supplémentaires de 3 yens seront facturés pour chaque conversion (unité de 15 secondes) en plus des frais d'appel. Cette fois, le SMS a été envoyé tel quel après la reconnaissance vocale, mais il est également possible de créer un BOT en utilisant la voix en utilisant, par exemple, l'API de conversation d'IBM Watson.

Leçon 5. Envoi et réception de FAX

Dans cette leçon, vous utiliserez la fonction FAX programmable pour envoyer et recevoir des télécopies. D'un point de vue mondial, le Japon est toujours un pays où les télécopies sont encore très utilisées, et il existe de nombreuses façons de les utiliser, telles que l'envoi de télécopies à partir de programmes et le traitement automatique des télécopies reçues. Vous pouvez utiliser le numéro 050 pour envoyer et recevoir des télécopies, mais vous ne pouvez pas recevoir d'appels vocaux ou de télécopies avec le même numéro 050. Cette fois, je vais changer le numéro 050 déjà acheté pour FAX et l'utiliser.

Télécharger des programmes et mettre à jour les fichiers de configuration

  1. Clonez l'exemple de programme depuis GitHub.
$ git clone https://github.com/twilioforkwc/simpleFAX.git
$ cd simpleFAX
  1. Renommez example.env en .env.
$ mv example.env .env
  1. Modifiez le fichier .env et modifiez ACCOUNT_SID et AUTH_TOKEN en fonction de votre environnement.
  2. Entrez le numéro 050 acheté dans DE et le numéro de fax de la destination dans TO. Le numéro de fax du destinataire peut également être spécifié au moment de la transmission.
  3. Définissez les variables d'environnement.
$ source .env

Lancer l'application

  1. Exécutez l'application.
$ python app.py
  1. Démarrez ngrok.
$ ngrok http 3000

Notez l'URL https que vous avez commencée.

Réglage du numéro 050

  1. Connectez-vous à la console d'administration de Twilio.
  2. Cliquez sur l'icône du bouton et sélectionnez un numéro de téléphone.
  3. Sélectionnez le numéro 050 acheté.
  4. Réglez ACCEPTER À VENIR sur "Télécopies".
  5. Réécrire UN FAX COMES IN à l'URL ngrok que vous avez notée précédemment avec / receive ajouté. FAX設定.png
  6. Appuyez sur le bouton "Enregistrer" pour terminer les réglages.

tester

  1. Essayez d'envoyer une télécopie du télécopieur au numéro 050 acheté.
  2. En cas de succès, un fichier PDF sera créé dans le dossier FAX.
  3. Pour envoyer un fax, entrez l'URL / sendfax de ngrok dans le champ URL de votre navigateur. Le numéro de télécopie de destination spécifié dans .env est utilisé, mais si vous souhaitez le modifier, vous pouvez ajouter le paramètre to à l'URL. En outre, sample.pdf dans le dossier statique est utilisé pour l'envoi du PDF, mais si vous souhaitez envoyer un autre fichier, vous pouvez ajouter le paramètre pdf à l'URL. La télécopie que vous souhaitez envoyer doit être stockée au préalable dans le dossier statique.

Exemple: https://xxxxxx.ngrok.io/sendfax?to=03XXXXXXXX&pdf=xxxxxx.pdf

Commentaire

Le fichier app.py est volumineux et contient deux codes, un pour l'envoi (sendfax) et un pour la réception (receive, actionReceiver). Sendfax pour l'envoi contient le code pour envoyer un fax à l'aide de l'API Rest. Pour le moment, la bibliothèque d'assistance pour Python ne prend pas en charge FAX, elle est donc réalisée en utilisant la bibliothèque de requêtes. Pour déterminer si la transmission a réussi, il est nécessaire de spécifier statusCallback dans RestAPI au moment de la transmission, ou d'appeler le RestAPI en utilisant le FAX SID inclus dans la valeur de retour du RestAPI au moment de la transmission, mais ce processus est omis dans ce programme. Faire. La réception pour réception sera le premier webhook à être appelé lorsqu'un fax arrive au numéro Twilio. Ici, vous devez renvoyer soit le verbe (si vous voulez le recevoir), soit le verbe (si vous voulez le rejeter). Je veux recevoir cette fois, donc je renvoie le verbe . Le verbe peut avoir un paramètre d'action et est appelé lorsque la réception est terminée ou a échoué. Dans ce code, actionReceiver est applicable. Dans actionReceiver, il est jugé si la réception a réussi, et si elle réussit, le fichier PDF écrit dans MediaUrl est téléchargé dans le dossier FAX.

Vous trouverez ci-dessous plus de documentation sur le FAX programmable. https://jp.twilio.com/docs/api/fax

Résumé

Cette fois, nous avons présenté le cas de l'utilisation de Python, mais en plus de Python, nous avons également des SDK pour des langages tels que Node.js, C #, Java, Ruby, PHP et Salesforce. Pour plus de détails, veuillez consulter ici.


Qu'est-ce que Twilio?

https://twilio.kddi-web.com Twilio est un service d'API cloud qui vous permet d'intégrer facilement diverses méthodes de communication telles que les appels vocaux, la messagerie (SMS / chat) et la vidéo dans vos applications et entreprises. Il s'agit d'un système de paiement à l'utilisation qui ne nécessite pas de coût initial et est compatible avec divers langages de développement, il est donc également utilisé pour de nombreux événements et startups de hackathon.

Recommended Posts

Twilio avec Python
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Python avec Go
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Communication série avec Python
Zip, décompressez avec python
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Essayez de gratter avec Python.
Recherche séquentielle avec Python
"Orienté objet" appris avec python
Exécutez Python avec VBA
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
Collecter des tweets avec Python
3. 3. Programmation IA avec Python
Méthode Kernel avec Python
Non bloquant avec Python + uWSGI
Grattage avec Python + PhantomJS
Publier des tweets avec python
Conduisez WebDriver avec python
Utiliser mecab avec Python 3
[Python] Redirection avec CGIHTTPServer
Analyse vocale par python
Pensez à yaml avec python
Utiliser Kinesis avec Python
Premiers pas avec Python
Utiliser DynamoDB avec Python
Getter Zundko avec python
Gérez Excel avec python
Loi d'Ohm avec Python
Jugement des nombres premiers avec python
Exécutez Blender avec python
Résoudre des maths avec Python
Python à partir de Windows 7
Carte thermique par Python + matplotlib
Multi-processus de manière asynchrone avec python
Programmation Python avec Atom
Apprendre Python avec ChemTHEATER 02
Utilisez Python 3.8 avec Anaconda
Programmation compétitive avec python
Manipuler rabbimq avec python