我正在与Docusign Connect合作并愉快地接收活动。最近我在查看文档并注意到requireAcknowledgement
标志,并且我试图通过混合成功来实现它。通常,当我收到连接事件时,我会返回一个空体200。但在翻转该标志后,事件将落入Connect失败日志中,并显示错误消息:"error": "https://scrubbed/ :: Error - Envelope Id returned does not match, returned data: 200 OK"
所以,按照诊断顺序:
requireAcknowledgement
布尔值时,所有事件都会进入连接失败日志,并显示有关信封ID不匹配的错误。由于我不会在身体中发回信封ID,这似乎是正确的requireAcknowledgement
,我可以再次获得状态更改而无需其他更改。这是我的Connect Config:
{
"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"
}
感谢您提供任何帮助!
答案 0 :(得分:5)
在浏览连接日志的同时找到了这个。 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>
答案 1 :(得分:1)
DocuSign SDK有一个很好的示例,说明应该如何返回响应,这就是我用于Connect Listener的基础并取得了巨大的成功(使用.NET版本)。
IIRC envelopeId
不是标准Connect事件的要求,仅适用于您设置为false的useSoapInterface
。
.ASPX Page
<form id="form1" runat="server"> <div> <asp:Label ID="statusLabel" runat="server" Text="Label"></asp:Label> </div> </form>
.ASPX.CS页面
this.statusLabel.Text = "All is well. Wrote " + envelopeInfo.DocumentPDFs.Length + " documents";