我试图每15分钟轮询一次DocuSign以获取信封状态更新。 我使用了here所述的listEnvelopes()方法进行了一些调整:
他们正在设置较低的时间限制,如:
// set from date to filter envelopes (ex: Dec 1, 2015)
options.setFromDate("2015/12/01");
自2015/12/01以来,这将获得所有信封。
然而,在我的应用程序中,我想通过Quartz每15分钟(根据DocuSign文档)轮询最近20分钟的窗口,其中fromDate将根据当前时间动态计算。
所以我根据documentation
格式化了日期(yyyy-MM-dd HH:mm)但是,我可以获得任何信封返回的唯一方法是将fromDate属性设置为start of day。 (2017-02-17 00:00)
如果我在日期字符串中添加分钟或小时,我就无法获得任何结果。(2017-02-17 20:56) 我已经在东部时间更新了Docusign的时区设置,就像我的应用程序的配置方式一样。它似乎总是忽略小时和分钟值,但文档建议每15分钟轮询一次。我错过了什么吗?
我相信我可以从信封本身获取时间信息(通过使用envelopeId获取)。这样我可能知道DocuSign认为它是什么时候。
答案 0 :(得分:3)
以下是listStatusChanges API
的from_date格式options.setFromDate("2017-02-17T20:56:00.000Z")
您的GET请求将如下所示
GET /v2/accounts/{accountId}/envelopes?from_date=2017-02-17T20:56:00.000Z
提示:如果您的计划支持,则使用Docusign Webhooks获取信封状态更有效率。
发送信封的状态可以通过DocuSign webhook系统或轮询确定。强烈建议使用Webhook:当信封状态发生变化时,它们会为您的应用程序提供最快的更新。相比之下,DocuSign将信封状态的轮询限制为每15分钟或更少一次。
使用webhook时,DocuSign会通过您提供的URL使用通知XML消息调用您的应用程序。