服务端 API 介绍|学习笔记

简介: 快速学习服务端 API 介绍

开发者学堂课程【4节课走进 RPA 低代码开发: 服务端 API 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/290/detail/3421


服务端 API 介绍


内容介绍:

一、服务端 API 是什么

二、服务端 API 的使用场景

三、服务端 API 的分类

四、使用文档参考

 

一、服务端 API 是什么?

阿里云服务端 API 就是我们提供给第三方使用的接口,这些接口可以操作我们的机器人进行相关的任务执行,查看执行结果,查看相关日志等功能,直接通过代码对接口的调用来实现跟RPA服务相关的功能,更大程度的实现 RPA 的可被集成性。

 

二、服务端 API 的使用场景

1.第三方系统是怎么跟阿里云 RPA 实现交互的呢?

我们的服务端 API 能够把 RPA 的机器人执行当成一种服务与 HTTP 接口的方式提供给第三方系统,从而实现了第三轮系统与机器人的交互。

在某些需要实现的业务中,数据有时候需要时间相互,比如编写流程中需要某项数据,而该数据需要访问另一个系统处理业务,获取到结果后才能拿到,这种情况在业务中经常出现,而使用服务端API功能,能在不终止业务流程的情况下,系统化实现所有的功能,RPA 机器人之间可以实现数据的交互,在具体业务中,将获取另一个系统上的数据操作,编写成一个应用并发布,然后再主流程中通过API接口去调用b机器人执行这个应用被机器人执行任务,并把结果返回到主流程中,最后使用a机器人行主流程时,就能保证在不中断的情况下实现所有的功能。

2.怎样才能保证访问接口时的安全性呢?

服务端的 API 接口对于每一次的 HTTP 或者 HTTP s 协议请求都会根据访问中的签名信息验证访问者的身份通过对 accesskingID 和 accesskey secret 对称加密验证去实现这俩个参数。


三、服务端 API 的分类

服务端 API 共开放了四十多个接口,包括机器人应用任务以及文件相关的操作,机器人主要包括查询机器人信息更新,机器人认真状态更新机器人调度状态等,应用主要包括获取应用列表,申请应用,审批应用等任务,包括创建计划任务,服务型任务,查看任务状态及结果,以及查询相关日志等文件包括文件上传等。

 

四、使用文档参考

请求方法

GET/POST

请求host

公共云:htts//api-rpa.aliyun.com私有云:企业私有化部署的环境

请求路径

 根据请求的接口来定义,参考文档:

https://help.aliyun.com/document_detail/175379.html

公共请求参数

参考文档:

https://help.aliyun.com/document detail/175390.html

指定接口参数

该参数为不同接口所需的参数

返回参数类型

JOSN

返回参数介绍

参考文档:

https://help.aliyun.com/document_detail/175392.html

阿里云 RPA 服务端 API 支持基于 URL 发起 HTTP/HTTPS GET/POST 请求,所有的请求参数都包含在 URL 中。

服务端 API 使用参数的请求方法分为 get 或 post 两种公共云的请求后的地址统一。进去私有云的后四位企业私有化部署的环境请求路径,是根据请求的接口来定义的,接口分类可参考此文档:

image.png

从 API 概览看到接口的分类以及请求的方法,路径以及每个接口的含义。在发送请求时,需要请求参数,请求参数包括公共请求参数和指定接口的参数。

image.png

查看公共请求参数:

公共请求参数共八个参数,访问密钥可以通过控制台去获取 signature 是通过一些签名机制生成的,参数生成的方法参考下面这篇签名机制的这篇文档:

名称

类型

是否必需

描述

AccessKeyld

string

访问密钥 ID。AccessKey 用于调用 API

Signature

string

您的签名。取值参阅 签名机制。

SignatureMethod

string

签名方式。取值范围:HMAC-SHA1。

SignatureVersion

string

签名算法版本。取值范围:1.0。

SignatureNonce

string

 签名唯一随机数。用于防止网络重放攻击,建议您每一次请求都使用不同的随机数。

 

Timestamp

