メニュー

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?

PythonおよびFlaskを使用した到着予定通知

There are now many successful businesses that deliver goods or services to their customers on-demand.

Companies like Uber, TaskRabbit, and Instacart have built an entire industry around the fact that we, the customers, like to order things instantly, wherever we are. The key to those services working is notifying customers instantly when things change; customers need to know if there's a last second audible.

UberはTwilioのSMSを使用して、顧客のカーシェアリングのリクエストに関する情報を更新し続けています。 さらに詳しく。

In this tutorial we'll build a notification system for our made-up on demand laundry service Laundr.io, and we'll show you how to implement ETA Notifications with Python and Flask.

Let's get started! Click the arrow below to start the tutorial.

まだ到着予定がありません

通知をトリガーする

Here we show a couple of routes which will be exercised by our delivery person. There are two cases we'd like to handle:

  1. 配達スタッフが届ける洗濯物を回収する(/pickup
  2. Delivery person is arriving at the customer's house ( /deliver )

本番用のアプリケーションでは、おそらくGPSを使用して2番目の通知を自動でトリガーしますが、基本的な仕組みについてはボタンでも十分に伝わるでしょう。

        
        
        
        
        eta_notifications_flask/views.py

        配信ステータス用のSMS通知を送信する

        eta_notifications_flask/views.py

        ここまで、ビューについて見てきましたので、通知そのものの送信に使用するTwilio RESTクライアントを見てみましょう。

        Twilio RESTクライアントを確認する

        Twilio RESTクライアントをセットアップする

        Twilioのアカウント資格情報でTwilio RESTクライアントを初期化し、環境変数に保存します。

        You'll need a number you own through Twilio: TWILIO_NUMBER, as well as an Account SID and Auth Token: TWILIO_ACCOUNT_SID and AUTH_TOKEN. These can be found in the Twilio Console.

        コンソールの認証情報

              
              
              
              
              eta_notifications_flask/views.py

              Twilio REST クライアントの設定

              eta_notifications_flask/views.py

              続いて、通知がトリガーされると起こることを確認しましょう。

              Handle a Notification Trigger

              When a notification is required, we extract the phone number stored in each order and then simply send an SMS message with an appropriate body. Easy!

                    
                    
                    
                    
                    eta_notifications_flask/views.py

                    通知トリガーの処理

                    eta_notifications_flask/views.py

                    続いて、SMSの送信方法について見てみましょう。

                    SMSをいくつか送信する

                    メッセージを送出する

                    このコードは、実際にSMSを消費者にどのように送信するかを説明しています。

                    Think it would be better with an image? You're probably right - you can add an optional media_url to make it an MMS:

                    media_url='http://lorempixel.com/image_output/fashion-q-c-640-480-1.jpg'

                    必須パラメーター(とオプションのmedia_url)に加えて、status_callback URLを渡してメッセージが配信されたときにそれを知らせることも可能です。

                          
                          
                          
                          
                          eta_notifications_flask/views.py

                          ステータス更新のハンドラーは興味深いものです。 次はこれに注目してみましょう。

                          ステータス更新処理を確認する

                          Handle a Twilio Status Callback

                          Twilioは、メッセージステータスがqueuedfailedsentdelivered、またはundeliveredのいずれかに変化するごとにPOSTリクエストを発行します。

                          We then update this notification_status on the Order so that we can decide what to do next with the Order. This is a great place to add logic that would resend the message in the event of a failure, or send out an automated survey when the delivery message is successful.

                                
                                
                                
                                
                                eta_notifications_flask/views.py

                                一丁上がり! 注文が回収されたり到着したりした時に顧客にアラートを発するオンデマンド通知サービスを実装しました。 これで到着予定通知をご自身のアプリケーションにとても簡単に追加できるようになったはずです。

                                On the next pane we'll take a look at some other tutorials you might enjoy.

                                他に構築できるもの

                                次はどこでしょうか?

                                Like Python? Like Twilio? Try these other tutorials:

                                ワークフローの自動化

                                ビジネスに重要なワークフローを自動化し、応答率を上げましょう。 このチュートリアルでは、民泊会社向けのスケーリングスケーリング可能な自動SMSワークフローの構築方法を学びます。

                                マスクされた番号

                                音声通話およびSMSを使い匿名でユーザー同士を接続しプライバシーを保護します。使い捨ての電話番号をオンデマンドで用意し、2人のユーザーが電話番号など個人情報を交換しなくても通話できる方法を学びます。

                                これは役に立ちましたか?

                                Thanks for checking this tutorial out! Let us know what you've built - or what you're building - on Twitter.

                                Mario Celi Jennifer Aprahamian Agustin Camino Paul Kamp Andrew Baker Kat King
                                Rate this page:

                                ヘルプが必要ですか?

                                We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.