JedIN IS-U — Guia Completo da Plataforma de Utilities
JedIN IS-U -- Industry Solution for Utilities
Visao Geral
O JedIN IS-U e o modulo de gestao de concessionarias de energia eletrica da plataforma JedIN. Projetado como SaaS white-label, ele atende concessionarias brasileiras de energia oferecendo tres interfaces integradas: Portal do Cliente para autoatendimento, Backoffice Operacional para equipes internas, e Admin para configuracao da plataforma. O primeiro cliente configurado e a Cemig (Companhia Energetica de Minas Gerais).
O IS-U faz parte do ecossistema JedIN, que inclui tres produtos:
- JedIN Integration -- iPaaS enterprise com Flow Designer, Monitoring e Marketplace de conectores
- R2-CX -- Consultor autonomo com IA para SAP C4C, CPI, JedIN e EnergyHub
- JedIN IS-U (EnergyHub) -- SaaS para utilities (este produto)
A plataforma reutiliza infraestrutura compartilhada: autenticacao JWT, multi-tenancy com Row-Level Security (RLS), internacionalizacao (pt-BR, en-US, es), e o ecossistema de MCP servers para integracao com sistemas SAP.
1. Arquitetura da Plataforma
Stack Tecnologica
| Camada | Tecnologia | Detalhes |
|---|---|---|
| Frontend | Next.js 14 + React 18 + Tailwind CSS | App Router, 28+ paginas TSX |
| Backend | NestJS 10 + Prisma 5 | 33+ arquivos, JWT auth, multi-tenant |
| Banco de Dados | PostgreSQL 16 + RLS | 17 modelos Utility, isolamento por tenant_id |
| Cache | Redis 7 | Sessoes, filas BullMQ |
| MCP | Express (port 3360) | 34 tools para R2-CX |
| Integracoes | JedIN Flows + SAP V2 | 6 flows bidirecionais IS-U <-> SAP |
| Deploy | AWS EKS + CloudFront | Kaniko builds, ECR registry |
Diagrama de Arquitetura
+-----------------------+
| Subdomain Router |
| cemig.jedin.io |
| copel.jedin.io |
+-----------+-----------+
|
+----------------+----------------+
| | |
+------+------+ +-----+------+ +------+------+
| Portal | | Backoffice | | Admin |
| (Cliente) | | (Operador) | | (JedIN) |
| 11 paginas | | 8 paginas | | 4 paginas |
+------+------+ +-----+------+ +------+------+
| | |
+----------------+----------------+
|
+----------------+----------------+
| NestJS API (3001) |
| /api/v1/utilities/* |
| 11 controllers, 15 services |
+----------------+----------------+
|
+----------+-----------+-----------+----------+
| | | | |
+-----+----+ +--+---+ +-----+-----+ +--+---+ +----+-----+
| Prisma | | JWT | | Payment | | MCP | | JedIN |
| 17 models| | Auth | | Gateway | | ISU | | Flows |
| (PG+RLS) | | | | PIX/Bol. | | 34t | | 6 flows |
+----------+ +------+ +-----------+ +------+ +----------+
|
+----------+-----------+-----------+----------+
| | | | |
+-----+----+ +--+---+ +-----+-----+ +--+---+ +----+-----+
| SAP | | SAP | | SAP Sales | | SAP | | SAP BTP |
| S/4HANA | | C4C | | Cloud V2 | | Svc | | Adapter |
| (OData) | | (RPA)| | (REST) | | V2 | | (XSUAA) |
+----------+ +------+ +-----------+ +------+ +----------+
Multi-tenancy
Cada concessionaria opera como um tenant isolado. O isolamento e garantido em tres niveis:
- Banco de Dados: Todas as tabelas possuem coluna
tenant_idcom politica RLS (Row-Level Security) no PostgreSQL. Queries automaticamente filtram dados pelo tenant da sessao. - API: Middleware NestJS injeta
tenant_idem cada request via JWT. Nenhum endpoint acessa dados cross-tenant. - Frontend: Configuracao white-label (logo, cores, nome, dominio) armazenada na tabela
UtilityTenantConfige carregada dinamicamente.
Tres Camadas de Acesso
| Camada | Usuarios | Acesso |
|---|---|---|
| Portal do Cliente | Clientes finais (PF/PJ) | Autoatendimento via JWT utility-customer |
| Backoffice Operacional | Operadores da concessionaria | JWT admin com role utility-operator |
| Admin | Equipe JedIN | JWT admin com role admin |
2. Portal do Cliente (11 Paginas)
O portal e a interface de autoatendimento para clientes finais da concessionaria. Acessivel via /{locale}/utilities/portal, oferece todas as funcionalidades que um consumidor precisa sem ligar para o call center.
2.1 Dashboard
A pagina inicial do portal exibe um resumo completo da conta do cliente:
- KPIs principais: consumo do mes atual (kWh), valor da proxima fatura, status de pagamento, e numero de chamados abertos
- Grafico de consumo: historico dos ultimos 12 meses com barras coloridas por bandeira tarifaria (verde, amarela, vermelha 1, vermelha 2, escassez)
- Painel solar: para clientes prosumers, exibe geracao atual, creditos acumulados e economia mensal
- Chamados recentes: ultimos 3 tickets com status e prazo SLA
- Alertas: notificacoes de interrupcoes ativas na regiao, faturas vencendo, e mudancas de bandeira tarifaria
2.2 Faturas
A pagina de faturas oferece gestao completa do historico financeiro:
- Listagem filtrada: por instalacao, status (pendente, paga, vencida, cancelada), e periodo
- Detalhes da fatura: consumo ponta/fora-ponta, ICMS, PIS/COFINS, CIP, bandeira tarifaria, e historico de pagamentos
- PIX QR Code real: codigo EMV/BRCode gerado pelo
PaymentGatewayServicecom txId formatoJEDIN{timestamp}{random}, expiracao de 60 minutos - Boleto: barcode FEBRABAN 44 digitos com nosso numero gerado automaticamente
- Download PDF: fatura em formato PDF para impressao
O gateway de pagamento (payment-gateway.service.ts) suporta PIX, boleto, cartao de credito e debito automatico. Em producao, integra com BACEN SPI (PIX), APIs bancarias (boleto) e Stripe/PagSeguro (cartao).
2.3 Consumo
Pagina de analise detalhada do consumo eletrico:
- Historico mensal: grafico de barras com consumo em kWh dos ultimos 12 meses
- Bandeira tarifaria: indicador visual da bandeira vigente com explicacao do acrescimo
- Analytics: media, pico, minimo, tendencia (regressao linear com limiar de 5 kWh/mes), variacao MoM%, e estimativa de custo do proximo mes
- Comparacao: selecione dois meses para comparacao lado-a-lado de consumo, custo e bandeira
- Multi-instalacao: alternancia entre instalacoes para clientes com mais de um ponto de conexao
2.4 Conta e Perfil
Gestao do perfil do cliente e suas instalacoes:
- Edicao de perfil: nome, telefone, endereco (CPF/CNPJ e email sao imutaveis por seguranca)
- Multi-instalacao: listagem de todas as unidades consumidoras (UCs) vinculadas ao cliente, com numero da instalacao, medidor, tipo de tarifa, tensao, fase e demanda contratada
- Preferencias de notificacao: opt-out model com 4 canais (email, SMS, WhatsApp, push)
- Alteracao de senha: com validacao de senha atual e requisitos de complexidade
2.5 Chamados (Solicitacoes de Servico)
Interface para abertura e acompanhamento de solicitacoes:
- Criacao: formulario com 13 tipos de servico (segunda via, ligacao nova, religacao, troca de titularidade, relato de falta, reclamacao, indenizacao, alteracao cadastral, debito automatico, alteracao de tarifa, cadastro solar, tarifa social, cliente vital)
- Protocolo automatico: formato
UTL-YYYYMMDD-NNNNNNgerado no backend - Acompanhamento: timeline visual com historico de status e notas do operador
- SLA visivel: prazo de atendimento exibido com countdown e indicador visual (verde/amarelo/vermelho)
- Maquina de estados:
open -> in_progress -> waiting_customer/waiting_inspection -> resolved/cancelled
2.6 Loja
Marketplace de produtos e servicos da concessionaria:
- Catalogo: produtos com imagem, descricao, preco e estoque
- Checkout PIX: pagamento via QR Code PIX com confirmacao em tempo real
- Historico de compras: listagem com status de entrega
2.7 Energia Solar
Modulo completo para clientes prosumers (geracao distribuida):
- Painel de geracao: producao em kWh, economia acumulada, taxa de autoconsumo
- Creditos SCEE: creditos de energia com validade de 60 meses, compensacao self/remote/shared conforme resolucao ANEEL
- Marketplace P2P: compra e venda de creditos excedentes entre consumidores
- Unidade geradora: dados da usina solar/eolica (capacidade kW, inversor, paineis, registro ANEEL)
2.8 Servicos
Pagina dedicada com descricao detalhada dos 10 principais tipos de servico:
| Servico | SLA | Descricao |
|---|---|---|
| Segunda via de conta | 24h | Reemissao de fatura |
| Ligacao nova | 120h (5 dias) | Nova conexao a rede |
| Religacao | 48h | Restabelecimento apos corte |
| Troca de titularidade | 72h | Transferencia de propriedade |
| Relato de falta de energia | 24h | Registro de interrupcao |
| Reclamacao | 120h | Reclamacao formal |
| Indenizacao | 720h (30 dias) | Processo indenizatorio |
| Alteracao cadastral | 24h | Atualizacao de dados |
| Debito automatico | 48h | Configuracao de pagamento automatico |
| Alteracao de tarifa | 72h | Mudanca de modalidade tarifaria |
2.9 Notificacoes
Centro de notificacoes multicanal:
- 4 canais: email (AWS SES), SMS (Twilio), WhatsApp (Meta Cloud API), Push (Web Push)
- 7 templates: bill_due, payment_confirmed, request_updated, outage_alert, outage_resolved, welcome, password_reset
- Preferencias: modelo opt-out com defaults email/SMS/push habilitados, WhatsApp desabilitado
- Historico: todas as notificacoes enviadas com status (sent, delivered, read, failed)
2.10 PWA Mobile
O portal e uma Progressive Web App (PWA) responsiva:
- Instalavel: adicione a tela inicial no Android/iOS
- Offline-first: cache de dados de consumo e faturas recentes
- Push notifications: alertas de interrupcao e vencimento de fatura
2.11 Bot WhatsApp
Atendimento automatizado via WhatsApp com 8 intencoes:
| Intencao | Keywords | Acao |
|---|---|---|
| segunda_via | "segunda via", "2a via", "conta" | Envia boleto + PIX |
| debitos | "debito", "divida", "pagar" | Lista faturas pendentes |
| falta_energia | "falta", "sem luz", "apagou" | Registra interrupcao |
| religacao | "religar", "religacao" | Cria solicitacao |
| autoleitura | "leitura", "medidor" | Inicia autoleitura guiada |
| saudacao | "oi", "ola", "bom dia" | Saudacao personalizada |
| ajuda | "ajuda", "help", "menu" | Menu de opcoes |
| desconhecido | (fallback) | Resposta padrao |
3. Backoffice Operacional (8 Paginas)
O backoffice e a interface para operadores da concessionaria gerenciarem clientes, faturamento, solicitacoes e operacoes de campo. Acessivel via /{locale}/utilities/admin.
3.1 Dashboard
Visao executiva com KPIs operacionais e insights de IA:
- Cards de KPIs: total de clientes, faturas emitidas no mes, solicitacoes abertas, interrupcoes ativas, inadimplencia (%), e receita mensal
- Insights IA: analise automatica de tendencias com recomendacoes acionaveis (ex: "Inadimplencia cresceu 3.2% na regiao leste -- recomendar campanha de negociacao")
- Graficos: evolucao mensal de clientes, receita por tipo de tarifa, distribuicao de solicitacoes por tipo
- Alertas operacionais: SLAs proximos de estouro, interrupcoes com mais de 4 horas, faturas em lote com erro
3.2 Solicitacoes
Gestao centralizada de todas as solicitacoes de servico:
- Listagem com filtros: status, tipo, prioridade, operador designado, periodo
- Drawer de detalhes: painel lateral com informacoes completas da solicitacao, timeline de historico, dados do cliente, instalacao vinculada, e campo para notas do operador
- Atribuicao: designacao de solicitacoes para operadores especificos
- Atualizacao de status: transicao conforme maquina de estados com registro automatico na timeline
- Indicador SLA: countdown com cores (verde >50% restante, amarelo <50%, vermelho <10%)
3.3 Faturamento
Gestao completa do ciclo de faturamento:
- Listagem: todas as faturas com filtros por instalacao, status, periodo, e valor
- Exportacao CSV: download de dados filtrados para analise em planilhas
- Emissao em lote: geracao de faturas para um ciclo de faturamento completo
- Detalhes: composicao da fatura (consumo ponta/fora-ponta, tributos, bandeira, CIP) com historico de pagamentos
3.4 Clientes
CRUD completo de clientes da concessionaria:
- Listagem: busca por nome, CPF/CNPJ, email, ou numero de instalacao
- Cadastro: formulario com validacao de CPF/CNPJ (algoritmo), email unico por tenant, e tipo de cliente
- 6 tipos de cliente: residencial, comercial, industrial, rural, governo, prosumer
- Edicao: atualizacao de dados cadastrais com auditoria de alteracoes
- Instalacoes vinculadas: listagem e gestao das unidades consumidoras do cliente
- Historico: faturas, pagamentos, solicitacoes e notificacoes do cliente
3.5 Operacoes (Mapa de Falhas)
Painel de operacoes de campo com visualizacao geografica:
- Mapa SVG interativo: representacao geografica de Minas Gerais com pontos de interrupcao plotados por coordenadas reais (latitude/longitude)
- Cluster automatico: relatos dentro de 500m (~0.005 graus) sao agrupados na mesma interrupcao, incrementando o contador
affectedCustomers - Status visual: cores por status (vermelho=ativo, amarelo=equipe despachada, azul=em reparo, verde=resolvido)
- Detalhes da interrupcao: tipo (planejada/nao-planejada), causa, equipe designada, clientes afetados, inicio/fim, contribuicao DEC
3.6 Analytics (5 Tabs)
Dashboard analitico com 5 abas e seletor de periodo:
- Resumo: KPIs consolidados com variacao percentual em relacao ao periodo anterior
- Consumo: analise de consumo por tipo de tarifa, regiao, e perfil de cliente
- Financeiro: receita, inadimplencia, arrecadacao por canal de pagamento
- Operacional: tempo medio de atendimento, taxa de resolucao no primeiro contato, distribuicao de SLA
- Qualidade: indicadores DEC/FEC, satisfacao do cliente, taxa de reclamacao
3.7 Relatorios
Geracao de relatorios regulatorios e operacionais:
| Relatorio | Descricao | Formato |
|---|---|---|
| ANEEL DEC/FEC | Duracao e frequencia equivalente de interrupcao por municipio | PDF + CSV |
| Faturamento | Receita por periodo, tipo de tarifa, e status de pagamento | CSV |
| Consumo | Consumo agregado por regiao, perfil, e bandeira tarifaria | CSV |
| Clientes | Cadastro completo com instalacoes e status | CSV |
| Operacoes | Solicitacoes por tipo, SLA compliance, e produtividade | CSV |
Calculo DEC: DEC = SUM(Ca_i * t_i) / Ct onde Ca_i = clientes afetados, t_i = duracao em horas, Ct = total de consumidores do conjunto.
Calculo FEC: FEC = SUM(Ca_i) / Ct onde Ca_i = clientes afetados por cada interrupcao, Ct = total de consumidores.
Metas default ANEEL: DEC = 12.0h, FEC = 8.0 interrupcoes/ano (configuraveis por tenant na tabela UtilityRegulatoryIndicator).
3.8 Conformidade ANEEL
O servico AneelComplianceService implementa os calculos regulatorios exigidos pela Agencia Nacional de Energia Eletrica:
- Relatorio DEC/FEC: calculo automatico a partir dos dados de interrupcao registrados no sistema
- Metas por municipio: configuracao de metas especificas conforme resolucao ANEEL
- Alertas de conformidade: notificacao quando indicadores se aproximam das metas regulatorias
- Historico: serie temporal de indicadores para acompanhamento de tendencias
4. Modulo de Marketing (5 Paginas)
O modulo de marketing permite que a concessionaria se comunique proativamente com seus clientes atraves de campanhas segmentadas e automacoes baseadas em eventos.
4.1 Dashboard de Marketing
Visao geral do desempenho das acoes de marketing:
- Funil de engajamento: visualizacao do pipeline de conversao (alcance -> abertura -> clique -> conversao)
- Donut de canais: distribuicao de envios por canal (email, SMS, WhatsApp, push) com percentuais
- KPIs: total de contatos, taxa de abertura media, taxa de clique media, e taxa de opt-out
- Campanhas ativas: listagem das campanhas em execucao com metricas em tempo real
4.2 Segmentos Dinamicos
Criacao de segmentos de clientes com builder visual:
- Builder de regras: interface drag-and-drop para combinar criterios com operadores AND/OR
- Criterios disponiveis: tipo de cliente, consumo medio, status de pagamento, regiao, tarifa, instalacoes ativas, historico de chamados
- Atualizacao dinamica: segmentos recalculados automaticamente quando dados mudam
- Preview: contagem em tempo real de clientes que atendem aos criterios
O sistema inclui 15 segmentos pre-configurados cobrindo cenarios comuns como "Alto Consumo Residencial", "Inadimplentes >60 dias", "Prosumers Ativos", e "Novos Clientes (30 dias)".
4.3 Campanhas
Gestao do ciclo completo de campanhas de comunicacao:
- Funil SVG: visualizacao grafica do pipeline Enviados -> Entregues -> Abertos -> Clicados com numeros absolutos e percentuais em cada etapa
- Multicanal: envio simultâneo por email, SMS, WhatsApp e/ou push
- Agendamento: envio imediato ou programado com timezone
- A/B testing: teste de variantes de assunto/conteudo com split automatico
- Metricas: taxa de entrega, abertura, clique, bounce, e opt-out por campanha
O sistema possui 10 campanhas pre-configuradas incluindo "Boas-vindas", "Fatura Digital", "Energia Solar", "Tarifa Social", e "Natal Cemig".
4.4 Automacoes
Workflows automatizados disparados por eventos do sistema:
- Eventos de trigger: novo cliente cadastrado, fatura vencida, solicitacao resolvida, interrupcao na regiao, mudanca de bandeira tarifaria
- Acoes: enviar notificacao, aguardar periodo, verificar condicao, atualizar segmento
- Fluxo visual: editor de automacao com nos conectados (trigger -> delay -> condition -> action)
- 8 automacoes pre-configuradas: onboarding (3 emails em 7 dias), lembrete de vencimento (3 dias antes + dia do vencimento), pesquisa de satisfacao (apos resolucao de chamado), alerta de consumo anormal
4.5 Templates
Biblioteca de templates reutilizaveis para comunicacoes:
- Preview email estilo macOS: visualizacao do email em janela estilo cliente de email desktop com barra de titulo, botoes de controle e area de preview
- Editor visual: edicao de HTML/texto com variaveis dinamicas ({nome}, {protocolo}, {valor}, {vencimento})
- 12 templates pre-configurados: cobrindo todos os cenarios de comunicacao da concessionaria
- Versionamento: historico de alteracoes com possibilidade de reverter para versao anterior
5. Marketplace de Energia Solar (7 Paginas)
O marketplace conecta geradores de energia solar (prosumers) com consumidores que desejam creditos de energia limpa, implementando o conceito de SCEE (Sistema de Compensacao de Energia Eletrica) conforme regulamentacao ANEEL.
Portal do Marketplace (Cliente)
5.1 Busca de Ofertas
Interface para consumidores encontrarem creditos de energia solar:
- Busca por localizacao: filtragem por municipio, estado, e distancia
- Filtros: preco por kWh, capacidade disponivel, tipo de fonte (solar/eolica), avaliacao do vendedor
- Cards de oferta: preco, capacidade, localizacao, e avaliacao do vendedor
5.2 Compra de Creditos
Fluxo de compra com pagamento integrado:
- Selecao de quantidade: escolha do volume de creditos em kWh
- Pagamento PIX: QR Code EMV com confirmacao em tempo real
- Contrato digital: termos automaticos conforme regulamentacao ANEEL
5.3 Disputas
Mecanismo de resolucao de conflitos entre compradores e vendedores:
- Abertura: formulario com motivo, evidencias e valor em disputa
- Timeline: historico de interacoes entre as partes
- Mediacao: intervencao da concessionaria quando necessario
5.4 Assinaturas
Modelo de assinatura recorrente de creditos solares:
- Planos mensais: compra automatica de creditos com desconto progressivo
- Gestao: pausar, cancelar, ou alterar volume da assinatura
5.5 Historico e Precos
Acompanhamento de transacoes e evolucao de precos:
- Historico de compras: todas as transacoes com status e comprovantes
- Grafico de precos: evolucao do preco medio por kWh ao longo do tempo
Backoffice do Marketplace
5.6 KPIs e Listings
Gestao operacional do marketplace:
- KPIs: volume transacionado, receita de comissao, numero de vendedores/compradores ativos
- Listings: aprovacao, suspensao e remocao de ofertas
5.7 Disputas e Resolucao
Painel de mediacao para equipe operacional:
- Fila de disputas: ordenada por prioridade e tempo de espera
- Ferramentas de resolucao: reembolso parcial/total, suspensao de vendedor, compensacao em creditos
6. Admin (4 Paginas)
O modulo Admin e utilizado pela equipe JedIN para configurar e monitorar a plataforma.
6.1 Dashboard de Saude
Monitoramento em tempo real da infraestrutura:
- Status dos servicos: API (health check), PostgreSQL (conexao ativa), Redis (ping/pong), e integracoes SAP
- Metricas: tempo de resposta medio da API, queries lentas, uso de memoria Redis, e tamanho do banco
- Alertas: notificacoes automaticas quando servicos degradam
6.2 Tenants Multi-Concessionaria
Gestao de tenants para modelo white-label:
- Cadastro: criacao de novo tenant com nome, dominio, e configuracoes iniciais
- Branding: upload de logo, cores primaria/secundaria, favicon, e nome de exibicao (JSON)
- Features: toggle de funcionalidades por tenant (solar, marketplace, bot WhatsApp, loja)
- Contatos: telefone, email, e endereco da concessionaria
- Tarifas: configuracao de valores por tipo de tarifa e bandeira
- Regulatorio: metas DEC/FEC, numero ANEEL, e area de concessao
6.3 Configuracoes
Parametros globais da plataforma:
- Moeda: configuracao de moeda (BRL default) com formato de exibicao
- Timezone: fuso horario (America/Sao_Paulo default) para calculos de SLA e agendamentos
- Idiomas: habilitacao/desabilitacao de locales (pt-BR, en-US, es)
- Integracao: URLs e credenciais dos sistemas SAP conectados
6.4 CMS (Content Management)
Sistema de gerenciamento de conteudo para paginas informativas:
- Paginas: criacao e edicao de FAQ, banners, descricoes de servico, e termos de uso
- Slug auto-geracao: URL amigavel gerada automaticamente a partir do titulo
- Multi-idioma: conteudo em ate 3 idiomas com fallback para pt-BR
- Publicacao: workflow de rascunho -> revisao -> publicado
7. Integracao SAP Sales & Service Cloud V2
O IS-U integra nativamente com o ecossistema SAP atraves de 6 flows automatizados no JedIN Integration, conectando dados de clientes e operacoes com o SAP Sales Cloud V2 e Service Cloud V2.
Descoberta Tecnica: Header sap-c4c-rawagent
A API REST do SAP Sales/Service Cloud V2 exige um header pouco documentado para operacoes de escrita: sap-c4c-rawagent: com.sap.cxm.desktop. Sem ele, chamadas POST retornam erros genericos ou redirecionamentos. A descoberta veio da analise do trafego de rede do cliente desktop SAP CX. Esse header foi critico para que Account POST e Case POST retornassem HTTP 201 Created consistentemente.
Caminhos da API V2
| Operacao | Metodo | Path | Resultado |
|---|---|---|---|
| Criar Account | POST | /sap/c4c/api/v1/account-service/accounts | 201 Created |
| Buscar Account | GET | /sap/c4c/api/v1/account-service/accounts/{id} | 200 OK |
| Criar Case | POST | /sap/c4c/api/v1/case-service/cases | 201 Created |
| Buscar Case | GET | /sap/c4c/api/v1/case-service/cases/{id} | 200 OK |
| Atualizar Case | PATCH | /sap/c4c/api/v1/case-service/cases/{id} | 200 OK |
Os 6 Flows de Integracao
Cada flow possui transformacoes JavaScript, tratamento de erros com retry exponencial, e log estruturado para auditoria:
| # | Flow | Direcao | Descricao |
|---|---|---|---|
| 1 | SyncCustomer | IS-U -> Sales V2 | Sincroniza clientes como Accounts. Upsert com fallback filter: primeiro tenta buscar por externalSapId, depois por CPF/CNPJ. Se nao encontrar, cria novo Account. |
| 2 | SyncInstallation | IS-U -> Sales V2 | Mapeia instalacoes como AccountAddress no SAP, vinculando unidades consumidoras ao Account correspondente. |
| 3 | SyncTicket | IS-U -> Service V2 | Cria Cases com tipo customizado ZISU para cada solicitacao de servico. O caseType ZISU permite regras de roteamento, SLAs e relatorios dedicados no SAP. |
| 4 | SyncBill | IS-U -> Service V2 | Registra faturas como Interactions no SAP para historico de relacionamento e rastreabilidade. |
| 5 | SyncSolarListing | IS-U -> Sales V2 | Sincroniza listagens do marketplace solar como Opportunities, alimentando o pipeline comercial de energia limpa. |
| 6 | ReadServiceRequests | Service V2 -> IS-U | Busca Cases atualizados no SAP a cada 15 minutos via schedule, trazendo status e notas de volta para o IS-U. |
Configuracao SAP
Tres elementos foram configurados no lado SAP:
- Communication Arrangement: Define o JedIN como parceiro de comunicacao autorizado com credenciais Basic Auth e escopo para account-service e case-service.
- Org Unit JEDIN01: Unidade organizacional dedicada que agrupa operacoes do JedIN para filtragem e auditoria.
- Tipo de Caso ZISU: Case type customizado para utilities, permitindo roteamento e SLAs especificos.
{
"subject": "Ordem de Servico - Religacao #12345",
"caseType": "ZISU",
"priority": "NORMAL",
"origin": "JEDIN_ISU",
"account": { "id": "<account-id>" },
"description": "Solicitacao de religacao para instalacao 2345678"
}
8. MCP-ISU (34 Tools)
O MCP-ISU e o servidor MCP (Model Context Protocol) que expoe as funcionalidades do IS-U para o R2-CX, permitindo que o agente de IA interaja com a plataforma de utilities via linguagem natural.
Especificacoes Tecnicas
| Atributo | Valor |
|---|---|
| Porta | 3360 |
| Health endpoint | GET /health |
| Protocolo | MCP over HTTP |
| Autenticacao | Token JWT |
| Integracao | R2-CX workspace "JedIN EnergyHub" |
Ferramentas por Categoria
| Categoria | Tools | Exemplos |
|---|---|---|
| Customers | 6 | list_customers, get_customer, create_customer, update_customer, search_by_cpf, get_installations |
| Billing | 5 | list_bills, get_bill_details, generate_pix, process_payment, export_bills_csv |
| Service Requests | 5 | list_requests, create_request, update_status, get_timeline, assign_operator |
| Outages | 4 | list_active_outages, report_outage, resolve_outage, get_outage_map |
| Analytics | 4 | dashboard_kpis, consumption_analytics, billing_analytics, dec_fec_indicators |
| Solar | 4 | list_generation_units, get_energy_credits, marketplace_listings, solar_analytics |
| Marketplace | 3 | list_offers, create_listing, process_dispute |
| Marketing | 3 | list_segments, campaign_metrics, automation_status |
Uso via R2-CX
Para interagir com o IS-U via R2-CX:
- Selecione R2-CX na pagina de produtos
- No Hub, encontre JedIN EnergyHub na categoria "Brazil Focus"
- Abra o workspace e interaja via chat
Prompts sugeridos:
- "Listar clientes inadimplentes"
- "Mostrar faturas pendentes da instalacao 2345678"
- "Criar solicitacao de religacao para cliente Maria Silva"
- "Qual o DEC acumulado neste mes?"
- "Resumo do dashboard de marketing"
9. Dados e Volume
O MVP do IS-U foi populado com dados realistas representando uma concessionaria de medio porte, utilizando coordenadas reais de Minas Gerais e padroes de consumo baseados em dados publicos da ANEEL.
Volume de Dados
| Entidade | Quantidade | Detalhes |
|---|---|---|
| Clientes | 500 | 5 tipos: residencial (60%), comercial (20%), industrial (10%), governo (5%), rural (5%) |
| Instalacoes | 631 | Multi-UC por cliente: media de 1.26 instalacoes por cliente |
| Faturas | 7.488 | 12 meses x ~631 instalacoes, com variacao sazonal de consumo |
| Solicitacoes | 3.030 | Distribuicao realista por tipo e status conforme benchmarks do setor |
| Interrupcoes | 30 | Com coordenadas reais de MG, duracao variavel, e calculo DEC |
| Segmentos | 15 | Pre-configurados para cenarios comuns de marketing |
| Campanhas | 10 | Com metricas de funil (envio -> entrega -> abertura -> clique) |
| Templates | 12 | Email, SMS e WhatsApp para todos os cenarios operacionais |
| Automacoes | 8 | Onboarding, cobranca, pesquisa, alertas |
Perfil dos Clientes
Cada cliente possui dados consistentes incluindo:
- Dados pessoais: nome realista, CPF valido (algoritmo), email, telefone, endereco em MG
- Consumo historico: 12 meses de leituras com variacao sazonal (inverno ~15% menor que verao)
- Faturas: valores calculados com ICMS (18%), PIS/COFINS (4.5%), CIP, e bandeira tarifaria vigente
- Instalacoes: numero de instalacao, medidor, tipo de tarifa (B1, B2, B3, A4), tensao, e fase
10. Metricas de Qualidade
O IS-U passou por uma auditoria cruzada completa com scripts automatizados cobrindo frontend, backend, banco de dados, integracoes SAP, MCP e R2-CX.
Resultado da Auditoria
| Dimensao | Checks | Status |
|---|---|---|
| Database Schema | 8 | PASS |
| API Endpoints | 16 | PASS |
| MCP-ISU Tools | 6 | PASS |
| Portal do Cliente | 11 paginas | PASS |
| Backoffice | 8 paginas | PASS |
| Admin | 4 paginas | PASS |
| Integracao SAP V2 | 6 flows | PASS |
| Marketing | 5 paginas | PASS |
| Total | 383+ checks | PASS |
Scripts de Auditoria
Dois scripts automatizados cobrem a totalidade do produto:
- audit-isu.js: 73 checkpoints de infraestrutura, dados e integracoes em 12 dimensoes
- e2e-test-isu.js: 38 testes end-to-end com Playwright cobrindo fluxos completos de usuario
- Verificacao visual: 28 paginas validadas manualmente
Performance
| Metrica | Valor |
|---|---|
| Tempo medio por endpoint | < 84ms |
| SLA breaches | 0 |
| Dados orfaos | 0 |
| Erros de integracao SAP | 0 |
| Cobertura funcional | 100% (todas as paginas carregam e exibem dados) |
Deploy
| Componente | Versao | Data |
|---|---|---|
| API | v202604131300 | 2026-04-13 |
| Web | v202604131300 | 2026-04-13 |
| MCP-ISU | port 3360 | Ativo |
| JedIN Integration | 6 flows | Ativo |
Modelos de Dados (17 Modelos Prisma)
Todos os modelos estao definidos em apps/api/prisma/schema.prisma e utilizam tenant_id com politica RLS.
Modelos Principais
| Modelo | Campos-chave | Proposito |
|---|---|---|
| UtilityTenantConfig | name, domain, branding, features, contacts, tariffs, regulatory | Configuracao white-label por concessionaria |
| UtilityCustomer | name, email, cpfCnpj, documentType, customerType, passwordHash, externalSapId | Cliente final (PF ou PJ) |
| UtilityInstallation | installationNumber, meterNumber, tariffType, voltage, phase, contractedDemand | Ponto de conexao eletrica |
| UtilityBill | referenceMonth, consumptionKwh, peakConsumption, offPeakConsumption, totalAmount, dueDate, barcode, pixCode | Fatura mensal |
| UtilityPayment | method, amount, status, gatewayRef, gatewayData | Registro de pagamento |
| UtilityConsumption | readingDate, readingValue, consumptionKwh, readingType, tariffFlag | Leitura de medidor |
| UtilityServiceRequest | protocol, type, subject, status, priority, slaDeadline, assignedTo | Solicitacao de servico |
| UtilityOutage | latitude, longitude, outageType, affectedCustomers, startTime, endTime, crewAssigned, cause | Interrupcao de energia |
| UtilityNotification | channel, template, subject, body, sentAt, status | Notificacao ao cliente |
Modelos Especializados
| Modelo | Proposito |
|---|---|
| UtilityEnergyCredit | Creditos de geracao distribuida (validade 60 meses, compensacao: self/remote/shared) |
| UtilityGenerationUnit | Usina solar/eolica (capacidade kW, inversor, paineis, registro ANEEL) |
| UtilityPublicLighting | Coordenacao CIP (iluminacao publica municipal) |
| UtilityRegulatoryIndicator | Indicadores DEC/FEC por municipio (metas ANEEL) |
| UtilityOmbudsmanCase | Ouvidoria (SLA 10 dias uteis, reclamacao formal) |
| UtilityRuralCustomer | Cemig Agro (tamanho propriedade, CNAE, potencia irrigacao) |
| UtilityContentPage | CMS (paginas FAQ, banners, descricoes de servico) |
| UtilitySapSyncLog | Auditoria de sincronizacao SAP (registros processados, erros, duracao) |
Mapeamento SAP
| EnergyHub | SAP C4C | SAP S/4HANA | Sales Cloud V2 | Service Cloud V2 |
|---|---|---|---|---|
| UtilityCustomer | CorporateAccount | BusinessPartner (BP) | Account | -- |
| UtilityServiceRequest | ServiceRequest | ServiceOrder (PM) | ServiceTicket | Case |
| UtilityBill | -- | BillingDocument (FI-CA) | -- | -- |
| UtilityInstallation | -- | Installation (ISU) | -- | -- |
| UtilityOutage | -- | -- | -- | FieldServiceCase |
API Reference
Todos os endpoints estao sob /api/v1/utilities/. Autenticacao via JWT com tipo utility-customer (portal) ou admin (backoffice).
Endpoints Principais
| Metodo | Rota | Auth | Descricao |
|---|---|---|---|
| POST | /customers/register | Publica | Registrar cliente |
| POST | /customers/login | Publica | Login, retorna JWT (15min) |
| GET | /customers/me | JWT | Perfil com instalacoes |
| PUT | /customers/me | JWT | Atualizar perfil |
| GET | /bills | JWT | Listar faturas |
| GET | /bills/:id | JWT | Detalhes da fatura |
| POST | /bills/:id/payment | JWT | Processar pagamento |
| POST | /service-requests | JWT | Criar solicitacao |
| GET | /service-requests | JWT | Listar solicitacoes |
| PUT | /service-requests/:id/status | Admin | Atualizar status |
| GET | /outages | Publica | Listar interrupcoes ativas |
| POST | /outages/report | Publica | Reportar falta |
| GET | /outages/map | Publica | Dados para mapa |
| PUT | /outages/:id/resolve | Admin | Resolver interrupcao |
| GET | /aneel/dec-fec | Admin | Indicadores regulatorios |
| GET | /reports/:type | Admin | Gerar relatorio |
Credenciais de Teste
| Usuario | Senha | Tipo |
|---|---|---|
teste.sap@jedin.io | Test@123456 | Admin |
maria.silva@email.com | Cemig@2026 | Cliente |
Conclusao
O JedIN IS-U representa uma solucao completa para digitalizacao de concessionarias de energia eletrica no Brasil. Com 28 paginas de interface, 17 modelos de dados, 34 ferramentas MCP, 6 flows de integracao SAP V2, e cobertura de auditoria de 383+ checkpoints, a plataforma esta pronta para operacao em producao.
A arquitetura white-label permite que qualquer concessionaria brasileira adote o sistema com sua propria marca, mantendo isolamento completo de dados via RLS e configuracao independente de tarifas, regulatorio e branding.
O proximo passo e a integracao com o SAP IS-U (Industry Solution for Utilities) on-premise para sincronizacao bidirecional com o sistema de billing (FI-CA) e gestao de instalacoes (Device Management) das concessionarias que ja utilizam SAP.
Related Articles
JedIN Utilities (IS-U) — Stack Tecnológica Completa
Deep dive no produto JedIN Utilities: white-label SAP IS-U para distribuidoras de energia com 17 submódulos NestJS, integração SAP S/4HANA + C4C V1/V2 + BTP, marketplace P2P solar, DEC/FEC ANEEL e 28 tools MCP.
JedIN EnergyHub — Documentação Completa do Produto
Referência técnica completa do JedIN EnergyHub: arquitetura, 17 modelos Prisma, 20+ endpoints REST, 29 telas (portal/backoffice/admin), 5 integrações SAP, 4 flows de integração C4C, MCP com 20 tools, e modelo white-label multi-tenant para concessionárias de energia.
JedIN SRE — Stack Tecnológica Completa (Supplier Relationship)
Deep dive no JedIN SRE: 15 submódulos NestJS, integração SAP S/4HANA + ECC + Ariba + SharePoint, IA jurídica OpenAI GPT-4o para análise de contratos, e-signature SHA-256 compliance MP 2.200-2/2001, AWS Textract OCR e 44 tools MCP role-based.