(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【TwilioAPI】SMSメッセージをcurlコマンドにて送る

スポンサーリンク

はじめに

TwilioとはSMSやプッシュ通知、電話確認を自動的に行うAPIを提供しているサービスでトライアルアカウントであれば無料でテストすることが可能です。

本記事ではTwilioAPIをcurlコマンドで叩いて手持ちのスマートフォンにSMSメッセージを送るまでの手順を記載しました。

環境情報&時期
  • curl 7.52.1 (x86_64-pc-linux-gnu)
  • 2020年執筆

アカウント登録

まずは冒頭に貼ったサイトにてアカウントを有効化させます。
メールアドレス認証が必要で、以下のような文面のメールが届きました。。

アカウントを有効化するには、メールアドレスを認証してください。メールアドレスが認証されるまでアカウントの作成は保留されています。

その後は電話番号による認証があります。

発信元電話番号を取得する

トップページにて以下のようなボタンがあり電話番号が取得できます。

f:id:mtiit:20200424210516p:plain
番号を取得する

日本の電話番号ではSMS発信に対応していないようなのでアメリカの番号をアサインしました。

以下のようにアサインされました。

Your new Phone Number is +1205551xxxx
For help building your Twilio application, check out the resources on the getting started page.
Once you've built your application, you can configure this phone number to send and receive calls and messages.

発信元電話番号を登録する

設定画面にて自分が持っている電話番号を認証済み電話番号として登録します。
以下のような画面から登録し、届いた認証コードを入力すれば準備完了です。

f:id:mtiit:20200424211151p:plain
番号登録

curlコマンドでSMSを飛ばす

以下が公式ドキュメントに記載のあるサンプルコードです。

$ EXCLAMATION_MARK='!'
$ curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json \
--data-urlencode "From=whatsapp:+14155238886" \
--data-urlencode "Body=Hello there$EXCLAMATION_MARK" \
--data-urlencode "To=whatsapp:+15005550006" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

下記に沿って以下のようにコマンドを発行します。このアカウントIDとアクセストークンも設定画面にて確認できます。

$ curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json \
--data-urlencode "From=+1205551xxxx" \
--data-urlencode "Body=Hello there" \
--data-urlencode "To=+81080xxxxxxxx" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:xxxxxxx

そうすると以下のように標準出力が返ってきて

{"sid": "SMxx", "date_created": ".., .. Apr 2020 ... +0000", "date_updated": "...", "date_sent": null, "account_sid": "AC...", "to": "+818..", "from": "+1205...", "messaging_service_sid": null, "body": "Sent from your Twilio trial account - Hello there", "status": "queued", "num_segments": "1", "num_media": "0", "direction": "outbound-api", "api_version": "2010-04-01", "price": null, "price_unit": "USD", "error_code": null, "error_message": null, "uri": "/2010-04-01/Accounts/....json", "subresource_uris": {"media": "/2010-04-01/Accounts/AC....json"}}

SMSとして

Sent from your Twilio trial account - Hello there

と届いていました。

終わりに

個人的には電話よりもLINEの方をよく使うので下記のサービスの方が利用しやすいですが、企業向けサービスでは電話番号による認証が主流です。

curlではなくPHPやRubyといったプログラミング言語からも簡単に利用できそうなので興味がある方はアカウントを取得し、APIマニュアルを見て遊んでみてください。

以上、ご参考になれば幸いです。