データアクションの設定要求
データアクション統合用のカスタムアクションを作成できます。 カスタムアクションは、その設定にリクエストとレスポンスを含みます。 詳細については、 インテグレーション用のカスタムアクションを作成する.
この記事では、回答の一部について説明します。 要求については、設定を要求するを参照してください。
カスタムアクションでは、リクエストテンプレートを使用して、リモートエンドポイントまたは AWS Lambda 関数に対する POST、PUT、パッチリクエストの本文を定義します。 リモートエンドポイントはによって定義されます requestUrlTemplate. これらの要求テンプレートは、マクロの使用をサポートします。 詳細については、 データアクション用の速度マクロ。
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 があります。
requestUrlTemplate
requestUrlTemplate は、HTTPリクエストがヒットするリモートエンドポイントポイント、またはAWSデータアクション統合が呼び出すAWS Lambda関数のARNです。 requestUrlTemplate 変数置換にVelocityテンプレートを使用します。
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="">「」
}
カスタムアクションの設定の詳細については、 構成を追加 そして 構成の変更.
詳細については、 統合のカスタムアクションについて。
統合の詳細については、 データアクションの統合について.