データアクションの設定要求

 メモ:   この記事は、Adobe、AWS Lambda、Genesys Cloud、Google、Microsoft Dynamics 365、Salesforce、Webサービス、Zendeskデータアクションの統合に適用されます。

データアクション統合用のカスタムアクションを作成できます。 カスタムアクションは、その設定にリクエストとレスポンスを含みます。 詳細については、 インテグレーション用のカスタムアクションを作成する.

この記事では、回答の一部について説明します。 要求については、設定を要求するを参照してください。

カスタムアクションでは、リクエストテンプレートを使用して、リモートエンドポイントまたは AWS Lambda 関数に対する POST、PUT、パッチリクエストの本文を定義します。 リモートエンドポイントはによって定義されます requestUrlTemplate. これらの要求テンプレートは、マクロの使用をサポートします。 詳細については、 データアクション用の速度マクロ

 メモ:   GET 要求は、要求テンプレートを使用しません。 の requestTemplate フィールドはデフォルト値を示します 「$ {input.rawRequest}」.
警告:  内の入力変数または出力変数の使用をエスケープします requestTemplate, successTemplate、または requestUrlTemplate. 特殊文字を使用して変数を適切にエスケープしないと、実行時にデータアクションが失敗します。
  • 使用する esc.jsonString JSON本体内の文字列をエスケープします。

    詳細については、以下の「esc.jsonString」セクションを参照してください。 速度マクロ.

  • 使用する esc.url() または urlTool.optionalQueryParam() のパスまたはクエリパラメータを適切にエスケープするには requestUrlTemplate または requestTemplate 使用している場合 x-www.form-urlencoded 値。

    詳細については、 速度マクロ.

requestTemplate

リクエストテンプレートは、Velocityを使用して、POST、PUT、およびPATCHリクエストの本体を定義します。 リクエストテンプレートを保存すると、APIレスポンスはそれを次のように参照します requestTemplateUri

  • AWS Lambdaデータアクション統合の場合、指定したすべての入力 requestTemplateで利用可能になります出来事 呼び出されたAWS Lambda関数のパラメーター。
  • Google Cloud Functionsでは、 $ esc.jsonString マクロは、リクエスト内の文字列をJSONに変換します。

ヘッダー

ヘッダーは、リモートエンドポイントに送信される要求に HTTP ヘッダーとして追加されるキーと値のペアです。 ヘッダー値は、速度置換をサポートします。

 メモ:   認証を処理するために API に依存している場合は、要求ヘッダーに承認を含めないでください。 統合によってヘッダーが自動的に設定されます。 それ以外の場合は、要求ヘッダーに独自の権限を含めます。

アドビデータアクションの統合は、アクションにキーと値のペアを追加するランタイムのための認証処理。 次の属性が自動的に設定されます。

  • x-api-key
  • x-gw-ims-org-id
  • x-sandbox-name(設定されている場合)

    サンドボックス名を統合認証情報に追加するか、アクションのヘッダーとして追加できます。 サンドボックス名が両方の場所に設定されている場合、統合はで構成され、ヘッダ使用データ アクション 。 詳細については、 データアクション統合を追加する。 

AWS Lambdaデータアクション統合は、キーと値のペアを次のように追加します clientContext 呼び出しの項目 環境 オブジェクト。 次の属性は自動的に設定されます 環境 属性が存在する場合はオブジェクト:

  • ININ-会話ID
  • ININ-組織ID
  • ININ-Home-Organization-Id
  • ININ-相関ID
  • ININ-ユーザーID
  • ININ-統合ID

requestType

リクエストの種類 データデータ アクションでHTTPリクエストのタイプを定義します。 使用可能な HTTP 要求の種類には、POST、PUT、および PATCH があります。

 メモ:   AWS LambdaとGoogleデータアクションの統合には、POSTを使用します。 このHTTPメソッドは、すべての要求本文が送信されることを保証します。

requestUrlTemplate

requestUrlTemplate は、HTTPリクエストがヒットするリモートエンドポイントポイント、またはAWSデータアクション統合が呼び出すAWS Lambda関数のARNです。 requestUrlTemplate 変数置換にVelocityテンプレートを使用します。 

 メモ:   注意:requestUrlTemplate参照する場合HTTP エンドポイント 、 requestUrlTemplateHTTPセキュア(HTTPS) エンドポイント参照する必要があります。

requestTemplateUri

requestTemplateUri は、参照URIです requestTemplate. 保存するとき requestTemplate、統合により崩壊します。 の内容を表示するには requestTemplate 保存した後、GET操作を発行します requestTemplateUri.

例 requestTemplate

