通过 Open API 执行 RPA 流程任务

1、准备工作

  1. 请参考 Open API 一文获取Access Key和Token。
  2. 通过分身属性获取要执行的分身ID:
   

《查看分身ID》

  1. 获取要执行流程的设备标识:

鼠标在客户左下角的用户头像上,点击弹出菜单的“偏好设置”;在“偏好设置”对话框中选择“登录设备”,会列出当前用户登录的所有设备,找到显示“本机”的设备,复制出“设备标识”这一列的内容。

   

《查看本机设备标识》

2、获取流程ID

通过调用/rpa/flows获取流程ID。示例Python代码:

flowJson = openApi(
        "/rpa/flows?name=流程名称",
        method="GET",
        headers={"Authorization": token}
    )
if flowJson and flowJson["list"] and len(["list"]) > 0:
    rpaFlowId = flowJson["list"][0]["id"]
    print("流程ID为:"+rpaFlowId)

其中 name 是要执行的流程名称,token为上一步中获取的token。

3、执行流程

调用/rpa/triggerTask接口执行流程,需要以下参数:

{
  "caseBrowserOpened": "string",  // 浏览器已打开的处理策略,可选:'stop' | 'reopen' | 'reuse',默认为'stop'
  "closeBrowserOnEnd": "string",  // 任务结束是否关闭浏览器,可选:'close' | 'keep',默认为'close'
  "concurrent": 1, // 账号并发数量,类型为数字
  "concurrentDelay": 0, // 并发等待时间间隔,单位为秒
  "description": "string", // 任务描述
  "deviceId": "string", // 设备标识,在第一步中获取
  "forceRecord": true, // 是否开启录像
  "name": "string",  // 任务名称,可随意设定,方便后期查找
  "params": {    // 为每个分身指定参数,key为分身ID
    "shopId1": {"params1": "value1", "params2": "value2"},
    "shopId2": {"params1": "value1", "params2": "value2"},
  },
  "provider": "aliyun", // 云端执行时需要,目前只能选"aliyun"
  "region": "string", // 云端执行时需要,目前可选"cn-hongkong"或"mainland",对应香港区或大陆区
  "rpaFlowId": 0, // 流程ID,在第二步中获取
  "runOnCloud": false, // 是否在云端执行,为false时表示在本地执行,需要指定deviceId
  "shopIds": [  // 分身ID,在第一步中获取,以数组的形式指定
    0
  ],
  "showMouseTrack": false,  // 是否显示鼠标轨迹
  "snapshot": "OnFail" // 截图策略,可选"Node"(每个节点执行完成都截图),"Not"(不截图),"OnFail"(节点执行失败时截图),建议使用"OnFail"
}

示例Python代码:

postData = {
    "concurrent": 0,
    "concurrentDelay": 0,
    "deviceId": deviceId,  # 在“偏好设置”-》“登录设备”中找
    "forceRecord": False,  # 是否录像
    "name": taskName,  # 设置任务名称
    "rpaFlowId": rpaFlowId,  # 流程ID,通过调用/api/openapi/rpa/flows获取
    "runOnCloud": False,
    "shopIds": shopList,  # 分身ID,在分身属性中查看
    "params": paramsMap,
    "showMouseTrack": False,
    "snapshot": "OnFail",
    "provider": "aliyun",
    "region": "cn-hongkong",
    "runOnCloud": True,
}
print(postData)
rpaJson = openApi(
    "/rpa/triggerTask",
    params=postData,
    method="POST",
    headers={"Authorization": token}
)

如有需要,您可以下载 Demo程序的源码 ,解压缩后查看python/python_rpa_demo.py。

如果您有新的 API 方面的诉求,或者还希望我们提供其它语言的的Demo,请通过在 在线客服 联络我们。

4、补充说明:RPA 触发计划

通过本文的阅读,您可以了解如何通过 OpenAPI 执行一个 RPA 流程任务,但我们更推荐您使用 RPA 中的流程计划,以触发计划为例,分为文件触发、邮件触发、Http请求触发、事件触发等类型。举例,我们完全可以通过 Http 请求触发来替代上文中描述的内容,更详细的介绍请参考 触发计划 一文。

最后更新于 2023-12-16 21:43
回到顶部