TwiML™ メッセージ: Twilio のリクエスト

Twilio からアプリケーションへのデータの渡しかた

Twilioは通常のWebブラウザー同様、application/x-www-form-urlencoded形式でHTTPリクエストをユーザーのアプリケーションに送信します。 (Twilioが)このリクエストにパラメーターと値を含めることで、Twilioはユーザーのアプリケーションにデータを送信し、これを使用してレスポンスの前に処理を行うことができます。このリクエストの送信にTwilioが使用するURLおよびHTTPメソッドは、Twilio Console経由またはREST APIの使用によって構成することができます。

あなたの電話番号に誰かがメッセージを送信した時、あなたのアカウントでTwilioのアプリケーションを作るとTwilioにリクエストを送信するURLを非常に簡単に設定できます。電話番号に直接URLをアサインする代わりに、プリケーションのそれを設定することができ、電話番号にアプリケーションを設定できます。覚えたり、コピーアンドペーストすることなく電話番号に設定を渡すことができます。

TwiML メッセージリクエスト

ユーザーのTwilio電話番号またはChannelからメッセージが受信されると、同期HTTPリクエストがその番号またはChannelで構成されたメッセージURLに対して送信され、そのレスポンスとしてTwiMLの受信が想定されます。 Twilioはリクエストと一緒に下記のパラメーターを構成したHTTPメソッドに応じて、POSTパラメーターまたはURLクエリーパラメーターとして送信します。

リクエストパラメーター

パラメーター 説明
Message SID このメッセージの 34 文字のユニークな識別子です。 後で REST API を使ってこのメッセージを取得する時に使えます。
SmsSid MessageSidと同様の値。廃止される予定、後方互換のために用意されています。
AccountSid このメッセージに関連付けられた アカウント の、34 文字の ID です。
MessagingServiceSid このメッセージに関連付けられているメッセージングサービスの 34 文字の ID です。
From このメッセージの送信された電話番号またはChannelアドレスです。
To 受信者の電話番号またはChannelアドレスです。
Body テキストの本文メッセージ。最大1600文字までです。
NumMedia メッセージに関連付けられたメディアアイテムの数です。

Twilioはメッセージに関連付けられたイメージのようなメディアがある場合、Twilioは下記のパラメーターも送信します。

パラメーター 説明
MediaContentType{N} MediaUrl{N}に保存されたメディアのContentTypesです。 MediaContentType{N}の順番は、MediaUrl{N}の順番と一致します。 MediaContentType{N}が使用されるのではなく、NumMediaによって複数のメディア要素が含まれている場合、Nはメディアの0で始まるインデックス値となります(たとえば、MediaContentType0となります)。
MediaUrl{N} メッセージで受信されたメディアの内容を参照するURLです。 MediaContentType{N}が使用されるのではなく、NumMediaによって複数のメディア要素が含まれている場合、Nはメディアの0で始まるインデックス値となります(たとえば、MediaUrl0となります。)

Twilioは From と To の電話番号から、場所の検索も行います。 次のパラメーターが存在する場合、Twlilio はこれらのパラメーターを送信します。

パラメーター 説明
FromCity 送信者の都市名です。
FromState 送信者の州名です。
FromZip 送信者の郵便番号です。
FromCountry 送信者の国名です。
ToCity 相手の都市名です。
ToState 相手の州名です。
ToZip 相手の郵便番号です。
ToCountry 相手の国名です。

'STOP' とオプトアウト

Twilio は、すべてのロングコードの電話番号のオプトアウトを、業界標準に従って処理します。オプトアウトのキーワードはアプリケーションに渡されて、ユーザーが解約したことが通知されます。そのユーザーに対するそれ以降のメッセージはすべてエラーになります。'Start' キーワードと 'Yes' キーワードもアプリケーションに渡されて、ユーザーが再び利用できるようになります。

ユーザーがメッセージングサービスに登録されている電話番号からオプトアウトした場合、その特定のメッセージングサービスから送信されるすべてのメッセージの受信もオプトアウトすることになります。

データ フォーマット

電話番号

Twilio のリクエストに含まれるすべての電話番号には、可能な場合は E.164 フォーマットが使用されます。 たとえば、(415) 555-4345 は、 ただし、Twilio が着信通話の発信者 ID を E.164 フォーマットに正規化できない場合があります。 その場合、Twilio は発信者 ID 文字列をそのまま通知します。

日付と時刻

Twilio からのリクエストに含まれるすべての日付と時刻には、 RFC 2822 フォーマットの GMT 時間が使用されます。 たとえば、2010 年 8 月 19 日午後 6 時 13 分 (太平洋夏時間) は、「Fri, 20 Aug 2010 01:13:42 +0000」となります。

ヘルプが必要ですか?

誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。