Programmable SMS Pythonクイックスタート
Ahoy there!Twilioのメッセージングチャネルを使用して転送されるすべてのメッセージングは、アプリケーション対個人メッセージング(A2P)として処理され、Twilioのメッセージポリシーの対象になります。Twilioのサービスを使用する間、遵守しなければならないポリシールールの詳細については、サービス利用ポリシーを参照してください。
わずか数行のコードにより、PythonアプリケーションからTwilio Programmable MessagingのSMSメッセージを発信できます。
このProgrammable Messagingクイックスタートは、Twilioアカウントの設定から、Messaging Serviceを使用したSMSの送信まで、全工程をステップごとに説明します。
このクイックスタートでは、以下について説明します。
- Twilioにサインアップし、SMS対応のTwilioの電話番号を取得する
- メッセージを送信するための開発環境を設定する
- SMSを送信してみる
- Twilio Messaging Serviceを設定する
- Messaging Serviceから2番目のSMSを送信する
このクイックスタートを終えた頃には、TwilioのProgrammable Messagingを使用し、お客様特有のユースケース向けに機能を構築、拡張するための基礎が身につきます。
Twilioにサインアップまたはサインインする
すでにTwilioアカウントをお持ちですか。その場合はこのセクションを省略できます。
無料のTwilioトライアルアカウントを取得するには、こちらからサインアップしてください。
- サインアップの際に、お客様個人の電話番号を確認させていただきます。これにより、Twilioがお客様を確認することができ、お客様はトライアルモード中にTwilioアカウントからご自身の電話にテストメッセージを送信することができます。
- 電話番号の確認を終えると、設定をカスタマイズするための一連の質問があります。
- 登録フローを終えると、Twilio Consoleにプロジェクトダッシュボードが表示されます。このダッシュボードを使用し、アカウントSID、認証トークン、Twilio電話番号などにアクセスできます。
Twilio CLIをインストールする
いくつかのタスクでTwilio CLI(コマンドラインインターフェイス)を使用するため、次にTwilio CLIをインストールします。
macOSにtwilio-cli
をインストールするための推奨される方法は、Homebrewを使用することです。インストールがお済みでない場合は、Homebrewサイトに進み、インストールを実行後、本ページにお戻りください。
Homebrewをインストールした後、次のコマンドを実行しtwilio-cli
をインストールします。
brew tap twilio/brew && brew install twilio
twilio-cli
をインストールするための推奨される方法は、Windows向けコマンドラインインストーラーであるScoopを使用することです。インストールがお済みでない場合は、Scoopサイトに進み、インストール手順を実行後、本ページにお戻りください。
注記: Scoop経由でインストールする際、一般的なアクセス許可の問題を回避するには、PowerShellを管理者として実行する必要があります。
- 次の
twilio-cli
のバケットを追加します。
scoop bucket add twilio-scoop https://github.com/twilio/scoop-twilio-cli
- 次のアプリをインストールします。
scoop install twilio
twilio-cli
は、Advanced Package Tool(apt)を使用し、Debian、Ubuntu、Linux Mintなどのほとんどのディストリビューションにインストールできます。
これを行うには、ターミナルで次のコマンドを実行します。
wget -qO- https://twilio-cli-prod.s3.amazonaws.com/twilio_pub.asc \
| sudo apt-key add -
sudo touch /etc/apt/sources.list.d/twilio.list
echo 'deb https://twilio-cli-prod.s3.amazonaws.com/apt/ /' \
| sudo tee /etc/apt/sources.list.d/twilio.list
sudo apt update
sudo apt install -y twilio
その他のインストール方法については、twilio-cliクイックスタートをご覧ください。
twilio login
を実行し、Twilio CLIをアカウントに接続します。https://www.twilio.com/consoleにアクセスし、CLIに入力するための固有アカウントSIDと認証トークンを確認します。
「目」のアイコンをクリックすると、認証トークンが表示されます。
電話番号を取得する
SMS機能付きのTwilioの電話番号をお持ちではない場合は、ご購入いただく必要があります。CLIを使用し次を実行します。
twilio phone-numbers:buy:local --country-code US --sms-enabled
米国以外の電話番号を使用する場合は、USをご希望のISO-3166-1国コードに置き換えます。SMS対応の番号が見つからない場合は、固定電話番号の代わりに携帯電話番号を探してみてください。twilio phone-numbers:buy:mobile --country-code DE --sms-enabled
アカウントに追加する電話番号を選択します。
次に、PythonとTwilio Pythonヘルパーライブラリーをインストールします。
PythonとTwilioヘルパーライブラリーをインストールする
他のPythonのクイックスタートのいずれかをすでに終えており、PythonとTwilio Pythonヘルパーライブラリーがインストールされている場合は、このステップを省略し、最初のテキストメッセージの送信に進んでください。
初めてのSMSを送信するには、PythonとTwilio Pythonヘルパーライブラリーをインストールしておく必要があります。
Pythonをインストールする
MacマシンまたはLinuxマシンをご使用の場合には、Pythonがすでにインストールされている可能性があります。ターミナルを開き、以下のコマンドを実行することで確認できます。
python --version
次のように表示されます。
$ python --version
Python 3.4
Windowsのユーザーは、このWindowsにPythonをインストールする優れたチュートリアル、またはPythonのドキュメントにある手順ご覧ください。
TwilioのPythonサーバー側SDKは、Python 2とPython 3の両方をサポートしています。このクイックスタートのどちらのバージョンでもご使用いただけますが、プロジェクトがPython 2のみとの互換性を持つ特殊なライブラリーを必要とするのでなければ、今後のTwilioのプロジェクトではPython 3を使用することをお勧めします。
Twilio Pythonサーバー側SDKをインストールする
ライブラリーをインストールするには、pipを利用するのが最も簡単な方法です。必要なライブラリーを簡単にインストールできる、Python用のパッケージマネージャーです。以下をターミナルで実行します。
pip install twilio
pip: command not found
エラーが表示された場合には、ターミナルで以下を実行し、easy_install
を使用することもできます。
easy_install twilio
手動インストールをご希望の場合には、twilio-python
のソースコード(ZIP)をダウンロードし、下記を実行しライブラリーをインストールします。
python setup.py install
これは、twilio-pythonサーバー側SDKライブラリーコードが含まれるフォルダ中で実行します。
Pythonを使用しSMSメッセージを送信する
Pythonとtwilio-python
をインストールできたため、たった1つのAPIリクエストで、購入したTwilioの電話番号からテキストメッセージを送信できるようになりました。send_sms.py
という新しいファイルを作成します。このファイルを開き、コードサンプルを入力するか、貼り付けます。
メッセージを送信する前に、send_sms.pyファイルをもう少し編集する必要があります。
プレースホルダの認証情報値を置き換える
account_sid
とauth_token
のプレースホルダ値を、ご自身のTwilio認証情報に置き換えます。https://www.twilio.com/consoleに移動し、ログインします。このページでは、お客様固有のアカウントSIDと認証トークンを確認できます。この作業は、今回のようにTwilio Clientによりメッセージを送信する際に必要となります。[view](表示)リンクをクリックすると、認証トークンが表示されます。
send_sms.py
を開き、account_sid
とauth_token
の値をご自身の固有の値に置き換えます。
注意: 最初は認証情報を直接コードに埋め込んでも問題ありませんが、本番環境にデプロイするまでには、必ず環境変数を使用し、認証情報を保護してください。詳細については、環境変数の設定方法をご覧ください。
from_の電話番号を置き換える
数分前に購入したSMS対応の電話番号を覚えていますか。入力されているfrom_
の番号を、その番号に置き換えます。必ずE.164形式を使用してください。
[+][国コード][エリアコードを含む電話番号]
toの電話番号を置き換える
to
の電話番号をご自身の携帯電話番号に置き換えます。テキストメッセージを受信できる電話番号であればどの番号でも構いませんが、たった1つのAPIリクエストが起こすマジックを体験するために、ご自身の番号を使用することをお勧めします。上記のように、この値にはE.164形式を使用します。
Twilioのトライアルアカウントを使用している場合は、Twilioにより確認された電話番号のみにSMSメッセージを送信することができます。電話番号は、Twilio Consoleの認証済み発信者IDにより認証できます。
無料トライアルの電話番号からSMSを送信する場合には、常に「Sent from a Twilio trial account.」(Twilioのトライアルアカウントから送信されました。)と表示されます。お客様がアップグレードすると、このメッセージは表示されなくなります。
変更内容を保存し、ターミナルからこのスクリプトを実行します。
python send_sms.py
これで完了です。すぐに、Twilioの電話番号から、携帯電話にSMSが到着するはずです。
顧客がアメリカやカナダにいる場合は、わずか1行のコードを追加するだけで、顧客にMMSメッセージを送信することもできます。その方法については、こちらのMMS送信ガイドをご覧ください。
このコードサンプルでは、Programmable Messaging APIのMessageエンドポイントにPOSTリクエストを実行し、新しい送信用メッセージを作成します。ここではtwilio-python
ライブラリー内蔵のcreate
メソッドを使用しますが、Twilio CLI(インストール済み)、curl、またはご希望のリクエストモジュールでこのリクエストを実行することもできます。
Twilio CLIとcurlによりSMSを送信するコードサンプルをご覧ください。body
、to
、from
パラメーターを必ず更新してください。
Twilio Messaging Serviceを設定する
おめでとうございます。Twilio Programmable Messagingを使いSMSを送信し、お使いのデバイスで受信できました。
Twilioの電話番号を取得し、その番号からSMSを送信することもできました。近いうちに、以下のような、高度なメッセージ送信機能が必要になるはずです。
- 短時間に多くのメッセージを送信する
- オプトインとオプトアウトを処理する
- 顧客が常に、同じ電話番号で一貫したメッセージサービスを受けられるようにする
クイックスタートの次のパートでは、Messaging Serviceを設定する方法を説明します。Messaging Serviceとは、使用できる電話番号(とその他の送信者)をすべて格納しておくコンテナとして考えることができ、メッセージングに必要な機能が付属しています。
お使いの電話番号にMessaging Serviceを作成する
以下のTwilio CLIコマンドを実行することにより、Messaging Serviceを作成し、Programmable SMSの送信に利用することができます。
twilio api:messaging:v1:services:create --friendly-name "My first Messaging Service"
Messaging Service SID(「MGXXX...」で始まる)をメモしておいてください。これは次のメッセージを送信する際に必要になります。
次に、購入した電話番号を追加します。もう忘れてしまいましたか?心配は不要です。Twilio CLIでリストできます。
twilio phone-numbers:list
# Grab the SID ("PNXXXX...") of your number
以下のコマンドを使用し、新しく作成したMessaging Serviceに電話番号を追加します。
twilio api:messaging:v1:services:phone-numbers:create --service-sid MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --phone-number-sid PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Messaging ServiceからSMSを送信する
Messaging ServiceからSMSを送信することは、個々のTwilioの電話番号から送信することに似ています。主な違いは、from_
パラメーターをmessaging_service_sid
に置き換え、Messaging Serviceの送信者番号プールにある電話番号から送信していることを示すことです。(現在、送信者番号プールにある電話番号は1つのみのため、その番号から送信します。)
messaging_service_sidパラメーターを置き換える
作成したばかりのMessaging Serviceを覚えていますか?from_
パラメーターと電話番号の代わりに、messaging_service_sid
パラメーターとMessaging Service SIDの「MGXXXX...」を使用します。変更内容を保存し、ターミナルからこのスクリプトを実行します。
python send_sms.py
これにより、Twilio Messaging Serviceを使用し、SMSを送信できます。数秒以内に、Twilioの電話番号から、2番目のSMSがお使いの電話に届きます。Messaging Serviceは、送信者番号プールからシームレスにお客様の電話番号を選択し、2番目のメッセージを送信しました。
次のステップ
これでSMSメッセージを送信することができました。次にTwilioのメッセージングの詳細に関し、以下のリソースもご覧ください。
- 受信メッセ―ジに関し、「SMSとMMSメッセージを受信し返信する」を読む
- WhatsAppによる送信をご希望の場合には、Python向けWhatsAppクイックスタートとテンプレートによるWhatsApp通知の送信をご覧ください
- Twilio Programmable Messagingを使用しサーバー通知を構築する
- Twilio SMSのAPIリファレンスドキュメントを読む
- Pythonを使用しメッセージの配信ステータスを追跡する
お客様の成功が私たちの喜びです。
サポートが必要ですか?
コーディングに関するご質問、ご不明点等ございましたら、お問い合わせからご連絡いただくか、TwilioのStack Overflow Collectiveにアクセスいただくか、Stack OverflowサイトでTwilioタグを検索してください。