Operações
Download de documento em Base64
Baixa um documento individual já assinado, com conteúdo Base64 dentro de um JSON.
Alternativa ao download em ZIP quando você precisa de um documento específico e prefere receber o conteúdo direto no JSON da resposta (em vez de stream binário).
Quando usar
- Sua infraestrutura prefere lidar com JSON do que com binário
- Você quer só um dos vários documentos da operação
- Está consumindo de um ambiente sem acesso a sistema de arquivos (ex: Lambda serverless que repassa o documento adiante)
- Vai re-encaminhar o PDF por API para outro sistema (assinatura digital em cascata, por exemplo)
Endpoint
Authorization
ApiKey X-Api-Key<token>
Token de integracao. Envie no header X-Api-Key.
In: header
Path Parameters
operationId*integer
Format
int64documentId*integer
Format
int64Header Parameters
Response Body
curl -X GET "https://example.com/api/v2/operations/0/documents/0/download-base64"{
"data": {
"fileName": "string",
"contentType": "string",
"base64Content": "string"
}
}Parâmetros
| Local | Campo | Tipo | Descrição |
|---|---|---|---|
| Path | operationId | long | ID da operação — o campo id retornado na criação. É o mesmo número usado em todos os endpoints da operação. |
| Path | documentId | long | ID do documento específico dentro da operação. Não é o identificador retornado pelo upload — esse vira o files[].id na criação. Para obter o documentId correto, consulte a operação. |
Resposta
HTTP/1.1 200 OK
Content-Type: application/json{
"data": {
"fileName": "contrato.pdf",
"contentType": "application/pdf",
"base64Content": "JVBERi0xLjQKJeLjz9MKMyAwIG9iag..."
}
}| Campo | Tipo | Descrição |
|---|---|---|
data.fileName | string | Nome original do arquivo enviado no upload. |
data.contentType | string | Sempre application/pdf (o documento é retornado já consolidado em PDF). |
data.base64Content | string | Conteúdo do PDF codificado em Base64 (sem o prefixo data:). |
O campo de conteúdo se chama base64Content, não content. É um detalhe
do contrato — confirme o nome no seu parser.
Reconstituindo o PDF (Node.js)
import { writeFile } from 'node:fs/promises';
const res = await fetch(
`https://api.forsign.digital/api/v2/operations/${operationId}/documents/${documentId}/download-base64`,
{ headers: { 'X-Api-Key': process.env.FORSIGN_API_KEY } }
);
const { data } = await res.json();
await writeFile(data.fileName, Buffer.from(data.base64Content, 'base64'));Erros comuns
| HTTP | Quando acontece |
|---|---|
401 | API key ausente ou inválida. |
403 | Sua API key não tem permissão para acessar esta operação. |
404 | operationId não existe na sua conta (ou você não tem acesso a ela). |
404 | documentId não pertence à operação informada. |
Observações
- Base64 infla o tamanho em ~33%. Pra documentos grandes (>5MB), prefira o download em ZIP.
- Funciona em operações finalizadas (PDFs já assinados) e também em operações ainda ativas — nesse caso, retorna o documento no estado atual.
Veja também
- Download em ZIP — todos os documentos + anexos + CSV de formulários
- Dados de formulário — respostas estruturadas dos assinantes
- Upload de documento — onde o documento entrou no fluxo