Företagstjänster

Mina sidor för företagskunder hos kommunala bolag

Självserviceportal där företag som är kunder hos de kommunala bolagen ser sina avtal, fakturor, förbrukning och driftinformation samt sköter fullmakter och medgivanden.

Om applikationen

Tjänsten är en samlad ingång för företagskunder hos Sundsvalls kommunala bolag. Efter inloggning väljer användaren vilken organisation den vill företräda och får sedan en översikt över aktuell energiförbrukning och produktion, avtal, fakturor, driftstörningar och händelser kopplade till kundförhållandet.

Företrädare kan hantera medgivanden och fullmakter, se statistik över förbrukning samt använda självservicefunktioner. Vissa åtgärder bekräftas med BankID-signering. En inbyggd AI-assistent kan svara på frågor om avtal, fakturor och statistik.

Portalen har även ett administrationsläge där behörig personal kan agera i en kunds ställe för att ge support.

Det här stödjer applikationen

  • Översikt och förbrukning – Aktuell energiförbrukning och produktion per månad med jämförelser bakåt i tiden.
  • Avtal och fakturor – Samlad vy över organisationens avtal och fakturor hos de kommunala bolagen.
  • Driftinformation – Information om pågående driftstörningar som berör kundens anläggningar.
  • Fullmakter och medgivanden – Hantering av vem som får företräda organisationen, med BankID-signering.
  • AI-assistent – Inbyggd assistent som svarar på frågor om avtal, fakturor och statistik.

Teknisk dokumentation

Nedan beskrivs hur applikationen är uppbyggd, vilka API:er den använder och vad som krävs för att driftsätta den. Informationen är härledd ur källkoden och dess konfiguration på GitHub.

Arkitektur

Arkitekturskiss för Mina sidor för företagskunder hos kommunala bolag: webbappens delar och dess integrationer.
Lösningsarkitektur, härledd ur källkodens konfiguration.

Applikationen består av en webbaserad frontend (Next.js 16, React 19, i18next) och en backend (Node.js, Express 5, TypeScript) som utvecklas i samma kodbas. Verksamhetsanrop går via kommunens gemensamma API-plattform (WSO2) – frontend pratar aldrig direkt med underliggande system. Inloggning: SAML (SSO) för inloggning, BankID-signering via CGI GRP för underskrifter; separat admin-inloggning. Övriga integrationer som förekommer i koden: CGI GRP (BankID-signering via Funktionstjänster), Eneo (AI-plattform), SAML IdP.

Teknikstack

  • Frontend: Next.js 16, React 19, i18next
  • Backend: Node.js, Express 5, TypeScript
  • Test: Jest (enhetstester), Cypress (e2e)

API-beroenden

Applikationen konsumerar följande API:er via kommunens API-plattform. Versionerna är hämtade ur källkodens API-konfiguration.

API-beroenden för Mina sidor för företagskunder hos kommunala bolag
APIVersionAnvändning
ContactSettings2.0Kontaktinställningar och aviseringsval.
Disturbances5.0Driftstörningsinformation.
Invoices9.5Fakturor för organisationen.
Customer4.0Kunduppgifter hos bolagen.
Installedbase3.2Kundens anläggningar och installationer.
Agreement4.1Kundens avtal.
MeasurementData3.3Mätvärden för förbrukning och produktion.
MyRepresentatives4.4Fullmakter och ombudskap.
Eventlog2.3Händelselogg kopplad till kundförhållandet.
BFUS1.0.0Bolagsspecifik funktionalitet (bolagens försystem).
SelfServiceAI2.0AI-assistentens frågetjänst.
Eneo-Sundsvall2.0Kommunens AI-plattform som driver assistenten.
SimulatorServer2.0Simulerings-API för test och utveckling.
LegalEntity2.0Uppgifter om juridiska personer och organisationer.
Citizen3.0Personuppgifter för inloggade företrädare.
ActiveDirectory2.0Behörighetskontroll för administrationsläget.
Employee2.0Uppslag av intern personal i administrationsläget.

Konfiguration och driftsättning

  • Miljöfiler: frontend/.env-example och backend/.env.example.local
  • CLIENT_KEY och CLIENT_SECRET mot kommunens API-plattform (WSO2)
  • SAML-inställningar med IdP-adress och certifikat
  • GRP-inställningar (adress, tjänste-ID och åtkomstnyckel) för BankID-signering
  • Kommun-ID (MUNICIPALITY_ID=2281)

Noterbart ur källkoden

  • Administrationsläget låter behörig personal växla till en kunds vy (impersonation) för supportändamål.
  • BankID-signering sker via CGI:s GRP-tjänst med QR-kodsstöd.
  • AI-assistenten är kopplad till kommunens Eneo-plattform via SelfServiceAI-API:t.

Källkod

Källkoden är öppen och finns hos Sundsvalls kommun på GitHub. I källkodsförrådet finns även instruktioner för att klona, konfigurera och starta applikationen i egen miljö.