如何确认 Docusign Connect 事件

How to acknowledge a Docusign Connect event

我正在使用 Docusign Connect 并愉快地接收事件。最近,我在查看文档时注意到了 requireAcknowledgement 标志,我正试图以混合成功的方式实现它。通常,当我收到一个连接事件时,我 return 一个空的 body 200。但是在翻转该标志后,事件将进入连接失败日志,并显示错误消息:"error": "https://scrubbed/ :: Error - Envelope Id returned does not match, returned data: 200 OK"

因此,按照诊断顺序:

这是我的连接配置:

{
  "connectId": "xxx",
  "urlToPublishTo": "https://{snip}/",
  "name": "POST everything to test webhook",
  "allowEnvelopePublish": "true",
  "enableLog": "true",
  "includeDocuments": "false",
  "includeCertificateOfCompletion": "false",
  "requiresAcknowledgement": "true",
  "signMessageWithX509Certificate": "true",
  "useSoapInterface": "false",
  "includeTimeZoneInformation": "true",
  "includeEnvelopeVoidReason": "false",
  "includeSenderAccountasCustomField": "true",
  "envelopeEvents": "Sent,Delivered,Signed,Completed,Declined,Voided",
  "recipientEvents": "Sent,Delivered,Completed,Declined",
  "soapNamespace": "",
  "allUsers": "true",
  "includeCertSoapHeader": "false"
}

感谢您的帮助!

DocuSign SDK 有一个很好的示例说明应该如何返回响应,这就是我在 Connect Listener 的基础上使用的示例并取得了巨大的成功(使用 .NET 版本)。

IIRC envelopeId 不是标准连接事件的要求,仅适用于您已设置为 false 的 useSoapInterface


取自 SDK 的示例代码

.ASPX Page

<form id="form1" runat="server">
<div>
    <asp:Label ID="statusLabel" runat="server" Text="Label"></asp:Label>
</div>
</form>

.ASPX.CS Page

this.statusLabel.Text = "All is well. Wrote " + envelopeInfo.DocumentPDFs.Length + " documents";

DocuSign SDK - .NET Connect Code

在浏览连接日志时发现了这个。 Docusign 有自己的连接配置,这是他们作为确认发回的响应(给他们自己)。可能还有一个普通的 xml 版本,但我不知道。

注意:这通常不是必需的,只有在您使用 requireAcknowledgement 标志时才需要。关键是要向 Docusign 证明您不仅获得了数据,而且能够解析它并获得一些值。因此,如果您担心损坏或您的服务器因某种原因出现故障,它会很有帮助。

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <soap:response>
      <EnvelopeID>xxxx-xxxx-xxxx-xxxx</EnvelopeID>
    </soap:response>
  </soap:Body>
</soap:Envelope>