Saltar para o conteúdo

Programadores

Uma API de extração preparada para produção.

Carregue ficheiros, consulte o estado, receba webhooks assinados e leia campos normalizados com IDs de pedido, idempotência, tokens de teste e contrato OpenAPI.

Ciclo da API

Concebida para novas tentativas, processamento assíncrono e contexto de apoio claro.

Os carregamentos são assíncronos e idempotentes. Documentos concluídos devolvem campos; documentos bloqueados ou falhados devolvem contexto utilizável.

Carregamento
curl -X POST "https://www.exdata.app/api/v1/documents" \
  -H "Authorization: Bearer $EXDATA_API_TOKEN" \
  -H "Idempotency-Key: invoice-upload-001" \
  -F "file=@invoice.pdf" \
  -F "locale=en" \
  -F "custom_types[]=invoice"
Resultado
{
  "status": "completed",
  "mode": "live",
  "is_e_invoice": true,
  "extractions": {
    "type": {
      "value": "invoice",
      "candidates": ["invoice"]
    },
    "document_number": {
      "value": "RE-2026-1048",
      "candidates": ["RE-2026-1048"]
    },
    "sender_name": {
      "value": "Meyer Supply GmbH",
      "candidates": ["Meyer Supply"]
    },
    "recipient_name": {
      "value": "Northwind Operations Ltd.",
      "candidates": ["Northwind Operations"]
    },
    "payment_due_date": {
      "value": "2026-06-14",
      "candidates": ["14.06.2026"]
    },
    "net_amount": {
      "value": "1079.50",
      "candidates": ["1,079.50"]
    },
    "tax_breakdowns": {
      "value": [
        {
          "taxable_amount": "1079.50",
          "tax_amount": "205.10",
          "tax_rate": "19.00",
          "tax_collection_mechanism": "seller_collected"
        }
      ],
      "candidates": ["VAT 19% 205.10"]
    },
    "gross_amount": {
      "value": "1284.60",
      "candidates": ["EUR 1,284.60"]
    },
    "currency": {
      "value": "EUR",
      "candidates": ["EUR"]
    },
    "iban": {
      "value": "DE89370400440532013000",
      "candidates": ["DE89 3704 0044 0532 0130 00"]
    }
  },
  "latest_extraction_run": {
    "extraction_schema_version": "2026-08-28.1",
    "normalization_version": "base:2026-10-21.3"
  }
}

Percurso de integração

Desenvolva e teste a sua integração antes de consumir créditos de produção.

1

Crie um token de teste

Os tokens de teste usam os mesmos endpoints, validação, idempotência, webhooks e erros dos tokens de produção.

2

Carregue ficheiros representativos

Utilize PDF representativos, etiquetas próprias e o idioma correspondente a cada documento. As chaves de idempotência impedem que carregamentos repetidos criem duplicados.

3

Passe para tokens de produção

Mude depois de testar em segurança polling, webhooks, tratamento de erros e mapeamento para sistemas posteriores.

Após o lançamento

Os detalhes da integração estão visíveis quando importam.

Quando o processamento de um documento falha, é bloqueado ou produz um resultado inesperado, a integração dispõe de contexto legível por máquinas e de um caminho claro para consultar o documento no espaço de trabalho.

IDs de pedido
Cada resposta da API contém um ID que permite à equipa de apoio associar uma ocorrência comunicada ao pedido exato.
Cabeçalhos de webhook assinados
As entregas incluem cabeçalhos de evento, entrega, data/hora e assinatura que permitem ao destinatário verificá-las.
Erros legíveis por máquinas
Os erros incluem mensagem, código e ID do pedido para tratar corretamente novas tentativas e apoio.
Contrato OpenAPI
O contrato da API v1 é publicado e validado para manter SDK, integrações e documentação alinhados.
Limites e backoff
Os limites por token e conta protegem o serviço e dão às integrações um modelo claro de repetição.

Documentação

Comece pelo guia rápido e depois ligue polling ou webhooks.