Twilio Studioで営業時間判定を行う


はじめに

みなさん、こんにちは。
KDDIウェブコミュニケーションズの Twilio事業部エバンジェリストの高橋です。

今回は、Twilio Studio から営業時間判定をする方法を解説します。
Twilio Studio はドラッグ・アンド・ドロップでフローが作成できるため簡単にコールフローが作れますが、今回のようなケースでは Stdio だけではなかなかうまくいきません。
そこで、Studio と Twilio Functions を連携させて、Functions 側で営業日や営業時間を判定するようにします。

準備

以下の準備が必要です。

インストール方法

git clone https://github.com/mobilebiz/business-hours.git
cd business-hours
npm install

環境変数の設定

cp .env.sample .env

コピーした.envをエディタで開き、以下の項目を設定します。

項目 設定内容
ACCOUNT_SID Twilio のアカウント SID
AUTH_TOKEN 上記に対する AuthToken

営業日の設定

エディタで、functions/check-open.jsを開きます。

以下の部分が営業日の設定になりますので、コメントを見ながら適宜編集してください。

// 営業日、営業時間の設定
const BUSINESS_HOURS = {
  dayOfWeek: ["", "", "", "", "", "", ""], // 営業日を記述、休業日は削除(例: ["月", "火", "水"])
  startTime: "9:00", // 営業開始時間を24時間表記で指定
  endTime: "18:00", // 営業終了時間を24時間表記で指定
  holiday: true, // 祝日営業するならtrue
};

デプロイ

デプロイするときは、Twilio CLI プロファイルが対象の Twilio プロジェクトのものであることを確認してください。
違うプロファイルでデプロイをすると、間違ったプロジェクト内に Functions ができてしまいます。プロファイルを切り替えるときは、twilio profiles:use プロファイル名で行います。

以下のコマンドでデプロイします。

npm run deploy

Studio からの呼び出し

以下のコマンドを使うとサンプルの Studio Flow がインストールされます。

twilio api:studio:v2:flows:create --friendly-name 'BusinessHours' --status published --definition "`cat ./studio/BusinessHours.json`"
  • Twilio 管理コンソールにログインし、Studio メニューを開きます。
  • 今作成されたBusinessHoursという名前のフローを開きます。
  • checkOpenウィジェットを選択し、SERVICEプルダウンから、business-hoursを選択します。
  • ENVIRONMENTプルダウンから、dev-environmentを選択します。
  • FUNCTIONプルダウンから、/check-openを選択します。
  • Saveボタンを押して保存します。
  • 画面上部にあるPublishボタンを押して、フローをパブリッシュします。

以上でフローは完成です。

テスト

購入済みの Twilio 番号に、上記のフローを割り当ててテストしてください。

営業時間外の場合は、その旨のガイダンスが流れます。営業時間内の場合は、コールはキューに入ります(発信者には音楽が聞こえます)。

必要に応じて、最後のEnqueueウィジェットを、Connect Call Toウィジェットなどに変更してください。

謝辞

祝日判定には、こちらの API を利用させていただいております。

免責事項

本プログラムの動作についての保証はいたしませんので、自己責任の範疇でご利用ください。

まとめ


Twilio(トゥイリオ)とは

https://cloudapi.kddi-web.com
Twilio は音声通話、メッセージング(SMS /チャット)、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウド API サービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。

自己紹介  
高橋克己(Katsumi Takahashi) 自称「赤い芸人
グローバル・インターネット・ジャパン株式会社 代表取締役
株式会社KDDIウェブコミュニケーションズ Twilio事業部エバンジェリスト

2001年より大手通信事業者の法人サービスの教育に携わり、企業における電話のしくみや重要性を研究。2016年よりTwilio事業部にジョインし、Twilioを使ったスマートコミュニケーションの普及活動を精力的に行っている。
2015 Hall of Doers
2019 Twilio Champions