SIP対応IP電話機の最適解、Fanvil製品を国内正規取扱中|CCアーキテクトが運営する3CXクラウドサービスは顧客満足度99%以上|最新のユニファイドコミュニケーションの技術事情はCCアーキテクト社員が本ブログで随時更新中

【実務者向け】Genesys Cloud Data Action 実践ガイド(第1回)│CCアーキテクトBLOG

API連携で必ず理解しておきたい基礎と設計ポイント

Genesys Cloud のData Actionは、外部システムと連携する際に非常に重要な機能です。

例えば次のようなシステムと、REST API を通じて連携できます。

  • CRM
  • 顧客データベース
  • 社内API
  • 予約システム
  • AIサービス
  • Webサービス

しかし実際のプロジェクトでは、

「公式ドキュメント通りに設定しても動かない」

というケースに遭遇することも少なくありません。理由の多くは次のとおりです。

  • Data Action独自の仕様
  • API連携時の設計ミス
  • レスポンス処理の理解不足

本記事では、Genesys Cloud の Data Action を利用する際にまず理解しておくべき基礎構造と、実務でよく遭遇する設計上のポイントを解説します。

なお、本シリーズでは Genesys Cloud Data Actionの実務ノウハウを数回に分けて紹介していきます。予定している内容は次の通りです。

テーマ
第1回Data Actionの基本構造と処理の流れ
第2回Data Actionでよくあるトラブルと原因
第3回translationMap / successTemplate の実践解説
第4回API連携時の設計ベストプラクティス

今回はその第1回として、まずData Actionの基本構造を整理していきます。


Data Actionとは

Data ActionはGenesys Cloudから外部APIを呼び出すための機能です。主に Architect フローの中から利用され、外部システムとのリアルタイム連携を実現します。

一般的な処理の流れは次のようになります。

Genesys Cloud Architect
        ↓
    Data Action
        ↓
     外部API
        ↓
   外部システム

利用例としては次のようなものがあります。

用途
顧客情報取得顧客DB検索
予約確認予約システム
注文情報取得ECシステム
履歴保存外部ログシステム
AI連携外部AI API

Data Actionの内部処理

Data Actionは内部的に次の順序で処理されます。

Architect
   ↓
Action Input
   ↓
HTTP Request
   ↓
External API
   ↓
translationMap
   ↓
successTemplate
   ↓
Architectへ返却

この中で特に重要なのが次の2つです。

  • translationMap
  • successTemplate

この仕組みを理解していないと、Data Actionが正しく動作しないケースがあります。

translationMapの役割

translationMapはAPIレスポンスから必要な値を抽出する処理です。

例えば次のAPIレスポンスが返ってきた場合:

{
  "data": {
    "customerId": "12345",
    "status": "active"
  }
}

translationMapでは次のように値を取得します:

"translationMap": {
  "customerId": "$.data.customerId",
  "status": "$.data.status"
}

この処理により、customerId = 12345 / status = active が取得され、その結果が successTemplate に渡されます。

successTemplateの役割

successTemplateは「translationMapの結果」を使って、最終的にArchitectへ返すJSONを生成します。

例:

{
  "customerId": "${customerId}",
  "status": "${status}"
}

この場合、Architect側では output.customerId のように値を利用できます。

Data Action設計で重要なポイント

実務では次の3点が重要になります。

① APIレスポンスを小さくする

Data Actionはリアルタイム処理のため、巨大なJSONを扱うと処理が遅くなります。必要なデータだけ取得する設計が推奨されます。

② APIレスポンス時間を意識する

Data Actionは Architect フロー内で実行されます。APIが遅いとIVRが止まる(待たされる)可能性があります。目安としてAPIレスポンス 3〜5秒以内を狙うと運用が安定します。

③ 処理のタイミングを考える

重い処理は通話中ではなく、通話終了後に実行する設計もよく使われます。

通話終了
↓
Data Action
↓
履歴保存

まとめ

Data Actionを利用する際には translationMap / successTemplate の処理構造を理解することが重要です。あわせて、次の観点を設計に織り込む必要があります。

  • APIレスポンスサイズ
  • APIレスポンス速度
  • 処理タイミング

次回予告

第2回では Genesys Cloud Data Actionでよくあるトラブル について解説します。特に次のような問題を取り上げる予定です。

  • successTemplate の JSONエラー
  • translationMap の JSONPathミス
  • API Timeout
  • レスポンスサイズ制限

Genesys Cloudの設計・設定・運用でお困りの点があれば、お気軽にお問い合わせください。

ホームページ:https://cc-arc.com/

メール:info@cc-arc.co.jp