Level up your Twilio API skills in TwilioQuest, an educational game for Mac, Windows, and Linux. Download Now

メニュー

Expand
Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

JavaでSMSの会話を作成する

同じ相手との間で送受信される大量の個別メッセージを本当の会話にするにはどうしたらよいでしょうか。 これを行うには両者の間でやりとりされるメッセージの状態を記憶しておく何らかの方法が必要です。 なぜならSMSがステートレスな(状態を伴わない)プロトコルであるためです。HTTPもまたステートレスなプロトコルであり、伝統的なWebアプリケーションの構築には同様のハードルがあります。WebアプリケーションではHTTP Cookieを使用によりこの問題が解決されており、TwilioメッセージングAPIも車輪の再発明はせず、同様の解決法を使用します。

This guide will show you how Programmable SMS makes this easy for you and your Java Servlets application. The code snippets in this guide are written using Java and require the Java JDK 7 or higher. They also make use of the Twilio Java SDK.

JavaとサーブレットによるSMSのWebhook開発がはじめての方には、まず C#でSMSやMMS(日本未対応)を受信、返信する を先にお読みいただくのもよいでしょう。 準備はよろしいですか? さぁ、はじめましょう!

WebhookでHTTP Cookieを使用する

Cookieとは何か 

Webアプリケーションの場合と同様、Cookieはアプリケーションがユーザー名やアカウントといった情報を追跡するためにTwilioのサーバー上に保存できる軽量なファイルです。Twilio SMSでは、2者間の「会話」がCookieの影響範囲となります。 — つまり送受信されるおのおのの To/From 電話番号の組に対して一意なCookieが与えられます。 たとえば、+819055552222と+14155551111の間で交わされるメッセージに対して一意のCookieを保存でき、これは+818055553333と+14155551111間で使用されるCookieとは別のものです。

なぜCookieなのか?

Webアプリケーションでは、同一のブラウザーからの個別のリクエスト間の「状態の連続性」を維持するためにCookieを書き出します。 同様にSMSメッセージは2者間の独立したコミュニケーションであるため、TwilioではCookieを介した論理セッションとしてこれらを結びつけることが可能です。 これはつまり、リクエスト間でのアプリケーションの状態を追跡するためにサーバー側のセッションを使用できるということです。 イケてるでしょう? 活動がないまま4時間が経過すると、その会話用のCookieはTwilioによって、あたかもユーザーが「ブラウザーを閉じたかのように」期限切れとなります。

会話データを保存する

Cookieを使用すると、複数のメッセージにまたがって状態を共有できるため、別々のメッセージを会話として扱うことができ、将来の参照のために会話に関するデータをCookieに格納することができます。

You can store the data directly in a cookie, or you can use a session state management framework. The code sample below does the latter, using the Interface HttpSession available for Java Servlets.

セッションを用いてSMSの会話を捕捉する

Let's try using session counters to see if a particular user has messaged us before. If they're a new sender, we'll thank them for the new message. If they've sent us messages before, we'll specify how many messages we've gotten from them.

        
        
        
        

        とっても簡単でしょう? Cookieを使って会話を捕捉する、より複雑なサンプルをお探しなら、従業員目録のチュートリアルをチェックしてみてください。

        Agustin Camino David Prothero Jarod Reyes
        Rate this page:

        ヘルプが必要ですか?

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