Hopp til hovedinnhold
Symfoni docs Virksomhetslommebok
Innhold

Brønnøysundregistrene: testintegrasjon

Konfigurer testutstedelse for virksomhetsidentitet med riktig utstederprofil, bevismal og Symfoni-API-nøkkel.

Kjerneside Oppdatert 10. september 2026 · 4 min lesetid

Status

Dette er en sandkassekonfigurasjon for testdata. EBWOID er en foreløpig virksomhetsidentitet i sandkassen og skal ikke beskrives som et ferdig produksjonsbevis.

Konfigurasjon

I den nåværende testprofilen er issuerSlug satt til brreg. Fagsystemet trenger:

  • base-URL: https://www.symfoni.dev/api/issuers/brreg
  • avtalt templateSlug, for eksempel euwoid
  • egen Symfoni-API-nøkkel
curl -X POST "https://www.symfoni.dev/api/issuers/brreg/credentials/euwoid/issue?offerUrlFormat=symfoni" 
  -H "Authorization: Bearer $SYMFONI_BRREG_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "attributes": {
      "organizationnumber": "999888777",
      "legalname": "Eksempelvirksomheten AS"
    }
  }'

Bruk bare feltene som finnes i den konfigurerte malen. Virksomhetsnavn og organisasjonsnummer må komme fra avtalt testkilde.

attributes støtter også nestede objekter og lister når malen definerer disse typene. Send ekte JSON-objekter og lister, og bruk malens eksakte tekniske feltnøkler. Serveren avviser ukjente felt, feil datatype og manglende påkrevde underfelt med HTTP 400 og error.code = "invalid_payload". Feilmeldingen angir feltstien, for eksempel registered_address.full_address eller representatives[0].legal_name. Responsformatet er det samme som ved utstedelse med flate felt.

EUCC

For EU Company Certificate brukes templateSlug=eucc og den versjonsfestede EUCC-kontrakten. EUCC endrer ikke EBWOIDs rolle som virksomhetsidentitet.

Direkte retur fra Altinn til Symfoni

Brregs lenkede EBWOID-flyt sender brukeren automatisk tilbake til Symfoni med tilbudet etter bestilling. Ved integrasjon med en eksplisitt returlenke åpnes den i samme fane. Bruk helst offerUri fra utstedelses-API-et direkte som lenkens href. Eksempelet over ber eksplisitt om offerUrlFormat=symfoni; responsen inneholder da en ferdig returlenke. Ikke URL-kod hele offerUri på nytt eller legg den inni en ny credential_offer_uri.

Illustrerende respons (tilbudsadressen er ikke et aktivt tilbud):

{
  "issuanceId": "issuance-example",
  "offerUri": "https://www.symfoni.dev/app/credential/offer?credential_offer_uri=https%3A%2F%2Fissuer.example%2Foffer%3Fid%3D123%26token%3Da%252Bb",
  "status": "offered",
  "templateSlug": "euwoid",
  "offerUrlFormat": "symfoni"
}

Dersom Brreg bare har selve tilbudsadressen, er mottaksadressen:

https://www.symfoni.dev/app/credential/offer?credential_offer_uri=<URL-kodet tilbudsadresse>

Kod tilbudsadressen som én parameterverdi, inkludert alle dens egne query-parametere. Eksempel for en landingsside hos Brreg:

const returnUrl = new URL('https://www.symfoni.dev/app/credential/offer');
returnUrl.searchParams.set('credential_offer_uri', rawCredentialOfferUri);
link.href = returnUrl.href;
link.textContent = 'Åpne beviset i Symfoni';

Innebygde tilbud støttes også: sett credential_offer til JSON-teksten via URLSearchParams i stedet for credential_offer_uri. Bruk én av parameterne per lenke. Returlenken åpner eksisterende mottaksflyt, som viser tilbudet før brukeren klikker «Legg til i lommeboken». Uten aktiv innlogging sendes brukeren via innlogging og tilbake til samme tilbud med alle parametere bevart.

Lenken til Altinn

Digdirs EBWOID-dokumentasjon oppgir allerede sandkasse + symfoni som en gyldig kombinasjon. issuer=symfoni velger utsteder og angir ikke hvilken lommebok beviset skal mottas i. Brreg opplyser at linked=true er nødvendig for brukeropplevelsen i den lenkede flyten.

Både velkomstsiden og lommeboken bruker knappen «Hent virksomhetsbevis hos Brønnøysundregistrene» med denne adressen i samme fane. Etter bestilling returnerer brukeren automatisk til Symfoni med tilbudet, uten manuell innliming:

https://brg.apps.tt02.altinn.no/brg/lommebok-v1/set-query-params?issuer=symfoni&environment=sandkasse&linked=true

Altinn dokumenterer prefylling via set-query-params.

Bekreftet returflyt 10. september 2026

Brukeren bekreftet at den lenkede flyten fra Brregs TT02-sandkasse tilbake til https://www.symfoni.dev fungerte uten manuell innliming. Dette erstatter statusen fra 9. september, da testen bare nådde en sluttside med QR-kode og tilbudsadresse uten synlig returknapp.

Bekreftelsen gjelder den gjennomførte brukerflyten. En runde uten aktiv Symfoni-innlogging ble ikke særskilt bekreftet i denne testen; bevaring av tilbud gjennom innlogging dekkes av lokale regresjonstester.

Kontroll ved senere sandkassetester

  1. Åpne virksomhetsbevis-tjenesten fra Symfoni. Kontroller at Altinn åpnes i samme fane med Symfoni og sandkasse forhåndsvalgt.
  2. Logg inn med TestID / ID-porten test, velg virksomhet og bestill EBWOID.
  3. Kontroller automatisk retur til Symfoni med tilbudet. Se gjennom tilbudet, klikk «Legg til i lommeboken» og kontroller at beviset vises i lommeboken.
  4. Ved testing uten aktiv Symfoni-innlogging, kontroller at innlogging returnerer til riktig tilbud. Kontroller også tilbud med egne query-parametere dersom utstederen tilbyr det.
  5. Registrer dato, miljø, testutfall og eventuelle avvik. Ikke lagre aktive tilbudslenker, engangskoder eller tokens i testnotatet.

Drift

  • Lagre issuanceId hvis dere må vite om tilbudet ble hentet.
  • Avtal hvor raskt en tilbakekalling skal bli synlig for mottakere.
  • Roter API-nøkkelen og fjern tilgang når integrasjonen avsluttes.
  • Skill testpåstander fra dokumenterte fakta om Brønnøysundregistrenes produksjonstjenester.

Se Digdirs EBWOID-dokumentasjon for den nasjonale sandkassens begreper og avgrensninger.