前提条件 / 制限
- SMSを送信するにはTwilio電話番号が必要(要購入)
- トライアルアカウントでは承認済みの電話番号にしかSMS送信できない
電話番号の取得
電話番号のページから 電話番号を購入 をクリックして購入ページヘ。
SMSを送信するには アメリカの電話番号 が必要です。
用途を選んで電話番号を検索。
電話番号とcapabilityが一覧表示されるので適当なものを購入。金額は$1〜$2くらい。何故かトライアルアカウントで、カードも登録していない状態で購入できます。不思議。
SMS送信
電話番号を取得したらSMSを送信します。API Explorerでフォームをポチポチ埋めて、画面下部の リクエストを発行する をクリックすると送信されます。
プログラム上で送信するには、SID, AuthTokenはアカウント設定ページから取得して、githubにあるサポートライブラリを使って送信します。クレデンシャルはこんなの。
API Explorerで提示されているサンプルコードをコピペして使用。
from twilio.rest import TwilioRestClient
# put your own credentials here
ACCOUNT_SID = "[SID]"
AUTH_TOKEN = "[AuthToken]"
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
client.messages.create(
to="12345678",
from_="87654321",
body="hello! it's a twilio!",
)
成功時
リクエストが成功するとtwilio.rest.resources.messages.Message
が返ってくる。result.status
はqueue
となるみたい。
失敗時
リクエスト失敗時はTwilioRestException
が送出される。エラーメッセージに詳細な理由がついているので便利。
TwilioRestException:
HTTP Error Your request was:
POST https://api.twilio.com/2010-04-01/Accounts/xxxxxxxxxxxxx/Messages.json
Twilio returned the following information:
Message body is required.
More information may be available here:
https://www.twilio.com/docs/errors/21602