Energy ConflictIntelligence
Mapa executivo de energia, rotas e risco de commodities

Dashboard ao vivo com fallback inteligente

Os KPIs tentam buscar dados via API quando uma chave é configurada. Se a API falhar ou a chave estiver vazia, o painel usa dados mock realistas e continua funcionando.

Modo fallback ativo Atualizado localmente
Brent USD/bbl83,42↑ +1,85%
Gás Natural (TTF) EUR/MWh32,16↑ +2,34%
Índice Global de Conflito /10067Risco elevado
Disrupções Ativas14↓ -2 vs 7d
Custo Médio Logístico USD/t27,6↑ +3,21%
Utilização Global %72%↑ +4 p.p.
72
Legenda Rotas marítimas Gasodutos Rotas terrestres Hubs energéticos Risco alto Risco crítico
Rotterdam Hamburgo Trieste Suez Tbilisi Baku Djibouti Ras Tanura Kuwait Dammam Gwadar Mumbai

Fluxo por corredor logístico

Indicadores de rota

Risco por commodity

Sensibilidade R$/t × volume

Composição de custo USD/t

Decomposição de custos USD/t

Na fatura

Invisível / indireto

Ponto de equilíbrio

Utilização atual 72%Ponto de equilíbrio 68%Utilização máx. 100%

A utilização atual está acima do ponto de equilíbrio.

Ponto de cruzamento: Operação Própria × Rota Contratada

Ponto de interseção: 68%A partir desse nível, a operação própria tende a superar a rota contratada.
Widget interativo

Laboratório API × Fallback — variáveis de custo

Desligue a API, simule falha de CORS ou ajuste as variáveis para ver o fallback entrar em ação sem quebrar o dashboard.

Fonte ativa Fallback local API desligada pelo usuário
Custo na fatura37,00USD/t
Custo invisível4,80USD/t
Custo total41,80USD/t
Spread recomendado6,30USD/t

Fallback entrando em ação

Arquitetura híbrida para dados ao vivo

O código já possui um slot de configuração para API key. Você pode integrar serviços como Commodities-API, API Ninjas ou outro fornecedor de Brent, WTI e gás natural. Algumas APIs bloqueiam chamadas diretas no navegador por CORS; nesse caso, use um pequeno proxy em Cloudflare Workers, Vercel Functions ou servidor próprio.

// assets/app.js
const API_CONFIG = {
  provider: 'fallback', // 'commoditiesapi', 'apininjas' ou 'fallback'
  apiKey: '',
  useProxy: false,
  proxyUrl: ''
};