2023年5月1日を持ちまして、株式会社KDDIウェブコミュニケーションズのTwilioリセール事業が終了したため、本記事に記載されている内容は正確ではないことを予めご了承ください。
はじめに
みなさん、こんにちは。
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 サービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。