Googleスプレッドシートのシフト表を使ってTwilio Studioフローの転送先をNode.jsから更新する方法
Time to read: less than 1 minute
以前の記事で、在宅勤務に伴う電話問い合わせの一時休止を解決する方法として、Twilio Studioを利用し個人電話に転送する方法を紹介しました。
今回は別の記事で紹介したGoogleスプレッドシートのシフトデータをもとに転送先となる個人をNode.jsで変更する方法を紹介します。
前提条件
- Twilioアカウントを持っていること(無料トライアルのサインアップ方法)
- 期間限定の問い合わせ番号となる電話番号を購入していること
(日本の番号を取得する場合) - こちらの記事に則りフローを作成、公開済みであること
- こちらの記事に則りGoogleスプレッドシートからデータを取得するNode.jsアプリケーションを作成済みであること
Node.jsプロジェクトの作成とパッケージのインストール
以前の記事に沿って作成したNode.jsアプリケーションのフォルダーに移動し、twilio-nodeパッケージをインストールします。
次に.envファイルにTwilioへの接続情報やStudioフローのIDを保存する環境変数を追加します。
Twilio Studio REST API v2を使ったフローの取得と更新
今回利用するTwilio Studio REST API v2は4月末にパブリックベータとしてアナウンスされたばかりの機能です。この新しいAPIを使って定義済みのフロー設定を外部から更新できます。
Twilioコンソールを開きACCOUNT SIDと、AUTH TOKENをそれぞれ.envファイルの TWILIO_ACCOUNT_SID
ならびに TWILIO_STUDIO_FLOW_SID
の値として設定します。
次に、Studioコンソールを開き、call forwardingフローのSIDを TWILIO_STUDIO_FLOW_SID
の値として設定します。
index.jsを開き、前回の記事でテストに使用したコードを変更します。このコードでは、シフト担当者の電話番号を取得した状態で、Twilio Nodeクライアントを利用しStudioフローを取得します。
フローの定義情報は、definitionというプロパティに保持されているため、そちらを取得します。また、各ウィジェットについては、statesというプロパティに配列として定義されています。このstates配列からウィジェットの名前をキーとして着信を転送するウィジェットを取得し、更に転送先番号を更新します。
後は更新した定義をStudio REST API v2を使い、反映させます。この際、statusプロパティで反映したフローを下書き状態(draft)にしておくことも、即座に公開(published)にすることもできます。
index.jsを実行し、ログにエラーが含まれていないこと、Studioのフローが実際に変更されていることを確認しましょう。
まとめ
ご覧いただいたように、パブリックベータとして公開されたREST API v2を活用することで、外部のデータやシステムと連携した上でTwilio Studioのフローを更新することができるようになりました。非常に強力なAPIなので、ぜひご活用ください。
今回のサンプルはこちらのGitHubリポジトリからクローンし、環境変数にそれぞれ値を設定することで確認することも可能です。
新型コロナウイルス感染症への支援策について
Twilioでは新型コロナウィルス感染症により引き起こされるさまざまな社会問題を解決する会社、団体、開発者グループに向けて無料クレジットの進呈など支援を行なっています。詳しくはこちらの記事をご覧ください。
また、Twilioを自社のシステム、ソリューションやパッケージに組み込みたいとお考えの場合は、営業部までお問い合わせください。
このエントリについての問い合わせ
不明点があればぜひ、お問い合わせください。オンライン登壇のご依頼等もこちらまで!
- Twitter (@Neri78)
- Email: dikehara@twilio.com
- Github: https://github.com/neri78
- Twitch: https://twitch.tv/neri78
Related Posts
Related Resources
Twilio Docs
From APIs to SDKs to sample apps
API reference documentation, SDKs, helper libraries, quickstarts, and tutorials for your language and platform.
Resource Center
The latest ebooks, industry reports, and webinars
Learn from customer engagement experts to improve your own communication.
Ahoy
Twilio's developer community hub
Best practices, code samples, and inspiration to build communications and digital engagement experiences.