JavaおよびServletを使用した到着予定通知
Uber、TaskRabbit、そしてInstacartといった企業は、私たち顧客がどこにいてもすぐに物品を注文したいという前提に立った産業を築き上げました。これらのサービスが機能するうえでの肝はなんでしょうか? それは物事が変化した時に顧客に通知することです。
UberはTwilioのSMSを使用して、顧客のカーシェアリングのリクエストに関する情報を更新し続けています。 さらに詳しく。
このチュートリアルでは、JavaとServletを使用して架空のオンデマンド選択サービス、Laundr.io用の通知システムを構築します。
さぁ、はじめましょう! 下のボタンをクリックしてください。
カスタマー通知をトリガーする
ドライバーの画面には洗濯物配達員が通知をトリガーするための2つのボタンを表示します。 一つは注文の回収用で、もう一つはその配達完了を知らせるためのものです。
つまり、2つのケースについて扱う必要があるということです。
- 配達スタッフが届ける洗濯物を回収する(
/pickup
) - Delivery person is arriving at the customer's house (
/deliver
)
運用アプリでは、おそらく、GPS を使用して、配達員が物理的に顧客の家の近くに来ると、2 番目の通知をトリガーします。
(今回はボタンを使用します。)
Let's look at how to use the Twilio REST API Client to send out a notification.
Twilio RESTクライアントをセットアップする
ここでは、認証済み Twilio REST API クライアントを使ってヘルパークラスを作成します。このクライアントは、テキストメッセージを送信する必要があるときにいつでも使用できます。
We initialize it with our Twilio Account Credentials stored as environment variables. You can find the Auth Token and Account SID in the console:
続いて、通知リクエストの処理方法について見ていきましょう。
通知トリガーを処理する
このコードは、配達員によってトリガーされるHTTP POST
リクエストを処理します。
It uses our MessageSender
class to send an SMS message to the customer's phone number, which we have registered in our database. Easy!
次に、SMS の送信方法についてもう少し詳しく見てみましょう。
メッセージの送信
SMSまたはMMSの実際の送信方法をお見せします。
Think it needs a picture of the clothes? Good idea.
追加でメディアURLを渡すことができます:
.setMediaUrl("http://lorempixel.com/image_output/fashion-q-c-640-480-1.jpg")
必須のパラメーター(およびオプションのメディア)に加えて、StatusCallback
URLを渡してメッセージが配信されたかどうか知ることができます。
メッセージのステータス更新は興味深いものです - 詳しく見て見ましょう。
Handle a Twilio Message Status Callback
Twilio will make a POST
request to this servlet each time our message status changes to one of the following: queued
, failed
, sent
, delivered
, or undelivered
.
We then update this notificationStatus
on the Order
and let the business logic take over. This is a great place to add logic that would resend the message if it failed or send out an automated survey a few minutes after the customer has clothes delivered.
これで以上です! 注文が回収されたり到着したりした時に顧客にアラートを発するオンデマンド通知サービスを実装しました。
続いて、他に簡単に統合できる機能をいくつか見てみましょう。
関連トピック
Java and Twilio go well together! Here are some other Java Servlets tutorials:
ビジネスに重要なワークフローを自動化し、応答率を上げましょう。 このチュートリアルでは、民泊会社向けのスケーリングスケーリング可能な自動SMSワークフローの構築方法を学びます。
匿名状態でTwilio VoiceおよびSMSに接続して、エンドユーザーのプライバシーを保護します。 オンデマンドで使い捨て可能な電話番号を作成し、2者のユーザーが個人情報を交換することなくコミュニケーションできるようにする方法を学びます。
これは役に立ちましたか?
このチュートリアルをお読みいただき、ありがとうございます。 Twitter上で構築したもの(あるいはしているもの)をお知らせください。
ヘルプが必要ですか?
誰しもが一度は考える「コーディングって難しい」。そんな時は、お問い合わせフォームから質問してください。 または、Stack Overflow でTwilioタグのついた情報から欲しいものを探してみましょう。