node.js - Docusign API 轮询/速率限制疑虑
问题描述
Docusign 电子签名 API 有 15 分钟内轮询15 分钟的限制,以请求唯一的 url 资源。
但是在文档中没有解释是否允许正常的用户行为,这与在 X 分钟内轮询 X 完全不同(例如,连续多次单击查看信封)。
问题 1
如果在正常用户操作中在 15 分钟内多次调用同一资源,Docusign 中是否存在问题?
在某些情况下,需要在 2 或 3 分钟内更频繁地获取资源,但该资源在一天中的其余时间几乎为 0)。
常见的例子可能是:在短时间内询问信封信息、相关实体和审计事件。
问题2
是否所有 GET 唯一资源 url 在 eSignaturesAPI(信封、收件人、事件、状态、模板等)中都有 15 分钟的速率限制限制?
一些文档表明只有与状态相关的端点受到轮询限制,其他文档指定 eSignaturesAPI 中的所有 GET 资源都是。
问题 3
轮询的一种替代方法是使用许多文章中建议的 Docusign Webhooks (Connect),但是要使用 HMAC 保护它,它不可能与 oAuth 结合使用。
连接密钥与用户的帐户相关联,而不是与客户端的应用程序帐户相关联(每个用户都必须设置自己的密钥,这是不可行的)。一个建议似乎是 mTLS(这不是一个选项)。
使用 oAuth 时,还有哪些其他方法可以保护 webhook?
想知道其他集成如何在当前的 webhook 安全限制下做到这一点。
解决方案
DocuSign 关心轮询的原因是因为开发人员已经构建了每 1 秒轮询一次的集成,导致数百万或 API 调用阻塞服务器。
听起来您的集成没有进行轮询。
然后你所要做的就是通过上线,你应该没问题。
用于上线审核的最后 20 个 API 调用应遵守轮询规则,确保它们如此。DocuSign 无法知道 API 调用的意图,因此轮询规则很严格,但您应该不难弄清楚。
推荐阅读
- json - 单元测试 Laravel 需要有关如何正确传递我的变量的帮助
- oracle - Artifactory 是否需要专用的 Oracle 数据库?
- bpmn - Camunda:检查消息是否存在于流中
- java - Spring Boot 2 Async 进行调用但不返回响应
- php - 注入 Symfony Serializer 会实例化所有 Normalizer,如果注销则失败
- vue.js - VueJS 中的模态组件
- angular - 发出 API GET 请求并以 HTML 格式显示信息。
- javascript - 如何使用两个 url 运行一个 Angular 应用程序?
- php - PHP - 传递给 foo 的参数 1 必须是 Bar 的实例,给定字符串 - 如何自动调用 ctor
- javascript - 什么意思是“由用户手势启动”。在 element.requestFullscreen() API 中?