Documentos

Leitura de faturamento da empresa

Lê o demonstrativo de faturamento enviado (PDF ou imagem) e devolve os valores mês a mês.

OCRtempo real
POST/api/v1/oracle/document/revenue

Sobre esta API

Lê o demonstrativo de faturamento enviado pela empresa e extrai razão social, CNPJ, período e o valor de cada mês.

Envie o PDF ou a imagem em file. Em PDF, até 12 páginas são lidas e os meses voltam numa lista só, em número decimal e sem símbolo de moeda.

É leitura do documento enviado: não consulta a Receita nem confere os valores com outra fonte.

Tecnologia

OCR com visão computacional · Atualização: tempo real

Requisição

POST /api/v1/oracle/document/revenue

Autenticação HTTP Basic: public_key:secret_key em Base64. Guarde a chave secreta no servidor.

CabeçalhoDescrição
Authorization
Obrigatório
Chave de API em Basic: public_key:secret_key em Base64.
X-Project-Id
Opcional
Projeto que recebe a chamada. Sem ele, vale o projeto padrão da conta.
Idempotency-Key
Opcional
Repetir a mesma chave em até 24 horas devolve a resposta anterior, sem executar nem cobrar de novo.

Parâmetros

CampoTipo e localDescrição
file
Obrigatório
filefilePDF ou imagem do demonstrativo de faturamento.
curl --request POST 'https://api.apifordevs.com/api/v1/oracle/document/revenue' \
  --user "afd_live_pk_...:$AFD_SECRET_KEY" \
  --header "X-Project-Id: $AFD_PROJECT_ID" \
  --form 'file=@./file.jpg'

Campos de resposta

Campos e tipos publicados no catálogo desta API.

Tipo de documentodocument_typestring
Arquivo enviadofilenamestring
Faturamento consolidadovalidation_resultobject
Parecer da validação. Em faturamento, os meses vêm consolidados.
Documento reconhecidovalidation_result.is_validboolean
Tipo de documentovalidation_result.document_kindstring
Razão socialvalidation_result.company_namestring
CNPJvalidation_result.cnpjstring
Períodovalidation_result.periodobject
Faturamento mensalvalidation_result.monthlyarray
Mêsvalidation_result.monthly[].monthstring
Valorvalidation_result.monthly[].amountnumber
Parecervalidation_result.descricaostring

Exemplo de resposta

{
  "success": true,
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": null,
  "data_count": 1,
  "data": [
    {
      "document_type": "FATURAMENTO_EMPRESA",
      "filename": "faturamento-2026.pdf",
      "validation_result": {
        "is_valid": true,
        "document_kind": "faturamento",
        "company_name": "COIN NODES LTDA",
        "cnpj": "49.670.293/0001-03",
        "period": {
          "start": "01/2026",
          "end": "03/2026"
        },
        "monthly": [
          {
            "month": "01/2026",
            "amount": 128400
          },
          {
            "month": "02/2026",
            "amount": 141250
          },
          {
            "month": "03/2026",
            "amount": 136900.5
          }
        ],
        "descricao": "Documento de faturamento com 3 meses identificados",
        "pages_analyzed": 2
      }
    }
  ]
}

Respostas e cobrança

HTTPDescriçãoCobrança
200Sucesso.Sujeita à cobrança
400

bad_request

live_key_cannot_use_dev_mode

Arquivo ou parâmetro que a rota não consegue processar, projeto inválido, ou dev_mode=true com chave de produção.Sem cobrança
401

unauthorized

Credencial ausente, inválida ou revogada.Sem cobrança
402

payment_required

Saldo insuficiente ou limite de gasto diário atingido.Sem cobrança
403

forbidden

ip_not_allowed

test_key_cannot_run_live

E-mail da conta não verificado, chave sem escopo para o serviço, IP fora da allowlist do projeto ou chave de teste sem dev_mode=true.Sem cobrança
409

conflict

Requisição com a mesma Idempotency-Key ainda em andamento.Sem cobrança
413

payload_too_large

Arquivo acima de 20 MB.Sem cobrança
422

validation_error

Parâmetro obrigatório ausente ou fora do formato, ou Idempotency-Key repetida com outro conteúdo.Sem cobrança
429

rate_limit_exceeded

Limite de requisições por minuto da chave atingido.Sem cobrança
500

internal_error

Falha interna.Sem cobrança
503

service_unavailable

Serviço desativado ou temporariamente indisponível.Sem cobrança

Casos de uso

Análise de crédito PJ

Transformar o demonstrativo enviado pelo cliente em série mensal para alimentar o modelo de limite.

Enquadramento de porte

Conferir a receita declarada contra o porte informado no cadastro.

SUA PRÓXIMA ENTREGA

Qual é a sua próxima integração?

Encontre a API que resolve o próximo passo do seu produto.