如何为文档创建第三个签名

时间:2019-01-31 10:00:44

标签: c# docusignapi

我目前有一个文档,该文档由两个不同的用户签名,然后我需要回过头来获得第三个签名,但是在调用API创建选项卡的过程中,出现以下错误:

Error calling CreateTabs: {
"errorCode": "INVALID_TAB_OPERATION",
"message": "The Tab specified is not valid for the requested operation. 
Recipient not in state that allows correction."
}

我假设这意味着信封已被关闭或无法再进行编辑?我该如何改变呢?

1 个答案:

答案 0 :(得分:0)

如果信封已达到completed状态,则不允许进行进一步更改。

如果要根据签名者的行为更改信封,则需要

  1. 在签署人之后停止进一步处理
  2. 进行更新(添加收件人,设置标签值等)
  3. 继续处理

您可以通过包含虚拟签名接收方来停止处理。如果您以编程方式发送信封,则可以使用伪造的嵌入式签名者。如果要从模板或NDSE发送信封,则可以将认证的副本收件人与会出现黑洞的电子邮件一起使用。 (自动回复的电子邮件可能会使信封继续发送邮件。)

通过删除虚拟收件人来恢复处理。

进行更新

  1. 致电EnvelopeLocks::create
  2. 在随后的更改信封的呼叫中使用响应的lockToken。为此,请在随后的API调用中添加一个X-DocuSign-Edit标头。
  3. 完成更新后,删除伪造的收件人。
  4. 然后使用EnvelopeLocks::delete
  5. 删除锁

示例:

let lock_request = {
    lockDurationInSeconds: lock_duration,
    lockedByApp: "My app name",
    lockType: "edit"
}
let url = `${api_base_url}/accounts/${account_id}/envelopes/${envelope_id}/lock`;
return rp.post(url, {
    auth: {bearer: sender_access_token},
    body: lock_request,
    json: true
    })
})
.then((result) => {
  // Save the lock token and lock header
  lock_token = result.lockToken;
  lock_header = {'X-DocuSign-Edit': JSON.stringify({
        LockToken: lock_token,
        LockDurationInSeconds: lock_duration
        })}
})