
Twilio Studioで発信者番号から自動言語判定する多言語IVRシステムを作ってみた
こんにちは、昴です。
今回はTwilio Studioで発信者番号から自動言語判定する多言語IVRシステムを作ってみます。
はじめに
Twilioは電話やSMS、チャットなどのコミュニケーション機能を組み込むためのクラウドベースのAPIプラットフォームです。TwilioのAPIを利用することで通信ソリューションを自由にカスタマイズして構築することができます。
今回はTwilioの機能の中でもTwilio Studioに注目していきたいと思います。
グローバル展開している企業のカスタマーサポートでは、多言語対応が必須となっています。従来の「日本語は1番、英語は2番を押してください」という方式では、発信者がまず言語を理解して選択する必要があり、はじめのセリフが理解できていないと次に進めないという課題がありました。
そこで今回は、発信者の電話番号(国番号)から自動的に言語を判定し、適切な言語で案内を開始する多言語IVRシステムをTwilio Studioで構築してみます。
この仕組みにより、日本から電話をかけた顧客には最初から日本語で、米国から電話をかけた顧客には英語で案内が開始されるため、多言語に対応したIVRを実現することができます。
設定
フロー構築
それではフローを構築していきます。
まずコンソールのStudioに移動し、Create new Flowを選択します。
フローの名前は「多言語判定」と入力し、フローを初めから構築するため「Start from scratch」を選択します。
フローの初期画面は下記のようになっており、Incoming MessageはSMS、Incoming Callは電話を受信した後のフローを下に構築していきます。
Split Based On...
まず初めにSplit Based On... Widgetを使用します。TriggerのIncoming CallからSplit Based On... Widgetに接続します。Split Based On... Widgetの設定を開き、ConfigタブのVariable to testでtrigger.call.Fromを入力します。これにより、電話がかかってきた発信元に応じてフローを分岐することができます。
次にTransitionsタブのNew Conditionから分岐を作成していきます。If value starts_with...にてStarts Withを選択し、日本番号を示す「+81」と入力します。これにより日本番号からの着信はこの分岐に繋げることができます。同様に米国番号(+1)、中国番号(+86)の場合も作成します。
入力が完了したらWidgetをSaveで保存します。
Say/Play
次にSay/Play Widgetを設定します。各言語ごとの分岐を作成し、分岐に合わせた言語で同じメッセージを作成します。入力が完了したらSaveで保存していきます。
以上でフローは完了です。Publishを選択してフローを公開していきます。
電話番号に接続
フローが完成したら電話番号に接続していきます。コンソール画面のPhone Numbers > Manage > Active numbersへ移動し、接続したい電話番号を選択します。Voice ConfigurationにてA call comes inをStudio Flowに設定し、Flowには先ほど作成したフローを設定していきます。
最後にsave configurationで保存し設定は完了となります。
確認
Twilioの電話番号に実際に電話をかけ、番号によって分岐するかを確認していきます。米国番号などはLinphoneを使用して検証を行います。(詳しくはこちらの記事をご覧ください。)
今回の確認では実際に分岐することが確認できました。
まとめ
今回はTwilio Studioで発信者番号から自動言語判定する多言語IVRシステムを作ってみました。
本ブログが少しでも参考になれば幸いです。
告知
Twilio/SendGridセミナーを毎月開催しています
クラスメソッドでは毎月Twilio/SendGridのセミナーを実施しています。
クラスメソッドではTwilio/SendGridのセミナーを毎月開催しております。いずれもTwilio及びSendGridを良く知らない方向けに基本的な部分から解説する内容となっておりますので、今後Twilio/SendGridの導入を検討している方や、既に導入済で改めて基本的な部分を勉強したいと考える方は、是非お気軽にご参加いただければと思います。