跳转到主要内容
GetQR API 目前处于 Beta 阶段,仅向部分工作区开放。正式发布前,细节可能会有所变化。
控制二维码何时生效、可以被扫描多少次、是否需要输入密码,以及是否暂停或删除。

开始之前

  • 角色。 设置规则、暂停、重新激活和删除都需要对工作区中的二维码拥有写入权限。请参阅身份验证。
  • 订阅。 所有 API 请求(包括这些操作)都要求工作区所有者拥有有效订阅。

access 对象

在创建或更新二维码时发送 access 对象:
省略的字段保持不变。发送 null 可清除某条规则。部分 access 对象绝不会重置您未提及的规则。
访问规则必须放在 access 下。在 link 下发送 activeAt、pauseAt、scanLimit、password 或 passwordProtected 会返回 422。

设置开始和结束时间

activeAt 和 pauseAt 相互独立:可以只设置其中一个,也可以都设置。两者都接受 ISO 8601 日期时间,需带 Z 或 UTC 偏移量。
发送 null 可清除计划。这会让二维码立即生效,并移除结束日期:

扫描次数上限

限制扫描总次数。达到上限后,二维码将不再跳转:
无论是否设置了上限,生命周期扫描计数器都会一直运行。因此,更改上限的效果是可预测的:
  • 提高上限:恰好再释放(新上限减去总扫描次数)次扫描。
  • 降低上限:若低于当前总数,二维码会立即被阻止。
  • 之后再设置上限:未设置上限期间产生的扫描也会计入。
scanLimit 必须是正整数,最大为 2147483647。发送 null 表示不限次数。

密码保护

通过同一个 access 对象设置密码。关闭保护时会保留已保存的密码,因此重新开启时无需再次发送。
1

设置或更改密码

这也会开启密码保护。
2

关闭保护

已保存的密码会被保留。
3

重新开启保护

无需重新发送密码。仅当之前已设置过密码时才有效,否则请求会返回 422。
  • 创建时。 发送 password 即可开启保护。在密码存在之前,单独发送 passwordProtected 不会产生任何效果。
  • 移除密码。 发送 "password": null。保护也会随之关闭。
  • 读取。 响应绝不会返回密码,只返回 access.passwordProtected。

暂停、重新激活和删除

暂停和重新激活是独立的端点,而不是 access 字段,因为它们会立即生效,而不是按计划生效。 暂停和激活都不需要请求体,并返回更新后的二维码:
您也可以使用 PUT /api/v1/qrs/{qrId} 和 { "archived": true },或在 PATCH 中使用 archived 来设置暂停状态。请参阅设置暂停状态。 删除操作会同时移除二维码及其短链接:
删除无法撤销。短链接会停止跳转,因此已印刷的二维码将失效。如果以后可能还需要它,请改为暂停二维码。

更改何时生效

  • 下一次扫描。 规则在扫描时检查,因此更改从下一次扫描开始生效,不会追溯。
  • 暂停页面。 被计划、扫描次数上限或暂停阻止的二维码会显示暂停页面,扫描不会跳转。
  • 密码。 已输入过密码的访问者会一直保有访问权限,直到密码更改,或保护被关闭后再重新开启。
  • 时钟。 计划使用 UTC 时区的服务器时钟,而不是访问者的本地时间。
  • 规则叠加。 只有在未暂停、处于计划时间内且未达到扫描次数上限时,二维码才会跳转。

常见问题

该二维码还没有密码。请发送 password,而不是 passwordProtected: true。
仍有计划或扫描次数上限在生效。请检查二维码中的 access.activeAt、access.pauseAt 和 access.scanLimit,并将 scans 与上限进行比较。
此 API 不提供 link.expiresAt。请改用 access.pauseAt。

后续步骤

二维码

各类型的二维码数据