API Documentação
Integre a verificação de selos digitais Veryfinner ao seu sistema. Endpoints públicos com autenticação opcional via API Key.
Verificar Selo por Código
Verifica a autenticidade e validade de um selo digital através do seu código unico. Retorna informações completas do selo, incluindo dados de blockchain.
GET /api/public/seal/verify/{sealCode}
Parâmetros
| Nome | Tipo | Local | Descrição |
|---|---|---|---|
sealCode |
String | Path | Código do selo. Formato: FNR-YYYY-XXXXXXXX |
X-Api-Key |
String | Header | Opcional. API Key do integrador para limites customizados. |
Response 200
{
"sealCode": "FNR-2026-A1B2C3D4",
"valid": true,
"signatureValid": true,
"documentType": "CCB",
"documentReference": "CCB-2026-001",
"sealLevel": "GOLD",
"issuedAt": "2026-03-15T10:30:00",
"expiresAt": null,
"organizationName": "Fundo Alpha FIDC",
"validatedFields": ["nome", "cpf", "valor", "data_emissao"],
"blockchainTxHash": "0xabc123...",
"blockchainNetwork": "Polygon PoS",
"merkleRoot": "sha256:def456..."
}
Exemplo cURL
# Acesso publico (sem API Key) curl -X GET \ https://finner-validator.ambitiousmoss-3a2f23b7.brazilsouth.azurecontainerapps.io/api/public/seal/verify/FNR-2026-A1B2C3D4 # Com API Key curl -X GET \ -H "X-Api-Key: your-api-key" \ https://finner-validator.ambitiousmoss-3a2f23b7.brazilsouth.azurecontainerapps.io/api/public/seal/verify/FNR-2026-A1B2C3D4
Verificar Selo por Arquivo
Verifica a autenticidade de um selo digital enviando o arquivo original. O hash do arquivo é comparado com o hash registrado no momento da certificação. O campo signatureValid reflete se o arquivo corresponde ao original.
POST /api/public/seal/verify/{sealCode}/file
Parâmetros
| Nome | Tipo | Local | Descrição |
|---|---|---|---|
sealCode |
String | Path | Código do selo. |
file |
File | Body (multipart) | Arquivo PDF, PNG ou JPG para verificação de hash. |
X-Api-Key |
String | Header | Opcional. API Key do integrador. |
Response 200
{
"sealCode": "FNR-2026-A1B2C3D4",
"valid": true,
"signatureValid": true,
"documentType": "CCB",
"documentReference": "CCB-2026-001",
"sealLevel": "GOLD",
"issuedAt": "2026-03-15T10:30:00",
"expiresAt": null,
"organizationName": "Fundo Alpha FIDC",
"validatedFields": ["nome", "cpf", "valor", "data_emissao"],
"blockchainTxHash": "0xabc123...",
"blockchainNetwork": "Polygon PoS",
"merkleRoot": "sha256:def456..."
}
Exemplo cURL
curl -X POST \ -H "X-Api-Key: your-api-key" \ -F "file=@documento.pdf" \ https://finner-validator.ambitiousmoss-3a2f23b7.brazilsouth.azurecontainerapps.io/api/public/seal/verify/FNR-2026-A1B2C3D4/file
Verificar Selo de Lote
Verifica a integridade de um lote de documentos certificados. Retorna a Merkle Root do lote e o total de documentos selados.
GET /api/public/seal/batch/verify/{batchSealCode}
Parâmetros
| Nome | Tipo | Local | Descrição |
|---|---|---|---|
batchSealCode |
String | Path | Código do lote. Formato: FNR-B-YYYY-XXXXXXXX |
X-Api-Key |
String | Header | Opcional. API Key do integrador. |
Response 200
{
"batchSealCode": "FNR-B-2026-X9Y8Z7",
"totalDocuments": 150,
"sealedDocuments": 150,
"merkleRoot": "sha256:abc789...",
"createdAt": "2026-03-15T14:00:00"
}
Exemplo cURL
curl -X GET \ https://finner-validator.ambitiousmoss-3a2f23b7.brazilsouth.azurecontainerapps.io/api/public/seal/batch/verify/FNR-B-2026-X9Y8Z7
Selo Embed (PNG)
Retorna a imagem do selo digital em formato PNG. Ideal para incorporar em documentos, e-mails ou páginas web como prova visual de certificação.
GET /api/public/seal/embed/{sealCode}.png
Parâmetros
| Nome | Tipo | Local | Descrição |
|---|---|---|---|
sealCode |
String | Path | Código do selo. |
Response 200
Content-Type: image/png Content-Disposition: inline [binary image data]
Exemplo de Uso (HTML)
<!-- Incorporar selo em uma página web --> <img src="https://finner-validator...azurecontainerapps.io/api/public/seal/embed/FNR-2026-A1B2C3D4.png" alt="Selo Veryfinner" width="180" />
Selo Embed (SVG)
Retorna a imagem do selo digital em formato SVG vetorial. Escala para qualquer tamanho sem perda de qualidade. Ideal para impressão e documentos de alta resolução.
GET /api/public/seal/embed/{sealCode}.svg
Parâmetros
| Nome | Tipo | Local | Descrição |
|---|---|---|---|
sealCode |
String | Path | Código do selo. |
Response 200
Content-Type: image/svg+xml Content-Disposition: inline [SVG markup]
Exemplo de Uso (HTML)
<!-- Incorporar selo vetorial --> <img src="https://finner-validator...azurecontainerapps.io/api/public/seal/embed/FNR-2026-A1B2C3D4.svg" alt="Selo Veryfinner" style="width: 180px; height: auto;" />
Autenticação
Todos os endpoints públicos podem ser acessados de duas formas:
Sem API Key. Rate limited por IP.
curl /api/public/seal/verify/FNR-...
Com API Key. Limites customizados.
curl -H "X-Api-Key: sk_live_..." \
/api/public/seal/verify/FNR-...
Base URLs
https://finner-validator.ambitiousmoss-3a2f23b7.brazilsouth.azurecontainerapps.io
Respostas de Erro
A API utiliza códigos de status HTTP padrão. Todas as respostas de erro seguem o mesmo formato:
{
"error": "seal_not_found",
"message": "Selo não encontrado para o código informado.",
"statusCode": 404
}
| Status | Código | Descrição |
|---|---|---|
404 |
seal_not_found | Selo não encontrado para o código informado. |
401 |
invalid_api_key | API Key inválida ou expirada. |
429 |
rate_limit_exceeded | Limite de requisições excedido. Tente novamente em breve. |
500 |
internal_error | Erro interno do servidor. Contate o suporte se persistir. |
Rate Limits
Limites de requisições são aplicados por janela de 1 minuto. Os headers de resposta informam o status atual.
Response Headers
| Header | Descrição |
|---|---|
X-RateLimit-Limit |
Numero maximo de requisicoes na janela atual. |
X-RateLimit-Remaining |
Requisicoes restantes na janela atual. |
X-RateLimit-Reset |
Timestamp Unix de quando a janela sera resetada. |