如何确认Docusign Connect活动

时间:2015-02-26 01:47:21

标签: docusignapi

我正在与Docusign Connect合作并愉快地接收活动。最近我在查看文档并注意到requireAcknowledgement标志,并且我试图通过混合成功来实现它。通常,当我收到连接事件时,我会返回一个空体200。但在翻转该标志后,事件将落入Connect失败日志中,并显示错误消息:"error": "https://scrubbed/ :: Error - Envelope Id returned does not match, returned data: 200 OK"

所以,按照诊断顺序:

  • Docusign Connect通常工作正常,我收到事件并发回空200
  • 当我翻转requireAcknowledgement布尔值时,所有事件都会进入连接失败日志,并显示有关信封ID不匹配的错误。由于我不会在身体中发回信封ID,这似乎是正确的
  • 我无法找到有关如何在确认中指定信封ID的文档。这是标题吗?它身体是xml吗?是json吗?它只是遇到的第一个字符串吗?
  • 如果我关闭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"
}

感谢您提供任何帮助!

2 个答案:

答案 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


从SDK获取的示例代码

  

.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";

DocuSign SDK - .NET Connect Code