我正在尝试每 15 分钟轮询一次 DocuSign 以获取信封状态更新。 我正在使用 here 中描述的 listEnvelopes() 方法进行一些调整:
他们正在设置较低的时间限制,例如:
// set from date to filter envelopes (ex: Dec 1, 2015)
options.setFromDate("2015/12/01");
这将获得自 2015 年 12 月 1 日以来的所有信封。
但是,在我的应用程序中,我想通过 Quartz 每 15 分钟(根据 DocuSign 文档)轮询一次最近 20 分钟的窗口,并根据当前时间动态计算一个 fromDate。
所以我根据 documentation 格式化了日期 (yyyy-MM-dd HH:mm)
但是,我可以获得返回的任何信封的唯一方法是将 fromDate 属性设置为一天的开始。 (2017-02-17 00:00)
如果我在日期字符串中添加分钟或小时,我将无法获得任何结果。( 2017-02-17 20:56) 我已将 Docusign 的时区设置全部更新为东部时间,因为我的应用程序是这样配置的。它似乎总是忽略小时和分钟值,但文档建议每 15 分钟轮询一次。我错过了什么吗?
我相信我可以从信封本身获取时间信息(通过使用 envelopeId 获取)。这样我就可以知道 DocuSign 认为现在几点了。
最佳答案
这是 listStatusChanges 的 from_date 格式接口(interface)
options.setFromDate("2017-02-17T20:56:00.000Z")
您的 GET 请求将如下所示
GET /v2/accounts/{accountId}/envelopes?from_date=2017-02-17T20:56:00.000Z
提示:使用Docusign Webhooks效率更高获取信封状态更改(如果您的计划支持)。
The status of sent envelopes can be determined through the DocuSign webhook system or by polling. Webhooks are highly recommended: they provide your application with the quickest updates when an envelope’s status changes. In contrast, DocuSign limits polling for an envelope’s status to once every 15 minutes or less frequently.
When a webhook is used, DocuSign calls your application, via the URL you provide, with a notification XML message.
关于java - DocuSign Rest API 轮询状态更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42310616/