DocuSign API - 重置/解锁RecipientAuthenticationStatus

时间:2018-01-16 00:44:07

标签: docusignapi

我使用DocuSign API以电子方式签署我的应用中的文档。我使用访问代码验证功能,以获得额外的安全性;但是,我正试图解开'签名者(通过API)多次输入错误的访问代码,没有空白和创建新信封,或使用DocuSign Admin界面。

如果我必须重新发送初始电子邮件,我不在乎,我只是希望能够保存我客户的总信封数量。如果他们在signer2的身份验证错误之前完成签名,那么我不会强迫一个签名者必须多次签名,这也很重要(如果有多个签名者)。

我尝试过POST:

 /v2/accounts/{accountId}/envelopes/{envelopeId}?resend_envelope=true

我还使用docusign-java-client寻求解决方案:

Recipients recipients = envelopesApi.listRecipients(accountId, envelopeId);
List<Signer> signers = recipients.getSigners(); 

for (Signer signer : signers) {
    signer.setRecipientAuthenticationStatus(null);  
}

我仍然得到以下回复

"recipientAuthenticationStatus": {
    "accessCodeResult": {
      "status": "Failed",
      "eventTimestamp": "2018-01-15T23:49:15.8600000Z"
 }

我能够&#34;重新发送&#34;通过DocuSign管理GUI,一切都按预期工作......

我有什么方法能够重置/解锁&#34;这个身份验证功能以编程方式,通过API?

3 个答案:

答案 0 :(得分:0)

我认为您需要删除然后重新添加收件人(签名者)。这使签名者成为新的接收者。

但是,这样做意味着您需要重新创建有关签名者的所有内容:他们的文档标签/字段等。

我无法想象简单地取消/重新发送信封比花费开发人员花时间处理这个问题要便宜。

如果这种情况发生了很多,那么可以考虑为使用访问代码功能的签名者提供更好的培训。

答案 1 :(得分:0)

您可以使用以下PUT端点

PUT /restapi/v2/accounts/<accountId>/envelopes/<envelopeId>?resend_envelope=true

身体:

{
}

这应该向未通过身份验证的签名者发送另一封电子邮件,该用户将再次获得输入访问代码的选项。

答案 2 :(得分:0)

根据找到的文档here

我必须在请求中包含json或xml(如果身份验证方法失败)。我错误地认为,如果只有一个收件人,那么我就不必指定了。如果您只想重新发送信封,则不需要包含和签名数据。

如:

{"signers" :
    [{"email":"testEmail@gmail.com",
      "name":"FirstName LastName",
      "recipientId":"1"
     }]
 }

然后你应该得到类似下面的回复:

{"recipientUpdateResults": 
   [{
      "recipientId": "1",
      "errorDetails": 
       {
         "errorCode": "SUCCESS",
         "message": ""
       }
   }]
 }