
Twilioで営業時間に応じた自動返信を設定してみた
こんにちは、昴です。
今回は営業時間に応じて内容を変えて自動返信をする方法についてまとめていきます。
はじめに
Twilioは電話やSMS、チャットなどのコミュニケーション機能を組み込むためのクラウドベースのAPIプラットフォームです。TwilioではMessagingやStudioを利用して送られてきたSMSに対して、設定しておいた文章を自動で返信することができ、条件分岐などもすることが可能です。その中で今回は営業時間を設定し、営業時間外か時間内かで返信する内容を変えてみたいと思います。
設定
Functions and Assets
それではまずコンソールのFunctions and Assetsへ移動します。
Create Servicesを選択して、Serviseを作成していきます。
ここでServices名を入力して編集画面へ移行します。
編集画面へ移動したら画面左上のAddからAdd Functionを選択します。
新たにFunctionを追加すると名前を記載できるので今回は「check-hours」と入力します。
中身としては下記の通りにコードを入力し、デフォルトで記載されているものは削除します。内容として、タイムゾーンに加え時間と曜日で営業時間を設定しています。
コードの入力が完了したらSave > Deploy Allの順で保存、デプロイしていきます。
画面下でDeployedになったのを確認したらServiceの作成、設定は完了です。
また、Serviseの画面上でURLがコピーできます。後ほどStudioの設定にてURLを使用するため、あらかじめ記録しておきます。コード下のCopy URLからコピーが可能です。
Studio
続いてStudioへ移動します。
Studioへ移動したら、まずCreate Flowを選択します。
次にフロー名を入力してフローの編集画面へ移行します。またフローは何もない状態から作成するため「Start from scratch」を選択します。
ここまででフローの作成画面まで来ました。ここからはフローの中身を作成していきます。
Make HTTP Request
まず初めに「Make HTTP Request」Widgetを設定します。Widget名は「Check_opening_hours」と入力し、設定は下記のように設定します。
- Request method ⇒ GET
- Request URL ⇒ 先ほどコピーしたServiceのURL
- CONTENT TYPE ⇒ Form URL Encoded
Splid Based On
続いて「Splid Based On」Widgetを設定します。前のWidgetからSuccessとFailが出ていますが、SuccessをこのWidgetに繋げます。
接続後、VARIABLE TO TESTで選択肢から選択するのではなく「widgets.Check_opening_hours.parsed.isOpen」を入力します。
Saveでここまでの設定を一旦保存し、先に営業時間内・外のメッセージを作成します。
Send Message
「Send Message」Widgetを2つ用意し、それぞれにWidget名と自動返信するためのbodyを入力していきます。
-
営業時間内
- Widget名 Opening_time
- body ありがとうございます。担当者が対応いたしますので少々お待ちください。
-
営業時間外
- Widget名 Closing_time
- body 申し訳ございません。現在営業時間外です。営業時間は平日9:00-20:00となっております。
それぞれのWidgetが設定できたら再び「Splid Based On」Widgetの設定へ戻ります。
Splid Based On
Splid based Onの設定に戻ってTransitionsタブからNew conditionを選択し、下記の2つを設定します。これは設定した営業時間に対してTrueかFalseで分岐する設定となります。
- Equal To true Opening_time
- Equal To false Closing_time
また、エラー時は営業時間外として「Make HTTP Request」WidgetのFailも「Closing_time」に繋げます。
ここまででフローの作成が完了です。publishを選択し、電話番号に今回作成したフローを設定します。
確認
それでは実際の動きを確認していきます。(営業時間は9:00~20:00)の設定)
まず17時ごろに送信し、返信内容を確認します。
このように、営業課院内であるため上記のような返信が届きました。
続いて20時を過ぎたころに送信します。
こちらも設定した通り、営業時間外のものが送信されました。
まとめ
今回は営業時間を設定し、営業時間外か時間内かで返信する内容を分岐する方法についてまとめてみました。
本ブログが少しでも参考になれば幸いです。
告知
Twilio/SendGridセミナーを毎月開催しています
クラスメソッドでは毎月Twilio/SendGridのセミナーを実施しています。
クラスメソッドではTwilio/SendGridのセミナーを毎月開催しております。いずれもTwilio及びSendGridを良く知らない方向けに基本的な部分から解説する内容となっておりますので、今後Twilio/SendGridの導入を検討している方や、既に導入済で改めて基本的な部分を勉強したいと考える方は、是非お気軽にご参加いただければと思います。