Ciclo de vida do documento
Além de criar e acompanhar, você pode fazer operações ao longo da vida do documento: cancelar, recusar, pausar e retomar, enviar uma nova versão, excluir e restaurar.
Cancelar documento
Para cancelar um documento, envie o ID do documento em uma requisição POST junto ao campo reason:
POST /api/documents/b12cb1b2-5d6e-40b2-a050-097d068c4c11/cancellation
{
"reason": "This is a document cancellation"
}
Exemplos no GitHub: C# · Java · PHP · Node.js
Recusar documento
Para recusar um documento, envie o ID do documento em uma requisição POST junto ao campo reason:
POST /api/documents/b12cb1b2-5d6e-40b2-a050-097d068c4c11/refusal
{
"reason": "This is a document refusal"
}
Exemplos no GitHub: C# · Java · PHP · Node.js
Pausar e retomar um documento
Disponível a partir da versão 3.0.0. A pausa suspende o fluxo de um documento em andamento. Enquanto o documento está pausado, ninguém consegue assinar, aprovar nem recusar. As assinaturas e aprovações já feitas continuam no documento.
Para pausar, envie um POST com o motivo no campo reason. O motivo é opcional e aceita até 500 caracteres:
POST /api/documents/b12cb1b2-5d6e-40b2-a050-097d068c4c11/pause
{
"reason": "Aguardando revisão do jurídico"
}
Para retomar, envie um POST sem corpo. O documento volta ao status Pending e o fluxo continua do ponto em que parou:
POST /api/documents/b12cb1b2-5d6e-40b2-a050-097d068c4c11/resume
Quem pode pausar
As mesmas pessoas podem pausar e retomar:
- O criador do documento, inclusive a aplicação que criou o documento pela API.
- Os administradores e gerentes da organização.
- Os administradores e gerentes da pasta do documento. Um operador da pasta pode pausar só os documentos que ele criou.
- Os administradores do sistema.
Sem essa permissão, a API responde 403.
O que acontece enquanto o documento está pausado
- O documento tem o status
Paused. Trate esse status como um documento em andamento, igual aPending. Veja Status do documento. - Os participantes cuja ação já foi liberada recebem um e-mail quando o documento é pausado, com o motivo, e outro quando ele é retomado.
- O participante que abre o link vê o documento, mas não consegue assinar, aprovar nem recusar.
- O Signer não envia lembretes, e o documento não expira. Se o prazo de expiração já passou quando você retoma o documento, ele expira na mesma hora.
- O Signer envia os webhooks
DocumentPausedeDocumentResumed. - Você pode cancelar o documento. As outras operações falham com um erro
422: editar o fluxo, editar as informações, enviar uma nova versão, reiniciar o fluxo, remover uma assinatura, enviar arquivos, editar os e-mails notificados, enviar lembretes e gerar um link de compartilhamento. Os códigos de erro começam comCannote terminam comPausedDocument, por exemploCannotSignPausedDocumenteCannotEditPausedDocumentFlow.
Erros da pausa
| Código | Quando |
|---|---|
DocumentPauseDisabled | A instância desligou a pausa, com a configuração General:EnableDocumentPause (veja Configurações do Signer). |
DocumentAlreadyPaused | O documento já está pausado. |
CannotPauseConcludedDocument, CannotPauseFlowConcludedDocument | O documento já foi concluído, ou todas as ações do fluxo já foram feitas. |
CannotPauseCanceledDocument, CannotPauseRefusedDocument, CannotPauseExpiredDocument | O documento foi cancelado, recusado ou expirou. |
DocumentNotPaused | Você pediu para retomar um documento que não está pausado. |
Enviar nova versão do documento
É possível enviar uma nova versão de um documento já criado. Para isso, envie o ID do documento em uma requisição POST junto ao arquivo da nova versão.
Ao enviar uma nova versão, o fluxo de assinaturas é reiniciado.
Exemplos no GitHub: C# · Java · PHP · Node.js
Deletar documento
Para deletar um documento, você precisa do ID dele e faz uma chamada do tipo DELETE:
DELETE /api/documents/b12cb1b2-5d6e-40b2-a050-097d068c4c11
Exemplos no GitHub: C# · Java · PHP · Node.js
Restaurar um documento excluído
A interface web não restaura documentos excluídos, mas a API restaura. Só uma chave de API com o papel de administrador do sistema pode chamar as APIs desta seção. Para ter essa chave, crie a aplicação na organização Sys Admin, como mostram as APIs de administração.
Envie os IDs dos documentos no campo ids:
POST /api/documents/restore
{
"ids": [ "b12cb1b2-5d6e-40b2-a050-097d068c4c11" ]
}
A resposta é o ID de um job em segundo plano. O job restaura cada documento com o status que ele tinha antes da exclusão e ignora os documentos que não estão excluídos.
Para devolver ao fluxo um documento cancelado ou expirado, use POST /api/documents/restore-status. O corpo tem os campos ids e removeExpirationDateForExpiredDocs. O Signer recalcula o status de cada documento, com uma exceção para o prazo de expiração vencido:
- Se
removeExpirationDateForExpiredDocséfalse, o documento com o prazo vencido continuaExpired. - Se
removeExpirationDateForExpiredDocsétrue, o Signer remove o prazo de expiração e recalcula o status.
O job ignora os documentos que não estão cancelados nem expirados. A resposta também é o ID do job.