我使用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?
答案 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": ""
}
}]
}