Enel São Paulo data API
Enel São Paulo is the customer-care app of ENEL BRASIL SA's São Paulo electricity distribution concession, the utility serving Brazil's biggest metropolitan market. Contract holders sign in with their CPF and installation number to review and pay faturas by PIX, submit autoleitura meter readings so billing reflects real consumption, report falta de energia through a guided questionnaire that opens a numbered protocol with a restoration estimate, track open emergency cases, and file anonymous energy-theft reports.
As a data source, the app exposes the billing and service record of each installation: invoice rows keyed by OPBEL and EXBEL carrying BILLING_PERIOD and VALOR_CM, a PIX pixCopiaCola payload per bill, meter self-reads with leituraKwh, outage tickets returning E_PROTOCOLO and the restoration forecast E_PREVISAO, open emergencies listed as NumEmergencia with Estado, and ANEEL continuity indicators DIC, FIC and DMIC attached to each bill. Municipal outage desks, household-finance apps and regulator-facing dashboards build on this stream to reconcile payments, map open tickets and track service quality.
Enel São Paulo is the customer-care app ENEL BRASIL SA ships for its São Paulo electricity distribution concession: holders pay faturas by PIX, submit meter self-reads, and file outage tickets that return a numbered protocol. Serving one of Brazil's largest metropolitan grids, the app carries a per-installation dataset of bills and PIX payloads, meter readings, outage questionnaires and emergency cases, and ANEEL DIC/FIC/DMIC quality indicators. Integrators use it to feed outage desks, reconcile utility payments, and chart service-continuity compliance.
Screenshots
API surface
Request/response examples are illustrative, reconstructed from the app's interface — not a live capture.
Create customer session
POST
/v1/customer/sessionopendataExchanges the holder's CPF and installation number for a ZINT-channel session and the SAP contract keys used on every subsequent call.
Auth: None on this call. CPF of the contract holder plus número da instalação mint a session token (I_SSO_GUID) used as Authorization: Bearer on later ZINT-channel calls. Biometric unlock reuses the stored session.
- cpf
- instalacao
- I_CANAL
- I_AUTENTICACAO
- E_RESULT
- E_MSG
- I_SSO_GUID
- I_ANLAGE
- I_PARTNER
- I_VERTRAG
- I_VKONT
- sessionToken
- biometricEnabled
POST /v1/customer/session HTTP/1.1 Content-Type: application/json { "cpf": "12345678901", "instalacao": "47303913", "I_CANAL": "ZINT", "I_AUTENTICACAO": "LG" }{ "E_RESULT": "0", "E_MSG": "", "I_SSO_GUID": "aea96790-0952-11ee-a7eb-02d7cf5235a0", "I_ANLAGE": "0047303913", "I_PARTNER": "0011592481", "I_VERTRAG": "0003365857", "I_VKONT": "100006470226", "sessionToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session", "biometricEnabled": true }Source in the app
inferred from CPF + número da instalação login and the biometric / USE_BIOMETRIC permission on MainActivityI_AUTENTICACAO=LG, I_CANAL=ZINT and I_SSO_GUID appear on every authenticated fixture payload
Current installation snapshot
GET
/v1/installations/currentopendataReturns the signed-in supply point, business partner, contract and contract-account keys plus the service address shown on the Instalação screen.
Auth: Bearer session token from POST /v1/customer/session. Scoped to the signed-in I_ANLAGE / I_PARTNER / I_VERTRAG / I_VKONT.
- I_ANLAGE
- I_PARTNER
- I_VERTRAG
- I_VKONT
- I_ENDERECO.CEP
- I_ENDERECO.RUA
- I_ENDERECO.BAIRRO
- I_ENDERECO.CIDADE
- I_ENDERECO.ESTADO
- Suministro
- E_RESULT
- E_MSG
GET /v1/installations/current HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session X-Canal: ZINT{ "E_RESULT": "0", "E_MSG": "", "I_ANLAGE": "0047303913", "I_PARTNER": "0011592481", "I_VERTRAG": "0003365857", "I_VKONT": "100006470226", "I_ENDERECO": { "CEP": "01310100", "RUA": "AV PAULISTA", "BAIRRO": "BELA VISTA", "CIDADE": "SAO PAULO", "ESTADO": "SP", "STREETCODE": "" }, "Suministro": "47303913" }Source in the app
inferred from the Instalação home screen and installationNumber.png / knowYourMeter.png assetsI_ANLAGE, I_PARTNER, I_VERTRAG, I_VKONT and I_ENDERECO are the identity block on validateblackoutauthenticated and registerblackoutauthenticated fixtures
List electricity bills
GET
/v1/billsopenfinancePages the contract-account fatura history used by Segunda via / Sua última conta, keyed by SAP print document OPBEL and external bill EXBEL.
Auth: Bearer session token from POST /v1/customer/session.
- I_VKONT
- OPBEL
- EXBEL
- BILLING_PERIOD
- MES_REFERENCIA
- VALOR_CM
- VALOR_ITEM
- status
- E_RESULT
- E_MSG
GET /v1/bills?I_VKONT=100006470226&limit=12 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session X-Canal: ZINT{ "E_RESULT": "0", "E_MSG": "", "I_VKONT": "100006470226", "faturas": [ { "OPBEL": "509779709717", "EXBEL": "B-2302-484604235", "BILLING_PERIOD": "2023/02", "MES_REFERENCIA": "DEZ 22", "VALOR_CM": 60.07, "VALOR_ITEM": 0, "status": "ABERTA" } ] }Source in the app
inferred from Segunda via / Sua última conta screensOPBEL, EXBEL, BILLING_PERIOD, MES_REFERENCIA and VALOR_CM are the invoice rows in assets/fixtures/get_indicadores.json
PIX copy for a bill
GET
/v1/bills/{opbel}/pixopenfinanceReturns the PIX copia-e-cola payload for a selected fatura so the holder can pay from any Brazilian bank app.
Auth: Bearer session token from POST /v1/customer/session.
- OPBEL
- EXBEL
- VALOR_CM
- pixCopiaCola
- beneficiario
- txid
- E_RESULT
- E_MSG
GET /v1/bills/509779709717/pix HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session X-Canal: ZINT{ "E_RESULT": "0", "E_MSG": "", "OPBEL": "509779709717", "EXBEL": "B-2302-484604235", "VALOR_CM": 60.07, "pixCopiaCola": "00020126580014br.gov.bcb.pix0136enel-sp-qr-payload5204000053039865802BR5925ENEL DISTRIBUICAO SAO PAULO", "beneficiario": "Enel Distribuição São Paulo", "txid": "B2302484604235" }Source in the app
inferred from PIX payment on the fatura screen and PIX plus Brazilian bank brand icons (banco-do-brasil, bradesco, btg-pactual, amex) in enel_global_package
Submit meter self-read
POST
/v1/meter/autoleituraopendataAccepts the digits on the meter plus an optional photo so the next fatura is billed on a real reading instead of the average.
Auth: Bearer session token from POST /v1/customer/session.
- I_ANLAGE
- I_CANAL
- leituraKwh
- fotoMedidor
- dataLeitura
- E_PROTOCOLO
- E_RESULT
- E_MSG
- status
POST /v1/meter/autoleitura HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "I_ANLAGE": "0047303913", "I_CANAL": "ZINT", "leituraKwh": 18452, "fotoMedidor": "data:image/jpeg;base64,/9j/4AAQ...", "dataLeitura": "2026-09-22" }{ "E_RESULT": "0", "E_MSG": "Leitura registrada com sucesso", "E_PROTOCOLO": "0958950021", "I_ANLAGE": "0047303913", "leituraKwh": 18452, "status": "ACEITA" }Source in the app
inferred from Serviços > Autoleitura / Envio de leitura and meter.png, knowYourMeter.png, medidores.jpg, autolettura.svg assets
Validate outage questionnaire
POST
/v1/outages/validateblackoutauthenticatedopendataLoads the branching falta-de-energia questionnaire (breaker check, internal defect, affected rooms) before a ticket is opened, including Salesforce-routing hints in E_SF.
Auth: Bearer session token from POST /v1/customer/session. Body carries I_ANLAGE and I_PARTNER of the signed-in supply.
- I_ANLAGE
- I_CANAL
- I_PARTNER
- I_VERTRAG
- I_VKONT
- I_SSO_GUID
- E_ANLAGE
- E_SF.DELAY
- E_SF.CANAL
- ET_PERGUNTAS.ID_PERGUNTA
- ET_PERGUNTAS.TEXTO
- ET_PERGUNTAS.TIPO
- ET_RESPOSTAS.ID_RESPOSTA
- ET_RESPOSTAS.IMPEDIMENTO
- ET_RESPOSTAS.SUBMOTIVO
- ET_AVISOS
POST /v1/outages/validateblackoutauthenticated HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "I_ANLAGE": "0047303913", "I_CANAL": "ZINT", "I_PARTNER": "0011592481", "I_VERTRAG": "0003365857", "I_VKONT": "100006470226", "I_SSO_GUID": "aea96790-0952-11ee-a7eb-02d7cf5235a0" }{ "E_ANLAGE": "0047303913", "E_RESULT": "", "E_MSG": "", "E_SF": { "DELAY": "7", "DESTINO": "2", "TENTATIVAS": "4", "CANAL": "BRAV" }, "ET_PERGUNTAS": [ { "COD_CAN_ATD": "ZINT", "ID_PERGUNTA": "001", "TEXTO": "Os disjuntores do quadro de distribuição do imóvel e a caixa do medidor foram verificadas?", "TIPO": "SN", "ICONE": "disjuntor-medidor-interno-externo" } ], "ET_RESPOSTAS": [ { "ID_PERGUNTA": "001", "ID_RESPOSTA": "002", "TEXTO": "Sim", "IMPEDIMENTO": "", "PROX_PERGUNTA": "002", "SUBMOTIVO": "114" } ], "ET_AVISOS": [] }Source in the app
inferred from Serviços > Informar Falta de Energiaassets/fixtures/validateblackoutauthenticated_response.json (ET_PERGUNTAS, ET_RESPOSTAS, E_ANLAGE, E_SF)
Register outage ticket
POST
/v1/outages/registerblackoutauthenticatedopendataOpens a falta-de-energia protocol from the answered questionnaire, or returns E_IMPEDIMENTO when the defect is classified as internal and should not dispatch a crew.
Auth: Bearer session token from POST /v1/customer/session.
- I_ANLAGE
- I_CANAL
- I_PARTNER
- I_VERTRAG
- I_VKONT
- I_GERA_PROTOCOLO
- I_CONTATO.NOME_COMP
- I_CONTATO.CELULAR
- IT_RESPOSTAS.ID_PERGUNTA
- IT_RESPOSTAS.ID_RESPOSTA
- E_IDACESSO
- E_IMPEDIMENTO
- E_PREVISAO
- E_PROTOCOLO
- E_NOTA
- PROCESS_TYPE
- CODE_GROUP
- ET_OFERTAS
POST /v1/outages/registerblackoutauthenticated HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "I_ANLAGE": "0047303913", "I_CANAL": "ZINT", "I_PARTNER": "0011592481", "I_VERTRAG": "0003365857", "I_VKONT": "100006470226", "I_GERA_PROTOCOLO": "X", "I_AUTENTICACAO": "LG", "I_CONTATO": { "NOME_COMP": "MARIA SILVA", "TELEFONE": "1134567890", "CELULAR": "11987654321", "PONTO_REF": "", "OBS": "", "PRIORIDADE": "", "TERCEIRO": "" }, "IT_RESPOSTAS": [ { "COD_CAN_ATD": "ZINT", "ID_PERGUNTA": "001", "ID_RESPOSTA": "002", "TEXTO": "Sim" } ] }{ "E_IDACESSO": "000000076888059", "E_IMPEDIMENTO": "", "E_MSG": "", "E_NOTA": "", "E_PREVISAO": "2026-09-29T18:30:00-03:00", "E_PROTOCOLO": "0958950021", "E_RESULT": "0", "ET_OFERTAS": [], "IT_RESPOSTAS": [ { "ID_PERGUNTA": "001", "PROCESS_TYPE": "ZEME", "CODE_GROUP": "2E65", "SUBMOTIVO": "114" } ] }Source in the app
inferred from Informar Falta de Energia submit + real-time crew tracking copyassets/fixtures/registerblackoutauthenticated_response_not_registered.json (E_PROTOCOLO, E_IMPEDIMENTO, I_CONTATO, IT_RESPOSTAS, PROCESS_TYPE=ZEME)
List open emergency cases
POST
/v1/cases/getcaseauthenticatedopendataLists open emergency cases for the supply so the app can show ticket status (NumEmergencia, Motivo, Estado) after a blackout is registered.
Auth: Bearer session token from POST /v1/customer/session.
- SOAId
- NumEmergencia
- Motivo
- Sub-Motivo
- Estado
- Suministro
- CodigoError
- MensajeError
- E_MSG
- E_RESULT
POST /v1/cases/getcaseauthenticated HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "I_ANLAGE": "0047303913", "I_CANAL": "ZINT", "I_PARTNER": "0011592481" }{ "SOAHeaderResponse": { "SOAId": "dfd221d0-0953-11ee-9ddb-06e0338904ee" }, "GetCasosIVRORQMsgResponse": { "ListadoEmergencias": { "Emergencia": [ { "NumEmergencia": "139531288", "Motivo": "MOT001", "Sub-Motivo": "114", "Estado": "ESTA002", "Suministro": "47303913" } ] }, "ErrorHeader": { "Error": [ { "CodigoError": "0", "MensajeError": "Servicio ejecutado correctamente" } ] } }, "E_MSG": "", "E_RESULT": "" }Source in the app
inferred from Acompanhar solicitações / falta-de-energia statusassets/fixtures/getcaseauthenticated_response.json (GetCasosIVRORQMsgResponse.ListadoEmergencias.Emergencia)
Create emergency case
POST
/v1/cases/createcaseauthenticatedopendataCreates an emergency ORQ case and returns NumEmergencia, the ticket id shown while crews restore supply.
Auth: Bearer session token from POST /v1/customer/session.
- SOAId
- NumEmergencia
- Motivo
- Sub-Motivo
- CodigoError
- MensajeError
- E_MSG
- E_RESULT
POST /v1/cases/createcaseauthenticated HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "I_ANLAGE": "0047303913", "I_CANAL": "ZINT", "I_PARTNER": "0011592481", "Motivo": "MOT001", "Sub-Motivo": "114" }{ "SOAHeaderResponse": { "SOAId": "aea96790-0952-11ee-a7eb-02d7cf5235a0" }, "CrearEmergenciaORQMsgResponse": { "NumEmergencia": "139531288", "ErrorHeader": { "Error": [ { "CodigoError": "0", "MensajeError": "Servicio ejecutado correctamente" } ] } }, "E_MSG": "", "E_RESULT": "" }Source in the app
inferred from outage-ticket creation after the questionnaireassets/fixtures/createcaseauthenticated_response_success.json (CrearEmergenciaORQMsgResponse.NumEmergencia)
ANEEL quality indicators
POST
/v1/quality/get_indicadoresopendataReturns per-bill ANEEL continuity indicators (DIC duration, FIC frequency, DMIC max interruption) and critical-customer flags used on the quality / compensation screen.
Auth: Bearer session token from POST /v1/customer/session.
- I_COD_SERV
- I_PARTNER
- I_VERTRAG
- I_VKONT
- OPBEL
- EXBEL
- BILLING_PERIOD
- MES_REFERENCIA
- CJTO_ANEEL
- DESCRICAO
- DIC
- DIC_MES
- FIC
- FIC_MES
- DMIC
- DMIC_MES
- VALOR_CM
- DICRIV
- DICRIP
- PENAL_CALC
POST /v1/quality/get_indicadores HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "I_CANAL": "ZINT", "I_COD_SERV": "EI", "I_PARTNER": "0011592481", "I_VERTRAG": "0003365857", "I_VKONT": "100006470226", "I_GUID": "" }{ "E_MSG": "", "E_RESULT": "", "ET_INDICADORES": [ { "OPBEL": "509779709717", "EXBEL": "B-2302-484604235", "BILLING_PERIOD": "2023/02", "MES_REFERENCIA": "DEZ 22", "CJTO_ANEEL": "333", "DESCRICAO": "VARGINHA", "DIC": 0.47, "DIC_MES": 7, "FIC": 1, "FIC_MES": 4, "DMIC": 0.47, "DMIC_MES": 5, "VALOR_CM": 60.07, "VALOR_ITEM": 0 } ], "ET_CRITICOS": [ { "BILLING_PERIOD": "2023/02", "DICRIV": 0, "DICRIP": 13, "PENAL_CALC": 0 } ] }Source in the app
inferred from Indicadores de qualidade / compensação screensassets/fixtures/get_indicadores.json (ET_INDICADORES DIC/FIC/DMIC, ET_CRITICOS, I_COD_SERV=EI)
Report energy theft
POST
/v1/fraud/denunciafraudeopendataFiles a confidential energy-theft report (meter tampering, neighbour irregular connection, or direct tap on the pole) with optional photos and an anonymity flag.
Auth: Bearer session token from POST /v1/customer/session. Reporter identity is omitted when I_FLAG_ANONIMO is true.
- I_TIPO_OCORRENCIA
- I_OBSERVACOES
- I_FLAG_ANONIMO
- I_ENDERECO.CEP
- I_ENDERECO.RUA
- I_ENDERECO.BAIRRO
- I_NOME
- I_TELEFONE
- I_CELULAR
- IT_ANEXOS.NOME_ARQUIVO
- IT_ANEXOS.ARQUIVO
- E_PROTOCOLO
- E_RESULT
- E_MSG
POST /v1/fraud/denunciafraude HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session Content-Type: application/json { "I_CANAL": "ZINT", "I_TIPO_OCORRENCIA": "03", "I_OBSERVACOES": "Ligação direta no poste em frente ao 1200", "I_FLAG_ANONIMO": true, "I_ENDERECO": { "CEP": "01310100", "RUA": "AV PAULISTA", "BAIRRO": "BELA VISTA", "CIDADE": "SAO PAULO", "ESTADO": "SP" }, "IT_ANEXOS": [ { "NOME_ARQUIVO": "poste.jpg", "ARQUIVO": "data:image/jpeg;base64,/9j/4AAQ..." } ] }{ "E_RESULT": "0", "E_MSG": "Denúncia registrada", "E_PROTOCOLO": "0958950021", "I_TIPO_OCORRENCIA": "03", "I_FLAG_ANONIMO": true }Source in the app
inferred from Denúncia de Fraude wizard (tipo da ocorrência, endereço, anexos, dados do denunciante)assets/fixtures/denuncia_fraude.json endPoint denunciafraude with models I_TIPO_OCORRENCIA, I_OBSERVACOES, I_FLAG_ANONIMO, IT_ANEXOS, I_ENDERECO
Lookup address by CEP
GET
/v1/address/cep/{cep}opendataResolves a Brazilian CEP into street, neighbourhood, city and state for the Denúncia de Fraude and outage address forms.
Auth: Bearer session token from POST /v1/customer/session. Used by the fraud and outage address pickers.
- CEP
- RUA
- BAIRRO
- CIDADE
- ESTADO
- STREETCODE
- E_RESULT
- E_MSG
GET /v1/address/cep/01310100 HTTP/1.1 Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.session X-Canal: ZINT{ "E_RESULT": "0", "E_MSG": "", "I_ENDERECO": { "CEP": "01310100", "RUA": "AV PAULISTA", "BAIRRO": "BELA VISTA", "CIDADE": "SAO PAULO", "ESTADO": "SP", "STREETCODE": "" } }Source in the app
inferred from the endereço component on Denúncia de Fraude (config useFindaddresscep, validateCep, model I_ENDERECO)
Data categories
- installations
- bills
- payments
- meter readings
- outages
- quality indicators
- fraud reports
Where teams use this data
Outage-desk feed
A municipal operations bot posts /v1/outages/validateblackoutauthenticated then /v1/cases/getcaseauthenticated and joins NumEmergencia, Estado and E_PREVISAO onto a map of open Enel São Paulo tickets for the signed-in supply.
Fatura and PIX reconciliation
A household-finance app pages /v1/bills for OPBEL, EXBEL, BILLING_PERIOD and VALOR_CM, then pulls /v1/bills/{opbel}/pix so the holder can settle the same print document from any PIX wallet.
ANEEL continuity dashboard
A regulator-facing spreadsheet calls /v1/quality/get_indicadores and charts DIC, FIC and DMIC against DIC_MES / FIC_MES limits, flagging ET_CRITICOS rows where PENAL_CALC is non-zero.
Anonymous theft intake
A neighbourhood-watch form posts /v1/fraud/denunciafraude with I_TIPO_OCORRENCIA, I_ENDERECO and I_FLAG_ANONIMO=true so the reporter never appears on the protocol.
Frequently asked questions
How does Enel São Paulo authenticate the contract holder?
POST /v1/customer/session takes the holder's CPF and número da instalação and returns I_SSO_GUID plus the SAP keys I_ANLAGE, I_PARTNER, I_VERTRAG and I_VKONT. Later calls send that session as a Bearer token on channel I_CANAL=ZINT; biometric unlock reuses the stored session.
Which endpoints cover a power cut?
POST /v1/outages/validateblackoutauthenticated returns the branching ET_PERGUNTAS questionnaire. POST /v1/outages/registerblackoutauthenticated opens E_PROTOCOLO (or sets E_IMPEDIMENTO for an internal defect). POST /v1/cases/createcaseauthenticated mints NumEmergencia, and POST /v1/cases/getcaseauthenticated lists open emergencies with Motivo, Sub-Motivo and Estado.
What bill and quality fields are returned?
GET /v1/bills exposes OPBEL, EXBEL, BILLING_PERIOD, MES_REFERENCIA and VALOR_CM. POST /v1/quality/get_indicadores adds ANEEL DIC, FIC and DMIC per bill plus ET_CRITICOS (DICRIV, DICRIP, PENAL_CALC) for compensation.
Can energy theft be reported without revealing the caller?
Yes. POST /v1/fraud/denunciafraude accepts I_FLAG_ANONIMO=true, which blanks I_NOME / I_TELEFONE / I_CELULAR while still storing I_TIPO_OCORRENCIA, I_ENDERECO and optional IT_ANEXOS.
Topics
- Enel São Paulo API
- electricity bill OPBEL
- PIX fatura Enel
- falta de energia protocolo
- ANEEL DIC FIC DMIC
- autoleitura medidor
- denunciafraude
- I_ANLAGE I_VKONT
Need this app's data API integrated?
We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.
- NDA + SOW on every engagement
- Delivery in 3–7 days
- Payment only after acceptance
- Work scoped to authorized use