Twilio mit Python

Zweck

In diesem Dokument lernen Sie Twilio, eine Kommunikations-API, mit Python.

Der Inhalt besteht aus den folgenden fünf.

--Lektion 1. Versuchen Sie, mit RestAPI einen Anruf zu tätigen --Lektion 2 Versuchen Sie, die ursprüngliche Nachricht abzuspielen --Lektion 3. Versuchen Sie, den Browser als Telefon zu verwenden --Lektion 4. Senden Sie spracherkannte Inhalte per SMS --Lektion 5. Fax senden und empfangen

Eine Übersicht über Twilio finden Sie auf der folgenden Website. https://twilio.kddi-web.com

Vorbereitung

Python

Da diesmal Python 3.x verwendet wird, bereiten Sie bitte die Ausführungsumgebung (Arbeitsordner) für Python 3 vor. Verwenden Sie den folgenden Befehl, um die Python-Version herauszufinden.


$ python --version
Python 3.7.2

Da pip zum Installieren der Bibliothek verwendet wird, stellen Sie bitte sicher, dass pip zusammen mit Python verwendet werden kann. https://pip.pypa.io/en/stable/installing/

ngrok

Um Twilio verwenden zu können, benötigen Sie einen öffentlichen Server, auf den von Twilio aus zugegriffen werden kann. Dieses Mal werden wir keinen Server erstellen, sondern ngrok verwenden, um die lokale Umgebung von außen zugänglich zu machen. Laden Sie ngrok von der folgenden Site herunter und extrahieren Sie es. https://ngrok.com/

Twilio

Wenn Sie kein Twilio-Konto haben, erstellen Sie zuerst ein Testkonto. In diesem Artikel erfahren Sie, wie Sie sich kostenlos anmelden können. [Neueste Version] Twilio-Anmeldung

Sie können nur eine Telefonnummer mit Ihrem Testkonto erwerben. Außerdem kann nur die authentifizierte Telefonnummer als Ziel verwendet werden. Wenn Sie eine Telefonnummer anrufen oder mehrere Telefonnummern erwerben möchten, registrieren Sie bitte Ihre Zahlungsinformationen (Karteninformationen) und Kaufpunkte.

Lektion 1 Versuchen Sie, einen Anruf mit der Rest-API zu tätigen

In dieser Lektion erwerben Sie zunächst eine Telefonnummer über die Administratorkonsole von Twilio. Installieren Sie dann die Python-Hilfsbibliothek und schreiben Sie den Code, um den Aufruf zu tätigen. Derzeit müssen Sie Ihre Adressinformationen im Voraus registrieren, um eine japanische Telefonnummer zu erwerben. Informationen zum Registrieren von Adressinformationen finden Sie im folgenden Artikel. So registrieren Sie eine Adresse in einer Telefonnummer bei Twilio

Telefonnummer kaufen

  1. Melden Sie sich bei der Administratorkonsole von Twilio an. https://jp.twilio.com/login/kddi-web

  2. Klicken Sie auf das Schaltflächensymbol, um das Folienmenü zu öffnen und wählen Sie Telefonnummer. 電話番号.png

  3. Wählen Sie Nummer kaufen, um den Bildschirm zum Kauf einer Telefonnummer zu öffnen. Buy a Number.png

  4. Stellen Sie sicher, dass "Japan (+81)" für das Land ausgewählt ist, aktivieren Sie "Sprachanruf" und "Fax" und drücken Sie die Suchtaste. スクリーンショット 2017-06-03 22.22.07.png

  5. Wählen Sie eine aus der angezeigten Liste aus und klicken Sie auf die Schaltfläche "Kaufen".

  6. Wenn das Dialogfeld Diese Nummer kaufen angezeigt wird, klicken Sie auf die Schaltfläche Diese Nummer kaufen. スクリーンショット 2017-06-03 22.25.23.png

  7. Wenn das Dialogfeld "Glückwünsche" angezeigt wird, ist der Nummernkauf abgeschlossen. Klicken Sie auf die Schaltfläche "Schließen", um den Dialog zu schließen.

Vorbereiten der Python-Hilfsbibliothek

Twilio hat eine Hilfsbibliothek für Python, installieren Sie sie also zuerst.

$ pip install twilio

