1

我们与 Docusign 的集成设置为接收每个信封的 Docusign 事件通知,如下所示:

new EventNotification()
        {
            Url = callbackUrl,
            UseSoapInterface = "false",
            IncludeEnvelopeVoidReason = "true",
            IncludeTimeZone = "true",
            SignMessageWithX509Cert = "true",
            RequireAcknowledgment = "true",
            EnvelopeEvents = new List<EnvelopeEvent>,             
            RecipientEvents = new List<RecipientEvent>
            {
                new RecipientEvent{ RecipientEventStatusCode = "Completed"},
                new RecipientEvent{ RecipientEventStatusCode = "Declined"}
            }
        };

在签名者签名时收到通知后,我们使用 DocuSign C# 客户端从 DocuSign 下载文档,如下所示

        var envApi = new EnvelopesApi(config);
        var documentContent = await envApi.GetDocumentAsync(account.AccountId, envelopeId, "combined");

在许多情况下,我们间歇性地得不到包含最后一个签名者签名的最终文档。

您是否必须收听其他活动才能下载最新版本?

4

2 回答 2

2

这是我们 (DocuSign) 正在努力解决的已知问题。Envelope Complete当前,在发送通知和最终完成信封处理之间存在竞争条件。

在问题解决之前,您的软件可能会在收到通知后等待一分钟(或者如果您想保守一点,则等待 2 分钟),然后再发出文档下载请求。

当我从 DocuSign Engineering 收到更多信息时,我会更新这个答案。

于 2021-10-18T16:52:31.997 回答
2

信封完整和收件人完整之间存在差异。您正在听收件人,而不是信封。在最后一个收件人完成后,整个信封仍需要一段时间才能完成。如果您收听信封完成,您可能能够解决此问题。然而,拉里指出,该赛事可能还有另一种比赛条件。我仍然建议您尝试一下,但是这样做:

new EventNotification()
        {
            Url = callbackUrl,
            UseSoapInterface = "false",
            IncludeEnvelopeVoidReason = "true",
            IncludeTimeZone = "true",
            SignMessageWithX509Cert = "true",
            RequireAcknowledgment = "true",
            EnvelopeEvents = new List<EnvelopeEvent> { EnvelopeEventStatusCode = "completed", IncludeDocuments = "true" }),              
            RecipientEvents = new List<RecipientEvent>
            {
                new RecipientEvent{ RecipientEventStatusCode = "Completed"},
                new RecipientEvent{ RecipientEventStatusCode = "Declined"}
            }
        };
于 2021-10-18T19:03:56.043 回答