Esta página faz parte de Integrações: conectar seu sistema ao Sonarview Sign (API). Comece por lá se ainda não criou a sua chave.
Mandar apagar um documento pela API (ordem de destruição)
A contrapartida da regra acima: se o espaço do documento pesa no plano do seu aplicativo, é o seu aplicativo que decide quando ele deixa de ser guardado. A Assinatura Eletrônica não apaga documento de origem declarada sem uma ordem sua.
São três operações no mesmo endereço, /v1/sign/{requestId}/destroy:
| Operação | O que faz |
|---|---|
GET | Simula. Responde exatamente o que o POST responderia neste instante, e não escreve nada. Use antes de mandar. Como ele roda as mesmas travas, fora do horário comercial ele responde wouldDestroy: false com pendingReason: "fora_da_janela". Isso é a resposta certa, e não um impedimento novo. |
POST | Ordena. Registra a ordem. Uma chamada basta. |
DELETE | Revoga a ordem enquanto ela não foi cumprida. Não havia ordem? Não é erro. |
Ordenar não é destruir. O POST quase nunca apaga na hora, e isso é o desenho, não uma falha. A resposta normal da primeira chamada é 200 com destroyed: false e um pendingReason dizendo qual trava segurou.
Por que a destruição leva 3 dias úteis
Porque um arquivo destruído não volta, e 3 dias úteis é o tempo que você tem para mudar de ideia. A contagem começa na hora em que a sua ordem é gravada, não quando um aviso sai, não quando alguém o lê. A ordem já é o aviso: foi o seu sistema que a mandou, com data e autoria registradas.
A sequência que o seu sistema vai ver é aguardando_carencia → destruído. Passados os 3 dias úteis, os bytes morrem na primeira varredura dentro do horário comercial (seg–sex, 9h–18h de São Paulo).
Em paralelo, e sem segurar nada, sai um aviso pelo seu webhook (ou por e-mail, quando o documento tem dono de conta). Se o aviso não for entregue, a destruição acontece mesmo assim: ela depende da sua ordem, e não da chegada do aviso.
Não repita a ordem em laço e não trate destroyed: false como erro. A ordem ficou gravada; a varredura noturna termina o serviço quando a trava cair. Para acompanhar, use o GET.
Outras travas podem segurar o arquivo além do aviso, e a resposta nomeia cada uma: espaço de guarda contratado pela organização, guarda paga daquele envelope, laudo ou hash ainda não congelados, ou a ordem estar fora da janela útil (seg–sex, 9h–18h de São Paulo).
O que sobrevive à destruição
Destruir não é apagar o registro. Some o PDF; ficam a linha do documento, o status, o hash e a prova da assinatura. Em documento assinado a resposta traz proofKept: true, e depois disso:
-
o
GET /v1/status/{requestId}continua respondendo; -
o código de verificação continua abrindo o laudo no verificador público, sem login e sem prazo;
-
o que não volta é o conteúdo do arquivo. Isso é irreversível.
Quem pode ordenar
Esta é a única operação irreversível da API, e a autorização dela é mais apertada que a das demais: exige uma credencial de máquina amarrada à organização de origem, e ela tem de ser a mesma organização do documento. Uma credencial que vale para a conta inteira leva 403, ainda que seja da conta certa.
Repetir a ordem não regrava autoria nem data: a primeira é a que conta. Sobre um documento que já não tem arquivo, a resposta é 200 com alreadyDestroyed: true. Depois que o arquivo for destruído, o DELETE responde 409: os 3 dias úteis contados da ordem são exatamente o tempo que você tem para voltar atrás. Revogar também zera a contagem: uma ordem nova começa os 3 dias do zero.
Os formatos de resposta, os códigos de erro e os exemplos prontos estão no Manual de Integração.