帮助中心 >
通过 Open API 执行 RPA 流程任务
在使用 Open API 执行RPA流程任务之前,强烈建议您了解一下 RPA 中的流程计划,以触发计划为例,分为文件触发、邮件触发、Http请求触发、事件触发等类型。举例,我们完全可以通过 Http 请求来触发一个流程计划,更详细的介绍请参考 触发计划 一文。
1、准备工作
- 请参考 Open API 一文获取Access Key和Token。
- 通过分身属性获取要执行的分身ID:
《查看分身ID》
- 获取要执行流程的设备标识:
鼠标在客户左下角的用户头像上,点击弹出菜单的“偏好设置”;在“偏好设置”对话框中选择“登录设备”,会列出当前用户登录的所有设备,找到显示“本机”的设备,复制出“设备标识”这一列的内容。
《查看本机设备标识》
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 请求触发来替代上文中描述的内容,更详细的介绍请参考 触发计划 一文。