strng

请求的时间戳。按照ISO8601标准表示,并需要使用

UTC旷间,格式为yyyy-MM-ddTHH:mm:ss+时区

Timestamp String 是 00。示例: 2018-01-01T12:00:00+0800 表示北

京时间2018年01月01日20点00分00秒

Version

string

API的版本号,格式为 YYYYMMDD。取值范围:

Format

string

返回参数的语言类型。取值范围:json 暂时仅支持JSON

其他参数可以根据它的说明来具体查看它的使用方法。注意:这里的时间窗要按照指定的格式来生成指定的接口参数,需要去查看具体的每个接口文档。在这个服务端 API 的这个目录下,有机器人客户端应用任务文件的目录分类,在每个目录下可以看到具体的接口文档:

查看机器人客户端 curry views 这个接口文档,从这篇文档可以看到请求调用地址,调用方式该接口独有的请求参数以及返回的参数说明请求返回的实例。

服务端 API 使用的事例,使用接口创建一个服务型任务,去执行一个应用,该应用是提前准备好的接口测试,主要实现了使用IE打开一个百度界面,输入关键字电脑后并点击接口调用。该应用的前提:第一,需要将应用发布至企业应用市场,点击发布按钮填写好相关的参数后,发布地址选择云端发布类型选择应用点击确定后,可以在控制台查看该应用。

发布后的应用需要申请并使其通审批通过后才可以使用,有两种方式可以申请,一种是通过接口,服务端有请应用以及审批应用的接口,调用该接口后可以实现应用审批的工作。

image.png

在应用目录下 apply APP 以及 approve 就是这两个接口的文档:

image.png

approve

更新时间:2020-07-21 16:45:45

调用地址:https://api-rpa.aliyun.com/rpa/openapi/app/approv

调用方式:POST

返回类型:JSON

接口说明:通过申请

名称

类型

示例值

描述

Uuid

String

8d1ee3c2-d406-4d80-b7a2-e53542be2354

申请记录唯一标识符

Appname

String

TestAPP1

应用名称

Appld

String

fb6a99a1-d8bd-46ee-

8bed-2ed9cb5a0c0d

应用唯一标识符

Applicant

String

93bf42a1-6e65-4912-

98b2-4d5ec0e6260a

申请人UUID

Apply time

Date

1589527241519

申请时间

Reviewer

String

 

评审人

Review time

Date

 

评审时间

Progress

String

Auditing

应用申请状态

另外一种是直接在控制台审批应用,在控制台应用可以查看到刚刚发布的rpa接口测试应用,点击操作分配选择分配成员,就可以在我的应用处看到刚刚申请的应用。

image.png

准备工作做好后,查看创建服务型任务的接口文档,在任务整个文档中可以看到调用的地址以及调用方式。除了公共参数,该接口中还需要传入独有的请求参数,APP ID 是必传的参数,其他参数为选填。

名称

类型

是否必选

示例值

描述

Appld

String

fb6a99a1-d8bd46ee-8bed-2ed9cb5a0c0d

应用唯一标识符

Appparams

String

 

JSON字符串

Clientld

String

5e77da4eb87bcfb62a8b9527626a47f4

机器人唯一标识符

Calibackurl

String

 

回调url

此处添加 client ID 这个参数机器人的 ID,使用该台电脑的机器人可以保证任务是在该台电脑上执行的,能直观的看到任务的执行。ID 这个参数既可以使用接口去获得,也可以直接在机器人中查看这个 ID 接口需要使用我们 Query clerk views 这个接口

image.png

添加器人名称这个参数,就能精准的获取到机器人的 ID,以 postman 为例,可以来查看到该接口的调用结果获取机器人信息,可以看到一些公共请求参数以及独有的这个机器人的名称为测试机器人。名称可以在200 rta 机器人客户端首选项,可以查看他的名字,也可以在这里修改他的名字。

可以查看它的返回结果,返回结果中包含各种信息,uuid 参数即为机器人的 uuID,除了使用接口调用获取之外,同时我们也可以直接在机器人客户端中查看该 uuID。

