BarTender Cloud 中有哪些 REST API 可供使用
问题
有哪些可用的 API?每个 API 有哪些功能?
适用范围
- BarTender Cloud REST API
- Automation 订阅
Security API
Security API 可管理用户、权限、组和角色。
安全性基本概念
安全性在 Cloud 中的工作方式与在本地 BarTender 中略有不同。最主要的区别在于没有拒绝权限的概念。
本地 BarTender 有拒绝的概念,只要设置了拒绝(无论是在组中设置,还是在用户本身上明确设置),就会覆盖特定用户的任何允许权限。这会将用户的有效权限设置为“始终拒绝”,而不论是否在别处设置了允许。
Cloud 没有如此明确的概念,它是基于一个允许或不允许的权限系统来运行。该系统会结合所有源(角色、组、个别设置)来确定是否允许用户执行某个操作。如果一个用户在一个组中具有执行某个操作的权限,那么即使该用户在另一个组中没有相应的允许权限设置,也可以执行该操作。 例如,如果用户 A 属于文档管理组(有权管理文档),但又属于打印操作员组(仅有打印权限),那么用户 A 具有管理文档的权限,因为其中一个组具有这样的设置。
用户管理
该 API 可以执行以下操作
- 创建用户
- 删除用户
- 更新用户信息
角色管理
从本质上讲,角色是权限的容器。分配权限时会将权限分配给特定角色中包含的所有用户。
将角色分配给组和用户可以为组和用户设置权限。这些权限可用于在 Web 界面中或通过该 API 设置文件的权限, 还可用于控制用户或组是否有权访问特定的 API。
Printers API
Printers API(有时称为 Print Management API)可处理所有打印机相关操作, 包括查询连接的打印机,获取打印机信息以及打印作业状态。目前,还没有用于查询打印历史记录的 API 调用。
许多 API 调用都由 Print Controller 服务来处理,该服务会与客户端计算机上本地运行的 Print Gateway 服务进行通信。
打印机 ID
打印机 ID 可唯一标识租户空间内的打印机。每个打印机都由客户端名称 + 打印机名称来标识。
- printer:<clientname>/<printer_name>
例如,如果 Zebra 是一台联网打印机,并且连接到多个客户端,那么每个客户端都会有自己的 Zebra 打印机 ID。因此,该打印机可能会显示为 printer:mariopc/Zebra_105、printer:luigipc/Zebra_105 和 printer:bowserpc/Zebra105,以唯一标识要打印到此打印机的客户端。这不会影响许可,因为许可不是由打印机决定的,因此没有重复。这种标识方式只是用于告诉 Print Controller 服务将作业发送到哪里。
Librarian API
Librarian API 是 REST API,可处理存储在 Librarian 空间中的文件和文件夹。您可以将其视为通过 API 调用操作的文件和文件夹管理器。 它可以访问两个 Librarian 空间,并且可以处理两个空间中的文件和文件夹。Librarian API 不支持打印文档。
Librarian URI
Librarian 空间有自己的一组 URI,可用于识别文件或文件夹、文件或文件夹所在的空间,以及从 Librarian 空间内检索正确版本项目时所需的任何其他信息。这些 URI 不仅用于 Librarian API,而且还在 Action API 中用于引用存储在 Librarian 空间中的任何文件。 文件 URI 由这两个 API 使用,但文件夹 URI 通常仅由 Librarian API 使用。
URI 的一般语法是
- librarian://<space>/<path>[?parameter1=value1¶meter2=value2]
值和参数可通过 & 相连结。只有存在参数时才需要使用 ?。
两个空间分别是 Main 和 $temp。
URI 示例
Main 空间
- librarian://Main/Shipping/Label.btw
- librarian://Main/MyLabel.btw?version=3
$temp 空间
- librarian://$temp/Work/File.txt
- librarian://$temp/label.btw
Actions API
Cloud Action API 会告诉 Cloud 自动执行或更新打印作业。这类似于 BarTender REST API,其具有类似的操作,但 Action API 只能接受 YAML 格式的调用,并且只能执行在 Cloud 环境中被认为是安全的操作。该 API 中没有数据库操作和“执行 SQL”等操作。有关完整列表,请参阅该 API 的说明文档。
除了打印标签之外,Action API 还可以检索有关当前正在运行的操作的信息,以及对文件夹和文件执行一些操作。 大多数文件夹任务将由 Librarian API 来处理。
对其他 API 的依赖
如果您不知道资源的确切位置或正确地址,您可以使用其他 API 为您查找信息:
- 使用 Librarian API 查找文件位置
- 使用 Print API 查找打印机名称和信息
这些都是单独的 API,您需要进行多次调用才能检索到所需的信息。如果您知道具体的操作调用,您可以跳过额外的调用而直接进行操作调用。