使用回调 URL
回调是在特定任务之后执行的函数,通常用于异步事件的编程。 在 IBM RPA 机器人的情况下,回调 URL 是机器人进行通信的指定 Web 地址,可发送通知以确保无缝集成和实时响应。
回调 URL 在IBM RPA机器人中发挥着关键作用,是虚拟通信渠道。 这些 URL 充当机器人可以在其中发送通知或响应的指定端点,从而支持机器人与外部系统之间的无缝集成和交互。
其中一个集成是与 IBM watsonx Orchestrate 集成,您可以将自动化作为技能导入。 从那里,用户可以在无代码用户界面中访问和运行自动化。 有关详细信息,请参阅 IBM watsonx Orchestrate 文档中的 IBM Robotic Process Automation 。
开始之前
- 您必须有一个正在监听您设置的端点的回调服务器。 IBM Robotic Process Automation 服务器会在机器人完成后向回调 URL 上设置的端点发送 POST HTTP 请求。
- 为回调 URL 提供端点的回调服务器必须使用由认证机构 (CA) 签发的证书进行认证。 请参阅 订购 CA 签名证书,了解如何订购 CA 签名证书。
- 您必须将 URL 添加到允许列表中。 请参阅 将 URL 添加到 IBM RPA allowlist 中。
- 通过 API 运行机器人时,只能使用回调 URL。 请参阅 机器人 API。
将 URL 添加到 IBM RPA 允许列表
- 登录到 IBM RPA Control Center。
- 单击 租户。
- 在 " 租户配置 " 选项卡上,单击 安全设置。
- 单击 添加条目。
- 向允许列表添加域或 IP 地址。
过程
要在运行机器人时使用回调 URL,必须在使用 Bots APIs 中的端点运行机器人时设置 callbackUrl 标头。
机器人完成运行后,IBM RPA 服务器会向您设置的回调 URL 发送以下 HTTP 请求:
POST <CALLBACK_URL_ENDPOINT> HTTP/1.1
Host: <CALLBACK_URL_HOST>
Content-Length: <calculated_during_request>
Content-Type: application/json; charset=utf-8
Expect: 100-continue
X-Forwarded-For: <calculated_during_request>
X-Forwarded-Proto: https
Accept-Encoding: gzip
{
"jobId": "<JOB_ID>"
"input": <JSON_INPUT_VARIABLES>
"output": <JSON_OUTPUT_VARIABLES>,
"runtimeException": {
"code": <null | initializationException | runtimeException>
"message": <ERROR_STRING>
}
}
其中:
<JOB_ID>机器人运行的标识符。
<JSON_INPUT_VARIABLES>包含机器人脚本输入变量及其加载值的 JSON 文件。 如果脚本没有任何输入变量,则该值为
Null。 有关输入变量的更多信息,请参阅 使用设计器模式创建变量。例如,如果运行一个机器人,其输出变量为
name,当机器人运行结束时,name中存储的值为Doe,则input的 JSON 返回值为{"name": "Doe"}<JSON_OUTPUT_VARIABLES>包含机器人脚本输出变量及其加载值的 JSON 文件。 如果脚本没有任何输出变量,则该值为
Null。 有关输出变量的更多信息,请参阅 使用设计器模式创建变量。例如,如果运行一个机器人,其输出变量为
name,当机器人运行结束时,name中存储的值为Doe,则output的 JSON 返回值为{"name": "Doe"}从23.0.17版本开始,您的回调服务器必须要求机器人的输出变量始终以小写字母开头。
<initializationException | runtimeException>机器人失败时的错误类型。 错误代码:
null如果没有错误;initializationException如果机器人无法启动;或runtimeException如果机器人启动但运行失败。<ERROR_STRING>机器人失败时的错误信息。
失败政策
从版本 23.0.2 开始,当 IBM RPA 服务器向回调服务器发送请求时,如果回调服务器响应 HTTP 4xx 代码之一或证书验证失败(因为回调 URL 端点的证书是自签名的或端点没有证书),则 IBM RPA 服务器不会重试回调调用。 否则,IBM RPA 服务器将退回到 23.0.0 和 23.0.1 重试规则。
对于 23.0.0 和 23.0.1 版本,IBM RPA 服务器会根据以下规则重试回调呼叫:
- 尝试两次,间隔 1 分钟。
- 如果前一条规则失败,则尝试 5 次,每次间隔 2 分钟。
- 如果前一条规则失败,则尝试 3 次,每次间隔 10 分钟。
- 如果前一条规则失败,则尝试 5 次,每次间隔 30 分钟。
- 如果前一条规则失败,则每小时尝试一次,持续 2 天。
- 如果前一条规则失败,则停止尝试。