接口调用以及直接查看的两个 uuID 是一致的。

image.png

创建服务型任务除了需要客户端uuID参数之外,还需要一个必填的应用ID即APP ID。通过调用接口可以获取到这个参数,在应用Query apps这个接口中可以获取到这个参数:

image.png

在请求中添加 APP name,这个参数可以精准的查到想要执行的应用,返回结果中 uuID 即为 APP ID。可以在 post man 中查看这个请求参数,包括公共请求参数以及独有的 APP name 这个参数。

这个应用实行的 name 是 rpa 接口测试请求到返回结果。包含各种信息,其中 uuID 极为获取到 ID 以及 APP ID 之后,使用 postman 调用服务型任务的接口,去执行这个任务。
获取到的这些签名信息时效只有十几分钟,所以需要重新生成。拿到新的签名信息了,要将之前公共求参数中的发生变化的参数替换一下。

image.png

<class 'dict'>:('AccessKevId':f8cd79977657e3d1'.Format':lison'.SianatureMethod!:·HMAC-SHA1'.ISianatureNonce':'cwagvmzpfdbqklxsrjytuieohn','SignatureVersion':'1.0'. 'Timestamp':'2020-08-12T09:44:212','Version':'20200430','appId':'88075d59-2a0e-4ec0-9a6d-c7adf0b24009','clientId':'081054D2998C14DCA43D734F4BEB86BE 'Signature':b'jCvz9iUu4V7iSwNav50enmn+/RI='

在计划任务,服务型任务里可以查看刚才执行的任务。查看批次信息,查看运行结果,在此处可以看到代码里面写的运行日志。

执行这些任务的时候需要注意2点,一方面是需要机器人是空闲状态,另一方面是需要他的认证状态是已认证,具体的操作方法,参考官网的阿里云 rpa 文档操作。

相关实践学习
基于阿里云短信服务的防机器人验证
基于阿里云相关产品和服务实现一个手机验证码登录的功能,防止机器人批量注册,服务端采用阿里云ECS服务器,程序语言选用JAVA,服务器软件选用Tomcat,应用服务采用阿里云短信服务,
相关文章
|
3月前
|
人工智能 监控 安全
F5社区学习笔记:API和AI如何改变应用安全?
F5社区学习笔记:API和AI如何改变应用安全?
43 1
|
3月前
|
jenkins API 持续交付
jenkins学习笔记之十五:SonarSQube API使用
jenkins学习笔记之十五:SonarSQube API使用
|
4月前
|
分布式计算 运维 DataWorks
DataWorks产品使用合集之如何查看数据服务API发布后的服务端日志
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
4月前
|
开发框架 前端开发 应用服务中间件
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
|
5月前
|
JSON 安全 API
实战指南:使用PHP构建高性能API接口服务端
构建RESTful API的简要指南:使用PHP和Laravel,先安装Laravel并配置数据库,接着在`api.php`中定义资源路由,创建`PostController`处理CRUD操作,定义`Post`模型与数据库交互。使用Postman测试API功能,如创建文章。别忘了关注安全性、错误处理和性能优化。
132 2
|
6月前
|
消息中间件 算法 Java
客户端限流器和服务端API限流器的区别
客户端限流器和服务端API限流器在限流对象、实现方式以及应用场景等方面存在显著差异。客户端限流器主要关注于保护客户端资源和控制客户端行为,而服务端API限流器则更注重于保护服务端系统和确保服务的高可用性。
79 3
|
API 开发工具 开发者
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
在钉钉中,服务端API 如何获取OA审批评论中的附件下载链接?
970 1
|
6月前
|
XML API 数据格式
【Qt 学习笔记】QWidget的enable属性 | API的介绍
【Qt 学习笔记】QWidget的enable属性 | API的介绍
167 0
|
前端开发 API
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动1
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动1
73 0
|
前端开发 API
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 前后端联动3
前端学习笔记202305学习笔记第三十一天-什么是mvc-c层api 前后端联动3
53 0
下一篇
无影云桌面