LoginSignup
6
8

More than 5 years have passed since last update.

TwilioでSMSを送信してみた

Last updated at Posted at 2015-06-12

前提条件 / 制限

  • SMSを送信するにはTwilio電話番号が必要(要購入)
  • トライアルアカウントでは承認済みの電話番号にしかSMS送信できない

電話番号の取得

電話番号のページから 電話番号を購入 をクリックして購入ページヘ。

Twilio_User_-_Account_Phone_Numbers_Incoming.png

SMSを送信するには アメリカの電話番号 が必要です。

Twilio_User_-_Account_Phone_Numbers_Search.png

用途を選んで電話番号を検索。

Twilio_User_-_Account_Phone_Numbers_Search.png

電話番号とcapabilityが一覧表示されるので適当なものを購入。金額は$1〜$2くらい。何故かトライアルアカウントで、カードも登録していない状態で購入できます。不思議。

Twilio_User_-_Account_Phone_Numbers_Search_Buy_Results.png

SMS送信

電話番号を取得したらSMSを送信します。API Explorerでフォームをポチポチ埋めて、画面下部の リクエストを発行する をクリックすると送信されます。

Twilio_User_-_Account_Developer_Tools_API_Explorer_Message_Create.png

プログラム上で送信するには、SID, AuthTokenはアカウント設定ページから取得して、githubにあるサポートライブラリを使って送信します。クレデンシャルはこんなの。

Twilio_User_-_Account_Settings.png

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.statusqueueとなるみたい。

失敗時

リクエスト失敗時は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
6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8