Docs
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

GET
/api/v2/operations/{operationId}/files/download/authenticated
X-Api-Key<token>

Token de integracao. Envie no header X-Api-Key.

In: header

Path Parameters

operationId*integer
Formatint64

Header Parameters

Response Body

curl -X GET "https://example.com/api/v2/operations/0/files/download/authenticated"
Empty

Parâmetros

LocalCampoTipoDescrição
PathoperationIdlongID 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

StatusCausaComo resolver
400Um dos arquivos da operação (documento ou anexo) está vazio ou corrompidoEspere o PDF final estar pronto (webhook DocumentReady) antes de baixar.
401API key ausente ou inválidaConfira o header X-Api-Key.
403Sua API key não tem permissão para visualizar arquivos de operaçõesVerifique as permissões da chave.
404Operação não encontrada na sua conta, ou sua chave não tem acesso a elaConfira 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

On this page