A mesma API que move o dashboard.
Tudo o que aparece no painel vem destes endpoints — não há camada especial. Autenticação JWT, respostas JSON com paginação, filtros por subsistema, fonte e período. Rode a sua base inteira de prospects pelo simulador, por código.
Três regras, sem letra miúda
JWT via login
Faça POST /api/v1/auth/login com e-mail e senha e receba um token JWT, válido por 24 horas (configurável). Envie-o em Authorization: Bearer em todas as chamadas. Só os endpoints de health dispensam token.
JSON paginado
Endpoints de listagem aceitam page e per_page (máximo 100 registros por página) e filtros por subsistema, fonte, concessionária e janela de datas conforme o recurso.
120 req/min por IP
Acima de 120 requisições por minuto por endereço IP a API responde HTTP 429. Precisa de mais? Os planos Pro e Enterprise preveem volume maior, combinado em contrato.
Login, token, primeira consulta
O fluxo completo em três comandos — exatamente como está na documentação do repositório.
# 1. Login: troque e-mail e senha por um token JWT $ TOKEN=$(curl -s -X POST https://api.centelha.tech/api/v1/auth/login \ -H 'Content-Type: application/json' \ -d '{"email":"voce@empresa.com","password":"SUA_SENHA"}' \ | jq -r '.token') # 2. Requisição autenticada: estatísticas de PLD do Sudeste/Centro-Oeste $ curl -s "https://api.centelha.tech/api/v1/prices/pld/summary?subsystem=SE" \ -H "Authorization: Bearer $TOKEN" # 3. Quem sou eu? (valida o token) $ curl -s https://api.centelha.tech/api/v1/auth/me \ -H "Authorization: Bearer $TOKEN"
Endpoints disponíveis
Base: https://api.centelha.tech. Salvo indicação, todos exigem o header Authorization: Bearer.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /api/v1/auth/login | Login (e-mail + senha), retorna JWT — sem auth |
| GET | /api/v1/auth/me | Usuário autenticado atual |
| GET | /api/v1/health | Health check com ping ao banco — sem auth |
| GET | /api/v1/prices/pld | PLD por subsistema (subsystem, date_from, date_to) |
| GET | /api/v1/prices/pld/daily | Agregados diários de PLD |
| GET | /api/v1/prices/pld/weekly | Agregados semanais de PLD |
| GET | /api/v1/prices/pld/summary | Estatísticas de PLD: média, percentis, volatilidade |
| GET | /api/v1/generation | Geração do ONS por fonte e subsistema |
| GET | /api/v1/generation/daily | Agregados diários de geração |
| GET | /api/v1/reservoirs | Cadastro de reservatórios |
| GET | /api/v1/reservoirs/levels | Níveis (reservoir_id, subsystem, janela de datas) |
| GET | /api/v1/concessions | Concessões de distribuição |
| GET | /api/v1/concessions/:id | Detalhe de uma concessão |
| GET | /api/v1/concessions/:id/health | Score de saúde da concessão (DEC/FEC, pressão de GD) |
| GET | /api/v1/tariffs/:concession_id | Tarifas (consumer_class, subgroup) |
| GET | /api/v1/tariffs/compare | Comparação tarifária (concession_ids=1,2,3, consumer_class) |
| GET | /api/v1/dg/municipalities | Inteligência de GD por município |
| GET | /api/v1/dg/municipalities/:id | Inteligência de GD de um município |
| GET | /api/v1/dg/opportunities | Maiores oportunidades de mercado de GD |
| GET | /api/v1/dg/payback | Payback solar (municipality_id, system_size_kwp, opcionais consumer_class, cost_per_wp) |
| GET | /api/v1/migration/calculate | Migração ACL (demand_kw, consumption_kwh, concession_id, opcionais voltage_level, migration_fee_brl, management_monthly_brl) |
| GET | /api/v1/plants | Usinas SIGA (fuel_type, status, municipality_id) |
Simulação em escala, não conta a conta
O mesmo simulador da tela do dashboard responde por API. Uma comercializadora roda a carteira inteira de prospects pelo /api/v1/migration/calculate e ranqueia por economia anual; um integrador chama o /api/v1/dg/payback com o município e a potência de cada proposta — com a tarifa local homologada, não com média nacional.
A resposta ao lado é ilustrativa no formato real do endpoint. Os valores dependem do município, da tarifa vigente e das premissas informadas.
$ curl -s -H "Authorization: Bearer $TOKEN" \ "https://api.centelha.tech/api/v1/dg/payback?municipality_id=3550308&system_size_kwp=5" { "system_cost_brl": 14000.0, "annual_generation_kwh": 7000.0, "simple_payback_years": 4.9, "irr": 0.19, "tusd_fio_b_annual_cost": 735.0, "fio_b_rs_per_kwh": 0.25, "self_consumption_share": 0.3, "availability_cost_annual_brl": 840.0, "total_25yr_savings": 61584.0 }
Quer um token para testar contra a fonte oficial?
No piloto de 30 dias você recebe credenciais de API e dashboard e pode auditar cada série e cada cálculo.