(O+P)ut

アウトプット



(O+P)ut

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

【TwilioAPI】機械音声メッセージをcurlコマンドにて送る

スポンサーリンク

はじめに

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

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

環境情報
  • curl 7.52.1 (x86_64-pc-linux-gnu)
  • Twilio api_version : 2010-04-01

アカウント登録&電話番号取得・登録

以下記事を参照ください。

curlコマンドで電話をかける

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

$ EXCLAMATION_MARK='!'
$ curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json \
EXCLAMATION_MARK='!'
curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls.json \
--data-urlencode "Twiml=<Response><Say>Ahoy there$EXCLAMATION_MARK</Say></Response>" \
--data-urlencode "To=+15558675310" \
--data-urlencode "From=+15552223214" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token

下記に沿って以下のようにコマンドを発行します。Sayの間に出したい音声メッセージを記入します。

# curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACxxx/Calls.json --data-urlencode "From=+120xxxxxxxxx" --data-urlencode "Twiml=<Response><Say>Test</Say></Response>" --data-urlencode "To=+8180xxxxxxxx" -u ACxxxx:xxxx

成功すると返り値は以下で

{"answered_by": null, "price_unit": "JPY", "parent_call_sid": null, "caller_name": null, "group_sid": null, "duration": null, "from": "+1205xxxx", "to": "+8180xxxxx", "annotation": null, "date_updated": null, "sid": "CAxxxxx", "queue_time": "0", "price": null, "api_version": "2010-04-01", "status": "queued", "direction": "outbound-api", "start_time": null, "date_created": null, "from_formatted": "(205) xxxxx", "trunk_sid": null, "forwarded_from": null, "uri": "/2010-04-01/Accounts/ACxxxxx/Calls/CAxxx.json", "account_sid": "ACxxx", "end_time": null, "to_formatted": "+8180xxx", "phone_number_sid": "PNxxx", "subresource_uris": {"notifications": "/2010-04-01/Accounts/ACxxx/Calls/CAxx/Notifications.json", "recordings": "/2010-04-01/Accounts/ACxx/Calls/CAxx/Recordings.json", "feedback": "/2010-04-01/Accounts/ACxx/Calls/CAxx/Feedback.json", "payments": "/2010-04-01/Accounts/ACxx/Calls/CAxx/Payments.json", "feedback_summaries": "/2010-04-01/Accounts/ACxx/Calls/FeedbackSummary.json"}} 

指定した電話番号に対して非通知設定で電話がかかってくるので応答すると

Twilioをご利用いただきありがとうございます
いずれかのダイヤルキーを押してください

とロボットのような明るい音声で聞こえ、パッドから数字を押すと男性の声で

Test

とメッセージが述べられ自動的に電話が切れます。

終わりに

試しに日本語を交えてテスト送信してみましたが、日本語部分は読まれませんでした。
SMSの際は日本語テキストを入れても届いたのでやり方があるのかもしれませんが、もしご存知の方はコメントにてお知らせいただければ助かります。

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