Die neueste Version vom 24.09.2019 ist 6.31.0. Wenn eine niedrigere Version installiert ist, installieren Sie sie mit der Option -U. Die neueste Version finden Sie auf der folgenden Website. https://github.com/twilio/twilio-python/

Untersuchen Sie AccountSid und AuthToken

  1. Melden Sie sich bei der Administratorkonsole von Twilio an. https://jp.twilio.com/login/kddi-web

  2. Kopieren Sie die in der Kontoübersicht des Konsolen-Dashboards angezeigten Werte für ACCOUNT SID und AUTH TOKEN in den Editor.

Codierung

  1. Öffnen Sie den Editor und kopieren Sie den folgenden Code und fügen Sie ihn ein.
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. Geben Sie für account_sid die AccountSid ein, die Sie zuvor notiert haben.
  2. Geben Sie in auth_token das AuthToken ein, das Sie zuvor notiert haben.
  3. Geben Sie in Ihre Telefonnummer im [E.164-Format] ein (https://ja.wikipedia.org/wiki/E.164). (Beispiel: +819012345678)
  4. Geben Sie unter from_ die zuvor gekaufte Telefonnummer im E.164-Format ein.
  5. Speichern Sie es als call.py in einem Ordner, in dem Python ausgeführt werden kann.

Lauf

  1. Führen Sie call.py aus und überprüfen Sie, ob Ihr Telefon angerufen wird.
$ python call.py

Kommentar

Lassen Sie uns den obigen Code überprüfen. Um einen Anruf zu tätigen, rufen Sie calls.create auf. In diesem Fall kann die Quelle (from_) [* from nicht als reserviertes Wort verwendet werden, daher wird sie from_ *] und das Ziel (to) wird angegeben. Der Punkt ist der durch die URL angegebene Teil. Geben Sie hier XML (TwiML genannt) an, um anzugeben, was zu tun ist, wenn der andere Teilnehmer antwortet. Das diesmal angegebene TwiML ist eine XML-Datei, wie unten gezeigt.

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

Das Verb führt Text to Speech aus, und die hier angegebene Zeichenfolge (Vielen Dank, dass Sie unsere Dokumentation ausprobiert haben. Viel Spaß!) Wird als Stimme abgespielt. Das Verb ist ein Verb, das eine Audiodatei abspielt. Auf diese Weise können Sie das Verhalten für Twilio festlegen, indem Sie mehrere TwiML kombinieren.

Lektion 2 Spielen Sie die Originalnachricht ab

In dieser Lektion werden Sie versuchen, Ihre eigene Originalnachricht zu senden. Dazu müssen Sie eine TwiML erstellen, die die Nachricht beschreibt, die Sie senden möchten, und sie an einem Ort platzieren, auf den Twilio über http oder https zugreifen kann. Unter der folgenden URL finden Sie ein Dokument darüber, welche Art von TwiML verfügbar ist. https://jp.twilio.com/docs/api/twiml

Kolbeninstallation

Um es von Twilio aus zugänglich zu machen, werden wir diesmal Flask als Webframework verwenden. Der Kolben kann wie folgt installiert werden.

$ pip install Flask

Erstellen Sie ein Programm, um TwiML mit Flask zurückzugeben

  1. Öffnen Sie den Editor und kopieren Sie den folgenden Code und fügen Sie ihn ein.
# say.py
from flask import Flask
from twilio.twiml.voice_response import VoiceResponse

app = Flask(__name__)

@app.route('/say', methods=['GET', 'POST'])
def say():
    #Erstellen Sie TwiML
    resp = VoiceResponse()
    resp.say("Hallo. Twirio macht viel Spaß.", language="ja-JP", voice="alice")
    return str(resp)

if __name__ == "__main__":
    app.run(port=5000, debug=True)
  1. Speichern Sie es als say.py.
  2. Versuchen Sie es auszuführen.
$ 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. Öffnen Sie Ihren Browser und geben Sie http: // localhost: 5000 / say ein. スクリーンショット 2017-06-04 01.30.08.png Wenn Sie eine Nachricht wie die oben gezeigte sehen, ist Ihr Python-Code vorerst in Ordnung.

Starten Sie ngrok

Verwenden Sie ngrok, um das erstellte Python-Programm nach außen zu veröffentlichen.

  1. Starten Sie ngrok mit dem folgenden Befehl.
$ ngrok http 5000

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

  1. Kopieren Sie die URL auf der https-Seite der Weiterleitung an den Editor.

Ausgehendes Programm ändern

  1. Öffnen Sie die soeben erstellte Call.py in einem Editor.
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. Schreiben Sie das URL-Feld mit der zuvor notierten URL neu. Vergessen Sie nicht, am Ende hinzuzufügen / zu sagen.

Prüfung

  1. Versuchen Sie, call.py wie in Lektion 1 auszuführen.
$ python call.py
  1. Wenn Sie einen Anruf erhalten und eine Nachricht auf Japanisch hören, sind Sie erfolgreich.

Kommentar

Say.py erstellt das ursprüngliche TwiML. Mit der Python-Hilfsbibliothek von Twilio können Sie auch problemlos TwiML erstellen. Importieren Sie twilio.twiml.voice_response im Voraus, um eine sprachbasierte TwiML zu erstellen. Um Japanisch zu sprechen, geben Sie language = 'ja-JP' und voice = 'alice' an. Wenn Sie einen zu langen Satz schreiben, wird er möglicherweise nicht richtig gesprochen. Teilen Sie in einem solchen Fall das Say-Verb in mehrere Teile. Mit diesem Beispiel habe ich auch das Gefühl, dass Japanisch furchterregend ist. Wenn Sie fließend Japanisch sprechen möchten, verwenden Sie "Polly.Mizuki" oder "Polly.Takumi" für den Sprachparameter im TwiML-Generierungsteil (siehe Code unten) und sprechen Sie in relativ sauberem Japanisch. Werde es tun. Es kostet ein wenig Geld, aber wenn Sie schönes Japanisch verwenden möchten, versuchen Sie es bitte.

~ Abkürzung ~
def say():
    #Erstellen Sie TwiML
    resp = VoiceResponse()
    resp.say("Hallo. Twirio macht viel Spaß.", language="ja-JP", voice="Polly.Mizuki")
    return str(resp)
~ Abkürzung ~

Darüber hinaus kann beispielsweise die Sprachsynthesetechnologie von AI kombiniert werden.

Lektion 3. Versuchen Sie, Ihren Browser als Telefon zu verwenden

Sie wissen vielleicht nicht, was Sie sagen, aber mit Twilio können Sie Ihren üblichen Browser als Telefon verwenden. Ja, Sie können mit einem Browser anrufen. In dieser Lektion verwenden Sie den Browser als Telefon und versuchen, über den Browser einen Anruf zu tätigen. Das Senden und Empfangen über einen Browser verwendet eine Funktion namens Twilio Client, zum Senden und Empfangen ist jedoch ein Mechanismus erforderlich, der als Zugriffstoken bezeichnet wird. Ein Zugriffstoken ist ein Authentifizierungsschlüssel, mit dem Sie die Telefonfunktionen mit Twilio verwenden können. Sie können ihn erhalten, indem Sie Twilio auffordern, ein Zugriffstoken von der Benutzerseite auszustellen. Es braucht Zeit, um diese Mechanismen von Grund auf neu zu erstellen, daher werden wir dieses Mal den im Voraus vorbereiteten Schnellstart verwenden. In dieser Lektion wird ngrok wie zuvor verwendet.

Programm herunterladen

Wenn Sie Git verwenden können, verwenden Sie den folgenden Befehl, um die Quelldatei in Ihr Arbeitsverzeichnis zu klonen.

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

Wenn Sie Git nicht verwenden können, laden Sie die Zip-Datei von der folgenden URL herunter und extrahieren Sie sie in Ihr Arbeitsverzeichnis. https://github.com/TwilioDevEd/client-quickstart-python/archive/master.zip

Wechseln Sie in das geklonte (extrahierte) Verzeichnis.

$ cd client-quickstart-python

.env Dateieinstellungen

Erstellen Sie eine .env-Datei, indem Sie die .env-Beispieldatei kopieren.

$ cp .env.example .env

Für Windows-Benutzer

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

Öffnen Sie .env oder .env.ps1 mit einem Editor und legen Sie Umgebungsvariablen fest.

.env


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

Geben Sie für TWILIO_ACCOUNT_SID und TWILIO_AUTH_TOKEN das in der vorherigen Lektion verwendete AccountSit und AuthToken ein. TWILIO_TWIML_APP_SID ist derzeit nicht bekannt. Lassen Sie es also in Ruhe. Schreiben Sie in TWILIO_CALLER_ID die gekaufte 050-Nummer im E.164-Format. Speichern Sie die Einstellungen nach Abschluss der Einstellungen durch Überschreiben.

Umgebungsvariablen lesen

Legen Sie die Umgebungsvariablen mit dem folgenden Befehl fest.

$ source .env

Verwenden Sie für Windows-Benutzer den folgenden Befehl zum Festlegen.

. .\.env.ps1

Bibliothek laden

Verwenden Sie den folgenden Befehl, um die erforderliche Bibliothek zu laden.

$ pip install -r requirements.txt

Die Bibliotheken, die diesmal verwendet werden, sind Flask, Twilio und Fake-Factory.

Starten Sie ngrok

$ ngrok http 5000

Wenn ngrok gestartet wird, notieren Sie die angezeigte URL (https) im Editor.

Anwendungs-SID abrufen

  1. Melden Sie sich bei der Administratorkonsole von Twilio an.
  2. Drücken Sie das Tastensymbol und wählen Sie Programmable Voice.
  3. Wählen Sie Extras.
  4. Drücken Sie das Plus-Symbol, um neue TwiML-Apps zu erstellen.
  5. Geben Sie Twilio Client Quickstart als Anzeigenamen ein.
  6. Geben Sie unter Sprachanruf-ANFRAGE-URL die zuvor aufgezeichnete ngrok-URL + / Stimme ein. Beispiel: https://xxxxxxx.ngrok.io/voice
  7. Klicken Sie auf die Schaltfläche "Speichern".
スクリーンショット 2017-06-05 19.13.52.png
  1. Wählen Sie die erneut erstellten TwiML-Apps aus und notieren Sie sich die Anwendungs-SID. ApplicationSID.png

  2. Veröffentlichen Sie die schriftliche Anwendungs-SID in der zuvor bearbeiteten .env-Datei in TWILIO_TWIML_APP_SID.

  3. Schließen Sie die laufende Anwendung (app.py) einmal (Strg-C).

  4. Laden Sie die Umgebungsvariablen neu.

$ source .env

Führen Sie die Anwendung aus

$ python app.py

Prüfung

  1. Starten Sie Ihren Browser (Chrome oder Firefox) und öffnen Sie die URL, beginnend mit https, das in ngrok angezeigt wird. スクリーンショット 2017-06-06 07.40.15.png

Wenn Twilio Device Ready! Wie auf dem Bildschirm angezeigt wird, können Sie einen Anruf tätigen. Geben Sie beim Tätigen eines Anrufs die Telefonnummer im E.164-Format an.

Kommentar

Öffnen Sie app.py in einem Editor und überprüfen Sie es. Es gibt zwei große Codes, einen zum Abrufen des Zugriffstokens / Tokens und einen zum Tätigen eines Anrufs / einer Stimme. In / token wird ein ClientCapbilityToken-Objekt erstellt und zwei Einstellungen festgelegt: allow_client_outgoing (application_sid) und allow_client_incoming (Identität). Ersteres ist die Einstellung für ausgehende Token und letzteres ist die Einstellung für eingehende Anrufe. Die TwiML Apps SID ist für das ausgehende Token angegeben, wodurch Twilio anrufen / sprechen kann, wenn die ausgehende Anweisung vom Browser empfangen wird. Darüber hinaus legt das Token für eingehende Anrufe eine eigene Identität fest, sodass andere Clients die Identität als Ziel für den Empfang eines Anrufs angeben können. / voice ist eine URL, die von Twilio beim Tätigen eines Anrufs aufgerufen wird, und die Zielnummer wird als To-Parameter übergeben. Wenn Twilio dies als Wählverb zurückgibt, ruft er Sie an. Diesmal ist der eingehende Anruf mit der Nummer 050 nicht implementiert. Wenn Sie ihn jedoch implementieren möchten, verwenden Sie die Verwaltungskonsole von Twilio, geben Sie die eingehende Verarbeitung der Nummer 050 an und verwenden Sie TwiML für das an die Identität adressierte Wählverb. Es ist in Ordnung, wenn Sie es zurückgeben. Der Code auf der Front-End-Seite befindet sich in quickstart.js im statischen Ordner. Wenn die Seite geladen wird, können Sie sehen, dass Sie Ajax verwenden, um das Zugriffstoken abzurufen. Wenn das Token erfolgreich erfasst wurde, wird das Gerät mit dem erfassten Token initialisiert. Wenn die Initialisierung abgeschlossen ist, wird das Ereignis Device.ready ausgelöst. Zusätzlich zur Bereitschaft hat das Gerät einige wichtige Ereignisse. Diese Ereignisse werden in den folgenden Dokumenten beschrieben: https://jp.twilio.com/docs/api/client/device

Lektion 4. Senden Sie spracherkannte Inhalte per SMS

In dieser Lektion kombinieren Sie die Spracherkennungstechnologie und die SMS-Übertragungstechnologie von Twilio, um ein Programm zu erstellen, das Sprache aufzeichnet und in Zeichen umwandelt, wenn eine 050-Nummer erreicht ist, und diese per SMS an den Anrufer zurücksendet. Sie können die 050-Nummer nicht zum Senden von SMS verwenden. Kaufen Sie daher eine neue US-Nummer. ** Sie müssen Ihr Twilio-Testkonto aktualisieren. ** ** **

Kaufen Sie US-Nummer

  1. Melden Sie sich bei der Administratorkonsole von Twilio an.
  2. Wählen Sie "Telefonnummer" aus dem Schaltflächensymbol.
  3. Wählen Sie "Buy a Number", wählen Sie "United States" aus der Liste der Länder und klicken Sie auf "Search".
  4. Wählen Sie eine lokale Nummer aus, die SMS verwenden kann, und klicken Sie auf die Schaltfläche "Kaufen".
  5. Wenn das Dialogfeld Diese Nummer kaufen angezeigt wird, klicken Sie auf die Schaltfläche Diese Nummer kaufen.
  6. Wenn das Dialogfeld Glückwünsche angezeigt wird, klicken Sie auf die Schaltfläche Schließen.

Aufbau und Kodierung der Arbeitsumgebung

  1. Erstellen Sie ein Verzeichnis mit dem Namen callSMS in Ihrem Arbeitsverzeichnis, in dem Python verfügbar ist, und wechseln Sie in dieses Verzeichnis.
  2. Erstellen Sie eine Datei mit dem Namen app.py und fügen Sie den folgenden Code ein.
# 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 hat angerufen, wenn ein Anruf eingeht
    response = VoiceResponse()
    gather = Gather(input='speech', language='ja-JP', action='/sendsms', method='POST')
    gather.say('Danke für den Anruf. Bitte geben Sie mir eine Nachricht.', language='ja-JP', voice='alice')
    response.append(gather)

    return str(response)

@app.route('/sendsms', methods=['POST'])
def sendsms():
    #Erhalten Sie Spracherkennungsergebnisse
    result = request.form["SpeechResult"] or ''
    to = request.form["From"] or ''
    if (result != '' and to != ''):
        #SMS senden
        message = client.messages.create(to=to,
            from_="+1XXXXXXXXXXXX",
            body=result)
        print(message.sid)
        resp = VoiceResponse()
        resp.say("Ich habe dir eine Nachricht geschickt. Vielen Dank.", language="ja-JP", voice="alice")
        return str(resp)
    else:
        resp = VoiceResponse()
        resp.say("Es tut mir Leid. Spracherkennung war nicht möglich.", language="ja-JP", voice="alice")
        return str(resp)

if __name__ == "__main__":
    app.run(port=5000, debug=True)
  1. Schreiben Sie account_sid und auth_token neu.
  2. Ersetzen Sie die from_-Telefonnummer durch die US-Nummer, die Sie zuvor gekauft haben.

Programm starten

$ python app.py

Starten Sie ngrok

$ ngrok http 5000

Wenn ngrok gestartet wird, notieren Sie die URL, die mit https beginnt.

Einstellung für eingehende Anrufe von 050 Nummer

  1. Melden Sie sich bei der Twilio-Administratorkonsole an.
  2. Drücken Sie das Tastensymbol und wählen Sie "Telefonnummer".
  3. Wählen Sie die gekaufte 050-Nummer aus, um den Einstellungsbildschirm zu öffnen.
  4. Setzen Sie das Feld A CALL COMES IN auf "Webhook" und beschreiben Sie die URL, die Sie beim Starten von ngrok mit / call hinzugefügt haben. 着信設定.png
  5. Klicken Sie auf die Schaltfläche "Speichern", um die Einstellungen zu speichern.

Prüfung

  1. Rufen Sie die 050-Nummer an, für die Sie eingehende Anrufe eingerichtet haben, und fügen Sie nach der Anleitung eine Nachricht ein.
  2. Nach einer Weile wird die Anleitung abgespielt, dass die Nachricht gesendet wurde, und das Spracherkennungsergebnis wird an SMS gesendet.

Kommentar

Das durch Aufrufen erzeugte Gather-Verb ist ursprünglich ein Verb zur Verarbeitung von DTMF-Signalen (Push-Tone-Signalen), es ist jedoch auch möglich, zusätzlich zu DTMF Sprachdaten zu erfassen. Die Sprachdaten werden intern an die Spracherkennungs-Engine übergeben, und das Ergebnis wird an den durch den Aktionsparameter angegebenen Webhook gesendet. Audio kann bis zu 60 Sekunden lang aufgezeichnet werden. Für jede Konvertierung (15-Sekunden-Einheit) wird zusätzlich zur Anrufgebühr eine zusätzliche Gebühr von 3 Yen erhoben. Diesmal wurde die SMS wie nach der Spracherkennung gesendet, es ist jedoch auch möglich, einen BOT mithilfe von Sprache zu erstellen, indem beispielsweise die Konversations-API von IBM Watson verwendet wird.

Lektion 5. Fax senden und empfangen

In dieser Lektion verwenden Sie die Funktion Programmierbares Fax zum Senden und Empfangen von Faxen. Aus globaler Sicht ist Japan immer noch ein Land, in dem Faxe immer noch häufig verwendet werden, und es gibt viele Möglichkeiten, sie zu verwenden, z. B. das Senden von Faxen aus Programmen und die automatische Verarbeitung empfangener Faxe. Sie können die 050-Nummer zum Senden und Empfangen von Faxen verwenden, aber Sie können keine Sprachanrufe oder Faxe mit derselben 050-Nummer empfangen. Dieses Mal werde ich die bereits gekaufte 050-Nummer für FAX wechseln und verwenden.

Laden Sie Programme herunter und aktualisieren Sie die Konfigurationsdateien

  1. Klonen Sie das Beispielprogramm von GitHub.
$ git clone https://github.com/twilioforkwc/simpleFAX.git
$ cd simpleFAX
  1. Benennen Sie example.env in .env um.
$ mv example.env .env
  1. Bearbeiten Sie die ENV-Datei und die Dateien ACCOUNT_SID und AUTH_TOKEN entsprechend Ihrer Umgebung.
  2. Geben Sie die gekaufte 050-Nummer in FROM und die Faxnummer des Ziels in TO ein. Die Zielfaxnummer kann auch beim Senden angegeben werden.
  3. Legen Sie die Umgebungsvariablen fest.
$ source .env

Führen Sie die Anwendung aus

  1. Führen Sie die Anwendung aus.
$ python app.py
  1. Starten Sie ngrok.
$ ngrok http 3000

Notieren Sie sich die https-URL, die Sie gestartet haben.

050 Nummerneinstellung

  1. Melden Sie sich bei der Administratorkonsole von Twilio an.
  2. Klicken Sie auf das Schaltflächensymbol und wählen Sie eine Telefonnummer aus.
  3. Wählen Sie die gekaufte 050-Nummer aus.
  4. Schalten Sie ACCEPT IN COMING auf "Faxe".
  5. Schreiben Sie ein Fax neu in die ngrok-URL, die Sie zuvor mit / receive hinzugefügt haben. FAX設定.png
  6. Klicken Sie auf die Schaltfläche "Speichern", um die Einstellungen abzuschließen.

Prüfung

  1. Versuchen Sie, ein Fax vom Faxgerät an die gekaufte 050-Nummer zu senden.
  2. Bei Erfolg wird eine PDF-Datei im FAX-Ordner erstellt.
  3. Um ein Fax zu senden, geben Sie die URL / sendfax von ngrok in das URL-Feld Ihres Browsers ein. Die in .env angegebene Zielfaxnummer wird verwendet. Wenn Sie sie jedoch ändern möchten, können Sie der URL den Parameter to hinzufügen. Außerdem wird sample.pdf im statischen Ordner für das zu sendende PDF verwendet. Wenn Sie jedoch eine andere Datei senden möchten, können Sie der URL den Parameter pdf hinzufügen. Das Fax, das Sie senden möchten, muss vorab im statischen Ordner gespeichert werden.

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

Kommentar

Die app.py ist groß und enthält zwei Codes, einen zum Senden (sendfax) und einen zum Empfangen (receive, actionReceiver). Sendfax zum Senden enthält den Code zum Senden eines Faxes über die Rest-API. Momentan unterstützt die Hilfsbibliothek für Python kein FAX, daher wird sie mithilfe der Anforderungsbibliothek realisiert. Um festzustellen, ob die Übertragung erfolgreich war, muss zum Zeitpunkt der Übertragung statusCallback in der RestAPI angegeben oder die RestAPI unter Verwendung der FAX-SID aufgerufen werden, die zum Zeitpunkt der Übertragung im Rückgabewert der RestAPI enthalten ist. Dieser Vorgang wird in diesem Programm jedoch weggelassen. tun. Der Empfang zum Empfang ist der erste Webhook, der aufgerufen wird, wenn ein Fax unter der Twilio-Nummer eintrifft. Hier müssen Sie entweder das Verb (wenn Sie es erhalten möchten) oder das Verb (wenn Sie es ablehnen möchten) zurückgeben. Ich möchte diese Zeit erhalten, daher gebe ich das Verb zurück. Das Verb kann einen Aktionsparameter haben und wird aufgerufen, wenn der Empfang abgeschlossen oder nicht erfolgreich ist. In diesem Code ist actionReceiver anwendbar. In actionReceiver wird beurteilt, ob der Empfang erfolgreich war, und wenn er erfolgreich ist, wird die in MediaUrl geschriebene PDF-Datei in den FAX-Ordner heruntergeladen.

Weitere Dokumentation zu programmierbaren Faxen finden Sie unten. https://jp.twilio.com/docs/api/fax

Zusammenfassung

Dieses Mal haben wir den Fall der Verwendung von Python vorgestellt, aber zusätzlich zu Python haben wir auch SDKs für Sprachen wie Node.js, C #, Java, Ruby, PHP und Salesforce. Weitere Informationen finden Sie unter hier.


Was ist Twilio?

https://twilio.kddi-web.com Twilio ist ein Cloud-API-Dienst, mit dem Sie verschiedene Kommunikationsmethoden wie Sprachanrufe, Messaging (SMS / Chat) und Video problemlos in Ihre Anwendungen und Unternehmen integrieren können. Es handelt sich um ein Pay-as-you-go-System, das keine anfänglichen Kosten erfordert und mit verschiedenen Entwicklungssprachen kompatibel ist. Daher wird es auch für viele Hackathon-Events und Startups verwendet.

Recommended Posts

Twilio mit Python
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Scraping mit Python
Python mit Go
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
mit Syntax (Python)
Bingo mit Python
Zundokokiyoshi mit Python
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Serielle Kommunikation mit Python
Zip, entpacken mit Python
Primzahlbeurteilung mit Python
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python
Datenanalyse mit Python 2
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
Sequentielle Suche mit Python
"Objektorientiert" mit Python gelernt
Führen Sie Python mit VBA aus
Löse AtCoder 167 mit Python
Serielle Kommunikation mit Python
[Python] Verwenden Sie JSON mit Python
Lerne Python mit ChemTHEATER
Führen Sie prepDE.py mit python3 aus
Tweets mit Python sammeln
3. 3. KI-Programmierung mit Python
Kernel-Methode mit Python
Nicht blockierend mit Python + uWSGI
Scraping mit Python + PhantomJS
Tweets mit Python posten
Fahren Sie WebDriver mit Python
Verwenden Sie Mecab mit Python 3
[Python] Mit CGIHTTPServer umleiten
Sprachanalyse mit Python
Denken Sie an Yaml mit Python
Kinesis mit Python betreiben
Erste Schritte mit Python
Verwenden Sie DynamoDB mit Python
Zundko Getter mit Python
Behandle Excel mit Python
Ohmsches Gesetz mit Python
Primzahlbeurteilung mit Python
Führen Sie Blender mit Python aus
Löse Mathe mit Python
Python ab Windows 7
Heatmap von Python + matplotlib
Asynchron mit Python verarbeiten
Python-Programmierung mit Atom
Python lernen mit ChemTHEATER 02
Verwenden Sie Python 3.8 mit Anaconda
Wettbewerbsfähige Programmierung mit Python
Behandle Rabbimq mit Python