Как создать третью подпись для документа - PullRequest
0 голосов
/ 31 января 2019

В настоящее время у меня есть документ, который подписан двумя разными пользователями, затем мне нужно вернуться назад и получить третью подпись, однако, при хорошем вызове 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 голосов
/ 31 января 2019

Если конверт достиг состояния completed, дальнейшие изменения не допускаются.

Если вы хотите изменить конверт в зависимости от того, что подписчик делает или не делает, тогда вам нужно

  1. прекратить дальнейшую обработку после того, как тот, кто подписал
  2. сделает ваши обновления (добавит получателей, установит значения вкладок и т. Д.)
  3. возобновит обработку

Вы можете остановить обработку, включив фиктивного получателя подписи.Поддельная встроенная подпись может использоваться, если вы отправляете конверт программно.Если вы отправляете конверт из шаблона или NDSE, вы можете использовать сертифицированного получателя копии с электронным письмом, которое будет черной дырой.(Электронное письмо, которое автоматически отвечает, может позволить конверту продолжить маршрутизацию.)

Возобновить обработку, удалив фиктивного получателя.

Выполнение обновлений

  1. Вызов EnvelopeLocks :: create
  2. Используйте lockToken ответа в ваших последующих вызовах, которые изменяют конверт.Сделайте это, добавив заголовок X-DocuSign-Edit к последующим вызовам API.
  3. Когда вы закончите делать обновления, удалите поддельного получателя.
  4. И удалите блокировку с помощью EnvelopeLocks :: delete

Пример:

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
        })}
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...