コンタクトセンター運用を支える"関節"役: Twilio Sync API
読む所要時間: 12 分
人体はなんと神秘的なのでしょうか。歩くというシンプルな動作でさえ、非常に複雑なプロセスです。2本の足の動きを連携させ、どちらかの足が常に地面に接します。その間、脳が信号を出して筋肉の動きを精密に調整します。人体のその他の部分も、このために重要な役割を果たします。
では、バラバラにならずにどのように全体をまとめているのでしょうか。そのまとめ役を担うのが、関節、靱帯、腱です。
人体に関節が必要なように、製品やサービスにも同等の機能が必要です。コンタクトセンターを例に挙げてみましょう。ルーティング、レポーティング、サードパーティシステムとの接続、データの同期管理と配信、オムニチャネルでの顧客対応管理など、複数のアプリケーションで構成されています。
コンタクトセンターのすべてのサービスとアプリケーションは連携して機能しなければなりません。そのためには連結部が必要であり、Twilio Syncがその役目を担います。
Twilio Sync API
前述した靱帯や関節のように、Twilio Sync APIは他のTwilio APIや機能を接続します。Twilio Syncはアプリケーション間の状態を同期させ、その所要時間はわずか数ミリ秒です。
多くの企業(ING様など)がTwilio APIを使用し、独自のコンタクトセンターを構築しています。そのほとんどにおいて、Sync APIが他のAPIをつなぐ働きをしています。今ではプログラマブルコンタクトセンターTwilio FlexにおいてFlexユーザーサブスクリプションの一部としてSync APIが含まれています。そして、Sync APIを一部の特殊なユースケース向けにカスタマイズすることで、顧客の高い期待に対応することができます。
前述したように、Syncはプログラマブルコンタクトセンターの心臓部です。文脈に即したコミュニケーション、レポーティング、コール状態の管理等で活用され、具体的なユースケースには、定型的な応答、営業時間、キューダッシュボード、SMSのスケジュール送信、処理コード、カーブサイドピックアップ(オンライン購入+店舗受け取り)、ディレクトリサービス(電話帳機能)などがあります。
ユースケースの一部を、さらに眺めてみましょう。
- 定型的な応答: 利用企業の多くがSyncを使用し、定型的な応答を管理しています。オペレーターがデジタルチャネルで対応する場合、あらかじめ記述されたメッセージが用意されているため、応答の一部を手動入力する必要がなくなり、顧客との会話に挿入するだけですみます。定型的な応答により、質問への回答プロセスが簡素化され、所要時間が短縮されます。さらに、オペレーターの応答品質を均一化することができます。
このユースケースでは、Syncが定型的な応答を保存・管理し、オペレーターに配信します。オペレーターはリストをフィルタ検索し、検索結果を会話の応答として利用します。 - SMSのスケジュール送信: ロサンゼルスにある保険会社では、SMSのスケジュール送信が可能なシステムを必要としていました。メッセージが営業時間外に送信されなければならない場合に、Twilio Sync APIが使用され、送信SMSのJSONデータ形式による表現をSyncのキューに(送信候補として)格納します。この例では、Sync APIのSync Mapsと呼ばれるデータ型が使用されています。
「営業時間」になると、キュー内のメッセージを反復処理して実際に送信し、Sync MapsからJSON表現を削除します。各タイムゾーン毎にSync Mapsが作成され、メッセージが保存され、顧客システムのタイムゾーンに基づいて送信されます。 - 処理/ラップアップコード: オペレーターが行った応対を分類するため、企業は処理コードまたはラップアップコードを使用します。コンタクトセンターが受信するすべてのトラフィックがこのコードで細分化され、これらカテゴリが個々に割り当てられます。
マネージャーやスーパーバイザーは、後からこの分類を精査し、なぜ顧客がコンタクトセンターに問い合わせてきたかを理解できます。オペレーターは通常、顧客対応中に処理コードまたはラップアップコードを設定しますが、対応が終了した直後に設定することもあります。その後、このデータはレポート用に保存されます。
顧客とパートナーはSync Mapsを使用し、このすべてのコードを保存しています。 - 顧客データ: ある大手慈善団体では、着信の際に特定の顧客データをオペレーターに提示する必要がありました。慈善団体はこの解決方法としてFlexプラグイン(オペレータ画面をカスタマイズする機構)を作成し、特定の情報をSync APIを用いて取得しました。
対話に関連するコンテンツを保存し、ナレッジベースの記事一覧とともにオペレーターに提示することもできます。エンドユーザーのサポートも改善できます。
一般的なSyncユースケースの一部を紹介しました。Sync APIを使用してアプリケーションを構築するためのいくつかの戦略とベストプラクティスを見ていきましょう。
Sync APIを使用して構築するためのヒント
Twilio Sync APIでさまざまなデータの同期管理やアクセスが容易になります。Syncは異なるAPIをつなぎあわせ、特定の機能を構築することでエンドユーザーの要件を満たすことを目的としています。ユースケース毎の新機能がベンダからリリースされるのを待つ必要はなく、自ら機能を構築できます。以下は、該当の機能を後から開発し直すことなく、最初から拡張可能なアプリケーションとして構築するためのヒントです。
DO’s |
DON’T’s |
適切なバックエンドサービスを構築し、必要なデータを収集して保存します。これは本番アプリケーションでは最もスケーラブルな手法です。 |
SyncをTwilio Functionsから使用している場合は、大規模本番アプリには使用しないでください。Syncには毎秒の読み書き回数が20回という制限があるためです。 |
Syncにはいくつかの制限があり、Twilioの顧客全体とインフラを保護するように設定されています。トラフィックバースト時にHTTPエラー“429”が発生する場合、こちらで説明の通り、指数的なバックオフのリトライロジックを実装することを強く推奨します。 |
Syncはデータベースではなく、状態同期ツールであることを忘れないでください。Twilio Syncには関連性のある短期データのみを保存してください。大規模データベースとして使用するとうまく拡張できません。 |
グローバルSyncオブジェクトがないようにアプリケーションを設計します。1つのグローバルマップ/ドキュメント/リストを使用してすべてのものを保存することは、パターンに反しており、頻繁なアップデートのボトルネックとなります。 |
単一障害点となるSyncオブジェクトを発生させてはいけません。 例えば、すべてのオペレーターを1つのSync Mapに保存して頻繁にアップデートしてはいけません。その代わり、各オペレーターにSync Mapを作成し、マップの専用アイテムのみをアップデートします(オペレーターが応答可能か、サポートレベル、名前など)。 |
重要事項: Twilio Consoleでは現在、Sync APIアクティビティの視覚化をサポートしていません。視覚化ツールが必要な場合は、TwilioパートナーのImpekable社が開発したsyncdb.ioというアプリがあります。Syncdb.ioは、Syncライブラリを活用して構築され、クラウド上のデータ状態を“正”として、アプリケーション内の分散データを同期します。
また、Twilio社員であるDominik Kundelが開発した視覚化ツール、Twilio Sync Inspectorもあります。使用できるSyncサービスおよびタイプ別リソース(ドキュメント/マップ/リスト)のビューを提供し、リモートでの変更に基づくインスペクタービューを自動更新します。
スケーラブルな同期アプリケーションのセキュリティ保護
Syncでスケーラブルなアプリケーションを構築するために必要なヒントを紹介しましたが、次にアプリケーションを保護する方法を説明します。
Sync SDKでは2段階のセキュリティ制御を使用します。
- アクセストークン - アプリケーションバックエンドから発行され、ユーザーが適切と考える任意の方法でセキュリティ保護されます。
- 実際のアクセス制御 - どのトークンがどのSyncオブジェクトへのアクセスを付与するかを指定します。安全なSyncアプリを構築するための詳細なステップバイステップガイドを用意しました。
Syncでは、オブジェクトペイロードに含まれている顧客のデータをテレメトリシステムに送信したり、ログに記録したりすることはありません。また、SyncはPII (個人を特定できる情報)をGDPRおよびHIPAA要件に合わせて処理します。Syncデータは暗号化されて保存されますし、Syncは30日以上ログを保存することはありません。
コンタクトセンターをSync APIで接続する
このブログで前述したように、Sync APIは異なるAPIを接続し、分散アプリケーション上でデータを同期するための主要なコンポーネントです。
Syncのユースケースでは、文脈情報が提供されるため、コンタクトセンター(CC)のユーザー(オペレーター、スーパーバイザー、CCマネージャー、エンドユーザー)の関係が深まり、豊かになります。この情報には、顧客が探しているものや、Webページやアプリケーションで表示している内容が含まれます。このようなすべての関連するデータは、顧客の活動や関心に基づく意思決定に役立ちます。Syncの主なメリットは、リアルタイムのデータを通じて、各顧客に個別化された対応を提供できることにあります。
Sync APIの詳細については、以下のリンクにアクセスして内容をご確認ください。
- Twilio Syncドキュメント
- セキュアなSyncアプリを構築するためのステップバイステップガイド
- Server Push in 5 Easy Steps with Flask, React and Twilio Sync (サーバープッシュのためのFlask、React、Twilio Syncによる5つの簡単なステップ)
KarlaはTwilioのHead of Technical Marketingです。Twilio Flexを、コンタクトセンター市場におけるリーダーとして確立する業務を担当しています。技術コンサルティング、リサーチ、ストーリーテリングをコアスキルとし、業界におけるFlexの成長を拡大させるためのプログラムを開発し、実施しています。Twilioに入社するまで、Karlaはコンタクトセンターおよびコラボレーション業界でプロダクトマーケティングおよびセールスの業務を担当していました。彼女の経験は多くのテクノロジーに及び、収益増加のためのGo-To-Market戦略を立案しています。