アクション実行ボディ

次のREST呼び出しは、アクションsampleAction123をトリガーし、 inputSchema サンプルアクションで。 

curl -X POST https://api.mypurecloud.com/api/v2/integrations/actions/sampleAction123/execute \
 -H '認証: ベアラー***** '\
 -NS '{
 "ユーザーID": 123、
 "FIRST_NAME": "ジョン"、
 "苗字": 「スミス」
 } '

アクションサービスは、サンプルアクション内の次の3つのプロパティを参照する値を見つけて置き換えます。 requestUrlTemplate そして requestTemplate

requestTemplate

アクションは次のように構成されます requestTemplate

"{"ファーストネーム": "$ esc.jsonString($ {input.FIRST_NAME})"、 "lastName": "$ esc.jsonString($ {input.LAST_NAME})"}、

エスケープの詳細については、 esc.json文字列 セクションでの データ アクションの速度マクロ.

アクションサービスは、サンプルアクションの Velocity テンプレートプレースホルダーを置き換え、次のようになります。

{{
 "ファーストネーム": 「ジョン」、
 "苗字": 「スミス」
 }

requestTemplate リモートエンドポイント送信されるHTTP POSTの本文になります。 

Web サービス呼び出し

変更されたサンプルアクションにより、次の web サービスコールが発生します。

curl -X POST \
 https://sample.com/users/123 \
 -H 'コンテンツタイプ: application / json '\
 -H'UserAgent: GenesysCloudIntegrations / 1.0 '\
 -H '会社: 弊社' \
 -NS '{
 "ファーストネーム": 「ジョン」、
 "苗字": 「スミス」} '

新しいアクションを作成する要求

以下は、POSTを実行するように構成されたアクションです。 https ://sample.com/users/${input.USER_ID}inputSchema リクエストの作成に使用される3つのプロパティを定義します。 USER_ID, FIRST_NAME, LAST_NAME. これらの3つのプロパティは、 requestTemplate そして requestUrlTemplate.

{{
 "カテゴリー": "サンプル"、
 "契約する": {{
 "入力": {{
 "inputSchema": {{
 "$ schema": "http://json-schema.org/draft-04/schema#"、
 "説明": 「ユーザーの名前または姓、あるいはその両方を更新する」、
 "プロパティ": {{
 "ユーザーID": {{
 "説明": "ユーザーID"、
 "タイプ": "番号"
 }、
 "ファーストネーム": {{
 "説明": 「ユーザー名」、
 "タイプ": "ストリング"
 }、
 "苗字": {{
 "説明": 「ユーザー名」、
 "タイプ": "ストリング"
 }
 }、
 "必要": [
 "ユーザーID"、
 "ファーストネーム"、
 "苗字"
 ]、
 "題名": 「名前の更新リクエスト」、
 "タイプ": "物体"
 }
 }、
 "出力": {
      ...
    }
 }、
 「設定」: {{
 "リクエスト": {{
 「ヘッダー」: {{
 「コンテンツタイプ」: 「application / json」、
 "ユーザーエージェント": 「GenesysCloudIntegrations / 1.0」、
 "会社": "弊社"
 }、
 "requestTemplate": "{\" firstName \ ": \ "$ {input.FIRST_NAME} \"、\ "lastName \": \ "$ {input.LAST_NAME} \"} "、
 "リクエストの種類": "役職"、
 "requestUrlTemplate": 「https://sample.com/users/${input.USER_ID}」
 }、
 "応答": {
      ...
    }
 }、
 "名前": 「サンプルアクション」、
 "安全": false
}

アクション定義を取得した結果

{{
 「id」: 「」<action ID="">"、
 "名前": 「サンプルアクション」、
 ..。
    "設定: {{
 "リクエスト": {{
 "requestUrlTemplate": "https://sample.com/users/${input.USER_ID}"、
 "requestTemplateUri": "/ api / v2 / Integrations / actions /<action ID="">/templates/requesttemplate.vm "、
 "リクエストの種類": "役職"、
 「ヘッダー」: {{
 「コンテンツタイプ」: 「application / json」、
 "ユーザーエージェント": 「GenesysCloudIntegrations / 1.0」、
 "会社": "弊社"
 }、
 "応答": {
             ...
         }
 }、
 "カテゴリー": "サンプル"、
 "バージョン": 1、
 "安全": NS、
 「selfUri」: "/ api / v2 / Integrations / actions /<action ID="">「」
 }

カスタムアクションの設定の詳細については、 構成を追加 そして 構成の変更.

詳細については、 統合のカスタムアクションについて

統合の詳細については、 データアクションの統合について.