导读:本文是阿里云RPA(机器人流程自动化)干货系列之十,前两篇介绍了采用有人值守机器人和无人值守机器人执行我们开发好的RPA应用,本篇就介绍如何通过服务型机器人开发并执行RPA应用。
一、创建一个服务型机器人应用
二、在参数面板里设置相应的参数
- 参数的获取:
参数的获取,按照正常的应用写法获取参数。 rpa.params["myInput"]
- 结果的返回:
调用提供的API,把应用的结果返回。rpa.workbench.task_result(resStr)
完成上述步骤之后,在Studio里正常发布此服务型应用至企业服务市场。
三、创建API代理用户
服务型的应用,是通过API的方式提供给外部系统进行使用。API的调用,需要有一个码栈的用户进行授权,每次API的调用,都会记录在这个用户名下。
四、订阅服务型应用
服务型的应用,需要在获取后,才能使用。有两种方式可以获取服务型应用。
1. 如果API代理用户有 企业应用市场管理 的权限,那么可以直接在控制台来获取。
2. 如果API代理用户不具备 企业应用市场管理 的权限,那么需要让用户先登录有人值守机器人的客户端,申请应用并由管理员审核通过。
五、获取API用户AK
使用API用户登录控制台,进入系统设置,获取用户的AK(access key和access token)。后续其他应用通过这个AK进行调用,操作日志会记录在这个用户下面。
六、获取服务型应用的接口地址
管理员登录控制台,在 企业应用市场管理 中,可以看到服务型应用的接口。
七、API列表
- 公共请求
所有的API请求中,都需要在HTTP请求中,增加头参数:
- 调用服务型接口
1. 使用方通过指定的API地址,AK调用接口,随后触发服务型机器人工作,执行对应的流程,流程执行结束后,会获取到数据。 这个数据有两种返回形式,一种是在接口调用的时候,注册一个回调的地址,在流程执行完成后,把数据通过回调接口传送回去;一种是接口调用的时候,可以获取到一个数据结果地址,可以过一段时间,获取到结果。
2. 表单不支持文件的上传,如果需要上传文件,需要先单独上传文件,然后再把文件地址,放到参数中。
3. appParams的结构,建议是json格式,但是也可以是任何格式,具体格式的解析,需要在码栈APP中进行解析。
调用地址:http://rpa-demo.allinbots.com/rpa/api/ak/server/call/${appUuid}
请求方式:POST
请求参数:
config参数说明:
config是一个一维的 json object 对象。
{
"appParams": "{\"myCheckBox\":\"cserver\",\"myPassword\":\"myServerPwdValue\",\"mySelect\":\"server\",\"myTime\":\"2018-09-19 19:59:59\",\"myColor\":\"3422101\",\"myInput\":\"myServerInputValue\",\"myFile\":\"C:\\\\Users\\\\njwander\\\\Desktop\\\\AliRPA\\\\AliyunRPA Studio.bat\"}",
"robotName": "wfx-fw-0906",
"callbackUrl": "http://30.5.121.152:8887/rpa/received",
"timeout": 0
}
返回参数:
{
"success": true,
"code": 200,
"msg": "",
"data": {
"resultUrl": "http://rpa-demo.allinbots.com/rpa/api/ak/server/result?uuid=11fdeba2-f7ad-4a74-8ce5-6d8b716ee88f",
"taskId": "fa77b557-3538-4a77-98fc-e80ab6e0b485"
}
}
获取数据的接口。如果有传递 callbackUrl, 那么通过回调接口返回。
服务型应用的调用地址,可以在这里看到:
- 查看机器人状态
根据启动后,得到的taskId,再次调用,获取任务状态。
调用地址:http://rpa-demo.allinbots.com/rpa/api/ak/server/task/status/{taskUuid}
请求方式:GET
返回结果:
{
"success": true,
"code": 200,
"msg": "",
"data": {
"status": "Running",
"remark": "中文描述"
}
}
- 文件上传
单独上传文件的接口
调用地址:http://rpa-demo.allinbots.com/rpa/api/ak/server/uploadFile
请求方式:multipart/form-data
- 接口回调数据说明
回调的数据,是在机器人执行的应用中,调用api:rpa.workbench.task_result(string) 写入的,写入的string需要是一个标准的json object对象。
callbackUrl 需要满足如下条件:
1. http 或 https 的 post 请求。
2. 接口免登
3. Content-type:application/x-www-form-urlencoded
4. 数据采用 form 表单方式发送,键值为:data
服务型机器人通过API接口的方式可以获取机器人执行的结果数据、中间状态等信息,同时也可以通过API接口远程调用机器人执行相应的程序。
系列文章:
阿里云RPA(机器人流程自动化)干货系列之一:认识RPA(上)
阿里云RPA(机器人流程自动化)干货系列之二:认识RPA(下)
阿里云RPA(机器人流程自动化)干货系列之三:阿里云RPA介绍
阿里云RPA(机器人流程自动化)干货系列之四:阿里云RPA产品技术架构
阿里云RPA(机器人流程自动化)干货系列之五:业务流程梳理方法
阿里云RPA(机器人流程自动化)干货系列之六:客户端安装及激活
阿里云RPA(机器人流程自动化)干货系列之七:编写第一个RPA应用(可视化模式)
阿里云RPA(机器人流程自动化)干货系列之八:如何使用有人值守机器人
阿里云RPA(机器人流程自动化)干货系列之九:如何使用无人值守机器人
阿里云RPA(机器人流程自动化)干货系列之十:如何使用服务型机器人