Integração BPO — Exemplos (substitua BASE e TOKEN; em XAMPP local BASE pode ser http://localhost/sistema)

Resposta padrão JSON: { "status": "success", "data": [ ... ], "total": N }

Contrato financeiro (campos estáveis para o BPO Aurion):
- contas-pagar / contas-receber: source_id, description, document, issue_date, due_date, paid_at,
  amount, interest_amount, fine_amount, status (open|paid|cancelled),
  chart_account_code, cost_center_code, bank_account_name, party_name
- fluxo-caixa (alias de /movimentacoes): source_id, movement_date, issue_date, type (in|out),
  description, amount, interest_amount, fine_amount, chart_account_code, cost_center_code
- plano-contas: source_id, code, name, parent_code, type (receita|despesa|ativo|passivo), is_active
- centro-custos: source_id, code, name, parent_code, is_active

Filtros comuns (query string):
- page, limit (paginação; limite máximo 500)
- data_inicio, data_fim (conforme entidade: vencimento, data de movimento, emissão, etc.)
- status (quando existir coluna)
- atualizado_em (sincronização incremental: retorna registros com updated_at >= data/hora)
- empresa_id (filial, empresas.id; restringe contas a pagar/receber e notas; opcional)
- include_xml_base64=1 (apenas GET /api/v1/notas; inclui XML em base64 se o ficheiro existir no servidor)

1) Clientes
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/clientes?page=1&limit=50"

2) Fornecedores
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/fornecedores?atualizado_em=2026-01-01%2000:00:00"

3) Contas a receber (filial)
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/contas-receber?empresa_id=1&data_inicio=2026-01-01&data_fim=2026-12-31"

4) Contas a pagar
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/contas-pagar?page=1&limit=100"

5) Fluxo de caixa (movimentações)
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/fluxo-caixa?data_inicio=2026-01-01&data_fim=2026-01-31"
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/movimentacoes?data_inicio=2026-01-01&data_fim=2026-01-31"

6) Plano de contas
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/plano-contas?limit=200"

7) Centros de custo
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/centro-custos"

8) Notas fiscais (vendas)
curl -s -H "Authorization: Bearer TOKEN" "BASE/api/v1/notas?include_xml_base64=0"

9) Download CSV (sessão no browser, não Bearer)
- GET BASE/fluxo-caixa/integracao-bpo/csv/pagar?empresa_id=1&data_inicio=2026-01-01&data_fim=2026-12-31
- GET BASE/fluxo-caixa/integracao-bpo/csv/receber?...

HTTP 401: token em falta ou inválido.
HTTP 400: empresa_id inválido para o token.

Tabelas SQL: ver bloco "Integracao BPO" em database/schema.sql.
