Rest Api

Rest Api Action icon

同步处理 RESTful API 调用。此操作可使系统处理更高的负载。它返回 API 调用的正文和标头。这使得测试和调试脚本更为容易。

您可以测试包含 REST API 操作的脚本并查看响应信息。要执行此操作,请使用“启动即跟踪”选项运行此脚本。

您还可以在 SNIPPET 操作中使用 GetRestProxy 函数进行同步 RESTful API 调用。此选项不能像 REST API 操作那样好地处理高负载,因此不是首选方法。

此操作是在 Studio 脚本中连接到 Web 服务的受支持方法之一

依赖关系

存在以业务单位关闭 用于管理 CXone环境的技术支持、计费和全局设置的高级组织分组级别对此操作的使用施加的限制。这样不会造成相互影响。平台 中的限制条件如下:

  • 响应格式:仅支持 JSON 响应格式。
  • 失败重试:如果出现失败消息,操作处理程序将自动尝试两次在返回响应之前收到。
  • 超时:您在请求中指定超时值。该值不得超过 90 秒。
  • 最大响应大小最大响应大小为 32 KB。这与现有的 Snippet 功能一致。如果达到此限制,则必须减小返回数据的大小
  • 节流限制:节流限制由两个参数定义:
    • 最大并发请求数:默认最多允许100个并发请求。此限制对于所有 CXone 客户都是相同的。这意味着 100 个并发请求产生的吞吐量远高于通过 Snippet 操作进行的 API 调用。如果需要 100 个以上的并发请求,请与您的 CXone 客户代表 讨论如何增加业务单位的限值。需要特别批准。
    • 队列计数:当请求超过限制时,多余的请求进入处理队列。一旦请求数降至该限值以下,则处理排队的请求。
  • 断路器:如果您指定的 URL 已关闭或无法访问,您您的请求可能会失败太多。发生这种情况时,CXone 将在一段时间内减少来自 REST API 操作的所有 URL 的请求执行。这允许您指定的 URL 从失败中恢复。限制条件如下所示:
    • 撤回时间或中断持续时间:如果达到故障率,则 30 秒内不会执行来自 REST API 操作的请求。
    • 最小吞吐量:每秒 100 个请求。如果您的业务单位未执行最小请求数,则即使请求失败,也仍将继续执行您的请求。
    • 失败率:如果 30 秒内 50% 的请求失败,则接下来的 30 秒内您的请求将不会被执行。30 秒为一个滚动窗口。

此操作的其他依赖关系是:

  • JSON 是唯一受支持的响应格式。该操作要求所有 JSON 都位于一行上。在此操作中使用 JSON 时,您可以:

    • 从包含 JSON 的字符串进行变量替换。
    • 使用 asjson() 函数支持将动态数据对象转换为 JSON。注意,asjson() 将所有内容视为字符串,这意味着在处理布尔值或数值时需要进行一些操作
    • 将先前 REST API 操作的输出变量 resultSet(out)传递给此属性。
  • 以 jtoken 对象的形式返回响应。您可以像在脚本中使用动态数据对象一样使用它们。
  • 响应包含响应的标题和正文。它们还可能包含 HTTP 状态代码。并非所有响应都会包含状态代码。如果没有错误,则在 REST API 操作未能生成有效响应,或者无法将返回的错误解析为有效响应时,不包含任何状态。
  • 您可以在脚本中使用多个 REST API 操作,但它们不能同时引用相同的对象。

输入属性

这些属性定义操作在执行时使用的数据。

属性

说明

说明文字

输入在脚本中唯一标识此操作的短语。标题显示在脚本画布上的操作图标下方。The default is the action name.

Verb

REST 操作,例如 GET、PUT、POST、DELETE 和 PATCH。

Parameters

允许您指定查询参数或发布任何数据。许多类型的 JSON 是可接受的,例如 Jobject、Jarray 或 Jtoken。

Headers

允许您添加自定义标题以允许对客户进行身份验证,例如持有者令牌。您可以在此字段中使用 JSON。

重要提醒 如果您的自定义 URL 端点需要不同的标题,则必须在此属性中指定。为了与现有 Snippet 操作保持功能一致,CXone 添加以下标题:

{"Accept":"application/json", "Content-Type" :"application/x-www-form-urlencoded"}

Command

当前唯一选项是 MakeRestRequest。其运行方式与Snippet 操作中进行 REST API 调用时使用的MakeRestRequest()函数相同。

TimeOutInMilliSeconds

允许指定和遵守 REST 呼叫超时。必须小于 90 秒(90000 毫秒)。如果未指定超时,则默认值为 10 秒(10000 毫秒)。

Service Address

您希望此操作调用的 REST API 的 URL。您可以在此属性中使用变量替换。

输出属性

这些属性包含保存执行操作返回的数据的变量。它们在操作完成后供引用和使用。

属性

说明

resultSet(out)

一个变量,用于保存从服务地址中指定的 API 返回的任何信息。如果需要,您可以将此变量的内容按原样传递到标题和参数中。将响应作为 Jtoken 对象返回,但您可以将其声明为动态对象,并像在脚本中使用其他动态对象那样使用它。

errorArgList(out)

一个动态数据对象,保存有关发生的任何错误的信息。发生错误时,该对象会保存 HTTP 状态代码、状态描述和消息。当没有错误时,该对象为空。

HTTP 状态代码和描述仅在错误中返回,可被正确解析为有效响应。这意味着并非所有错误都会包含 HTTP 响应代码。

结果分支条件

结果分支条件允许您在脚本中创建分支,以在执行操作时处理不同的结果。

条件

说明

Throttle

当短时间内执行过多请求时采取的路径。有关更多详细信息,请参阅下述限制内容。

InvalidInput

当发现无效输入或出现超时错误时采取的路径。每个参数在保存脚本时进行验证。

Failure

当执行脚本时 NICE CXone 应用 中发生任何错误或异常的情况下采取的路径。

Error

当远程客户端点返回一个 http 错误代码时采取的路径。

Default

当 90 秒内未收到响应时采取的路径。

Success

完成操作而无错误,且 API 调用或数据返回全部成功时所采用的路径(2xx 响应代码)。