为集成的自定义操作添加配置

笔记:本文适用于 AWS Lambda、Function、Genesys Cloud、Google、Microsoft Dynamics 365、Salesforce、Web 服务和 Zendesk 数据操作集成。

创建自定义操作时,首先添加合约,然后添加配置。 配置定义了操作如何执行合同。 有关更多信息,请参阅 创建自定义操作 和向自定义操作 添加合约

注意: 您可以在发布操作后修改配置。 有关更多信息,请参阅在自定义操作中 修改配置
  1. 单击配 选项卡。 
  2. 选择 HTTP 方法。
  3. 请求下,配置操作发送到 Web 服务的请求。 Genesys 建议使用 “ 简单” 下的字段配置请求
    提示: 单击 “ 可用输入” 下的属性 以复制并快速将其粘贴到请求中。 这些属性来自你的输入合约。 有关更多信息,请参阅向自定义操作 添加合约。 你可以在模板中使用宏。 有关详细信息,请参阅数据操作的 Velocity 宏

    输入显示的字段的信息。 显示的字段根据所选的 HTTP 方法和添加的合同而有所不同。

    注释:
    • 有关 AWS Lambda 数据操作集成和 Google Cloud Functions,请参阅以下内容特殊要求配置部分。
    • 过度嵌套的 JSON 对象会影响数据操作服务的性能。 为了保持性能,JSON 对象的深度限制为 50 级。 有关更多信息,请参阅 Genesys Cloud 开发者中心中的限制。
  4. 请求 URL 模板

    将 请求 URL 模板设置 为 HTTP 请求点击的远程终端节点。

  5. 标题 (可选)

    在发送到远程终端节点的请求中作为 HTTP 标头添加的键值对。

    注意: 如果要设置 Accept 标头,则必须使用 JSON 媒体类型作为标头值。

  6. Execution Timeout

    Set the execution timeout between 1 and 60 seconds for the data action. The default timeout of 60 seconds is used when you do not set a timeout value. When the HTTP requests run longer than the set time, then the data action returns a timeout response. After the designated time limit, the data action execution is removed from the concurrency limit. For more information, see How many seconds before a data action times out?.

    Note: To ensure that a flow’s timeout logic is executed correctly and to prevent unnecessary data action processing, set the data action’s timeout to be one second longer than the flow’s configured timeout. This best practice helps to manage concurrency limit by ensuring that the data action doesn’t continue after the flow has already timed out.

  7. 传输编码

    如果您的 Web 服务不支持 设置为分 块的 传输编码,请添加 传输编码: 标题下缓冲。 有关详细信息,请参阅 自定义操作因意外原因而失败

  8. 授权

    您可以在请求配置中包含授权信息。 有关更多信息,请参阅 如何使用用户定义的凭据类型如何使用用户定义 (OAuth) 凭据类型

  9. 特殊要求配置

    The request configuration for custom actions that are associated with the AWS Lambda data actions integrations or that execute the Google Cloud Functions vary from the standard request configuration for web services.

    • 请求 URL 模板

      将 请求 URL 模板设置 为 AWS Lambda 函数的 ARN。 有关更多信息,请参阅 创建 IAM 资源以调用 AWS Lambda 函数。 

    • 请求类型

      请求 类型设置POST。 此 HTTP 方法可确保操作发送带有请求配置的任何请求正文。

    • 标头

      添加到 ClientContext 对象上的 自定义 映射的键值 对。 C lientContext 对象又是调用上 下文 对象上的一个值。 如果存在以下属性,则会在上下 对象上自动设置这些属性:

      • 组织内 ID
      • 在家中组织 ID
      • inin-关系-ID
      • inin-User-ID
      • Inin-InIn-Integration-ID

      有关 ClientContext 对象的 Java 示例,请参阅 接口客户端上下文。 

    • 请求模板

      您在 请求模板下指定的任何值都 将在调用的 AWS Lambda 函数的 事件 参数中提供。

    • 请求 URL 模板

      将 请求 URL 模板设置 为 HTTP 请求点击的远程终端节点。

    • 请求类型

      请求 类型设置POST。 此 HTTP 方法可确保操作发送带有请求配置的任何请求正文。

    • 标头

      添加到 ClientContext 对象上的 自定义 映射的键值 对。 C lientContext 对象又是调用上 下文 对象上的一个值。 如果存在以下属性,则会在上下 对象上自动设置这些属性:

      • 组织内 ID
      • 在家中组织 ID
      • inin-关系-ID
      • inin-User-ID

      有关 ClientContext 对象的 Java 示例,请参阅 接口客户端上下文。 

    • 请求模板

      Any values that you specify under Request Template will be available in the event parameter of the invoked AWS Lambda function. The clientContext has length limits and cannot be used to pass certificates required for Genesys Cloud Function data actions. To include the certificates configured in credentials, use the body of the request template, which has no size restrictions.

    • 请求 URL 模板

      将 请求网址模板设置 为您希望执行数据操作的 Google Cloud 函数所在的位置: https://{location-of-function}-{project-owning-function}/{function-name}

    • 请求类型

      请求 类型设置POST

    • 请求模板

      请求模板${input.rawRequest}

    有关请求各部分的详细说明,请参阅 请求数据操作的配置

    熟悉 JSON 的人可以使用 JSON 输入选项。 在其他操作或以下示例中使用请求作为创建 JSON 的指南。

    {
      "requestUrlTemplate": "https://www.example.com/health/check/services/${input.service}",
      "requestType": "GET",
      "headers": {},
      "requestTemplate": "${input.rawRequest}"
    }

  10. 响应下,添加 JSON 配置。

    JSON 配置定义了如何处理来自 Web 服务或 AWS Lambda 函数的响应。

    您可以在其他操作或以下示例中使用响应作为创建 JSON 的指南。 有关在成功模板中使用宏的详细信息,请参阅针对数据操作的 Velocity 宏

    提示: 单击 可用输出下的属性 以复制它们并将其快速粘贴到响应中。 这些属性来自你的输出合约。 有关更多信息,请参阅向自定义操作 添加合约
    {
          "translationMap": {
              "buildNumber": "$.Build-Version",
              "serviceName": "$.name",
              "status": "$.Status"
          },
          "successTemplate": "{\r\n      \t\"build\": ${buildNumber},\r\n      \t\"name\": ${serviceName},\r\n\"status\": ${status}\r\n      }"
     }

    有关响应各部分的详细说明,请参阅数据操作的 响应配置

下一个,添加函数用于 Genesys Cloud Function。对于其他数据操作,测试动作验证和执行错误。

有关更多信息,请参阅 关于集成的自定义操作

有关集成的更多信息,请参阅 关于数据操作集成