Operações
Download de todos os arquivos (ZIP)
Baixa documentos assinados, anexos enviados e respostas de formulário (CSV) em um ZIP único.
Endpoint GET autenticado que devolve, em um único ZIP, tudo que a operação produziu: PDFs assinados, anexos enviados pelos assinantes e as respostas de formulário em CSV. Use isso pra arquivar a operação no seu storage interno depois que ela é concluída.
O que vem dentro do ZIP
PDFs assinados Um por documento da operação, com o nome original. O relatório de auditoria entra como um item adicional.
Anexos dos assinantes Arquivos solicitados via
attachments[] na criação (RG, comprovante, selfie...). Aparecem com o nome original que o assinante enviou.CSV de formulários Arquivo
dados-de-formulario-{operationId}.csv com uma linha por campo preenchido (assinante, nome do campo, valor).Trilha de auditoria PDF com quem assinou, quando, IP, código de validação — incluído como documento adicional.
Endpoint
Authorization
ApiKey X-Api-Key<token>
Token de integracao. Envie no header X-Api-Key.
In: header
Path Parameters
operationId*integer
Format
int64Header Parameters
Response Body
curl -X GET "https://example.com/api/v2/operations/0/files/download/authenticated"Empty
Parâmetros
| Local | Campo | Tipo | Descrição |
|---|---|---|---|
| Path | operationId | long | ID da operação — o campo id retornado por Criar operação. É o mesmo número usado em todos os endpoints da operação. Vem na resposta da criação e em todos os webhooks. |
Resposta
Stream binário com o ZIP. Os headers indicam o nome do arquivo:
HTTP/1.1 200 OK
Content-Type: application/zip
Content-Disposition: attachment; filename="Arquivos_ForSign_{operationId}.zip"Consumindo (Node.js)
import { writeFile } from 'node:fs/promises';
const res = await fetch(
`https://api.forsign.digital/api/v2/operations/${operationId}/files/download/authenticated`,
{ headers: { 'X-Api-Key': apiKey } }
);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const buffer = Buffer.from(await res.arrayBuffer());
await writeFile(`operacao-${operationId}.zip`, buffer);Quando chamar
- Após receber o webhook
DocumentReady— modo mais confiável (PDFs já selados) - Após chamar completar — quando você está em modo manual
- A qualquer momento depois de uma operação finalizada (idempotente, pode chamar de novo)
Se algum arquivo da operação estiver vazio ou corrompido, a chamada retorna 400. Não use este endpoint para "verificar se já assinaram" — para isso, use os webhooks ou consulte a operação.
Erros comuns
| Status | Causa | Como resolver |
|---|---|---|
400 | Um dos arquivos da operação (documento ou anexo) está vazio ou corrompido | Espere o PDF final estar pronto (webhook DocumentReady) antes de baixar. |
401 | API key ausente ou inválida | Confira o header X-Api-Key. |
403 | Sua API key não tem permissão para visualizar arquivos de operações | Verifique as permissões da chave. |
404 | Operação não encontrada na sua conta, ou sua chave não tem acesso a ela | Confira o id retornado na criação e o acesso da chave à operação. |
Observações
- Use Download Base64 se precisa de um único documento em vez do ZIP completo.
- Arquivos ficam disponíveis indefinidamente (sem expiração).
- Operações com muitos anexos pesados podem demorar mais para responder. Paralelize requisições somente quando forem para operações diferentes.
Veja também
- Download Base64 — documento individual em JSON
- Dados de formulário — respostas estruturadas (JSON, em vez do CSV do ZIP)
- Webhooks — gatilho ideal para chamar esse endpoint
- Completar operação — pré-requisito quando a operação está em modo manual