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

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

Twilio は、通常のウェブ ブラウザと同じように、ユーザー アプリケーションにHTTP リクエストを送信します。リクエストにパラメーターと値を含めることで、Twilio はユーザー アプリケーションにデータを送信します。 Twilio がリクエストの送信に使う URL や HTTP メソッドは、アカウント ポータル経由か、REST API を使って設定できます。

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

TwiML メッセージリクエスト

あなたのTwilio番号のメッセージを受信にすると、それに同期し番号に設定されたメッセージURLにHTTPリクエストが送信されます、レスポンスにあるTwiMLを受信することが期待されます。Twilioは下記のパラメータをそのリクエストと共にPOSTパラメーターもしくはURLクエリーパラメータとして送ります。HTTPのメソッドは自分自身で設定されたものが使用されます。

リクエスト パラメーター

パラメーター 説明
MessageSid このメッセージの 34 文字のユニークな識別子です。 後で REST API を使ってこのメッセージを取得する時に使えます。
SmsSid MessageSidと同様の値。廃止される予定、後方互換のために用意されています。
AccountSid このメッセージに関連付けられた アカウント の、34 文字の ID です。
MessagingServiceSid このメッセージに関連付けられているメッセージングサービスの 34 文字の ID です。
From このメッセージの送信元の電話番号です。
To 送信先の電話番号です。
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」となります。