Melding til annen myndighet
Standardisering av melding til annen myndighet
Hensikt
Hensikten med ‘Melding til annen myndighet’-systemet (MTAM) er å fasilitere automatisk kommunikasjon melding forskjellige tilsynskilder uten at de må sette opp egne integrasjoner mot hver eneste annen tilsynskilde. Dette gjøres med Tilda som bindeledd, slik at en tilsynskilde bare trenger å sette opp integrasjon for MTAM, og så håndterer Tilda resten av prosesseringen.

Arktitekturoversikt for MTAM
Hvordan fungerer det faktisk?
Hvert femte minutt tar Tilda å spør tilsynskilder som har implementert MTAM for nye meldinger. Se implementering for hva som skal til for å ha implementert MTAM. Tilda sjekker sin egen liste over når den sist hentet meldinger, og så spør kun om meldinger som har dukket opp etter siste spørring. Hvis den finner meldinger, så tar den å leverer det til sine respektive mottakere.

MTAM flytoversikt
Implementering
DAN vil med jevne mellomrom gjøre spørringer mot tilsynsmyndigheter som har implementert MTAM. Det trengs tre endepunkter for å kunne ferdig-implementere MTAM:
- GET endepunkt for å hente liste over meldinger til andre myndigheter
- GET endepunkt for å hente melding til annen myndighet på ID
- POST endepunkt for å kunne levere varsel om melding
Meldingstyper
I meldingsinnholdet til annen myndighet er det et felt meldingsType
. Dette skal være én av tre meldingstyper:
- “varsel-om-rapport”
- “varsel-om-koordinering”
- “varsel-fritekst”
GET endepunkt for å hente liste over meldinger
{baseurl}/mtam?fromDate={fromDate}
GET
https://api.bestetilsynsmyndighet.no/mtam?fromDate=2024-10-24T12:52:43
Response:
[
{
"identifikator": "e0095746-56dd-4513-814e-57494ba42d38",
"datoForMeldingTilAnnenMyndighet": "2024-10-17T12:20:02.0775177Z",
"mottaker": "111111111",
"meldingOmTildaenhet": "2222222222",
"meldingsinnholdTilAnnenMyndighet":
{
"meldingsType": "varsel-om-rapport",
"fritekst": "Hello World"
}
}
]
For å kvittere ut varselet som mottatt returnerer man 200 OK med tom body. Alle responser med httpkode som ikke starter med 2 vil føre til retry.
OAS:
application/json:
schema:
type: array
items:
type: object
properties:
identifikator:
type: string
datoForMeldingTilAnnenMyndighet:
type: string
mottaker:
type: string
meldingOmTildaenhet:
type: string
meldingsinnholdTilAnnenMyndighet:
type: object
properties:
meldingsType:
type: string
fritekst:
type: string
GET endepunkt for å hente melding på ID
{baseurl}/mtam/{id}?requestor={requestor_orgnr}
GET
https://api.bestetilsynsmyndighet.no/mtam/e0095746-56dd-4513-814e-57494ba42d38?requestor=998997801
Respons:
{
"identifikator": "e0095746-56dd-4513-814e-57494ba42d38",
"datoForMeldingTilAnnenMyndighet": "2024-10-17T12:20:02.0775177Z",
"mottaker": "111111111",
"meldingOmTildaenhet": "2222222222",
"meldingsinnholdTilAnnenMyndighet":
{
"meldingsType": "varsel-om-rapport",
"fritekst": "Hello World"
}
}
OAS:
application/json:
schema:
type: object
properties:
identifikator:
type: string
datoForMeldingTilAnnenMyndighet:
type: string
mottaker:
type: string
meldingOmTildaenhet:
type: string
meldingsinnholdTilAnnenMyndighet:
type: object
properties:
meldingsType:
type: string
fritekst:
type: string
POST endepunkt for å kunne levere varsel om melding
{baseurl}/mtam
POST
https://api.bestetilsynsmyndighet.no/mtam
Formatet vil følge CloudEvent-formatet
Request body:
{
"specversion": "1.0",
"id": "e0095746-56dd-4513-814e-57494ba42d38",
"time": "2024-10-17T12:20:02.0775177Z",
"type": "dan.tilda.meldingfraannenmyndighet.v1",
"source": "https://api.data.altinn.no/v1/directharvest/TildaMeldingTilAnnenMyndighetv1?subject=1111111111&identifikator=e0095746-56dd-4513-814e-57494ba42d38&envelope=False",
"subject": "1111111111",
"resource": "urn:altinn:resource:tilda-melding-til-annen-myndighet"
}
OAS:
application/json:
schema:
type: object
properties:
specversion:
type: string
id:
type: string
time:
type: string
type:
type: string
source:
type: string
subject:
type: string
resource:
type: string
Spørsmål og svar
Trenger vi å implementere både sending og mottak?
Det må være gyldige endepunkter som Tilda kan kalle, men hvis man bare ønsker å implementere sending kan man f.eks. bare lage et mottaks-endepunkt som returnerer 200 OK.
Må vi sende meldingene våre til Tilda?
Nei, Tilda vil kalle på endepunktene når den skal hente meldinger.
Må vi ha støtte for å levere meldinger etter gitt tidspunkt?
Ja. I tilfelle noe går feil ved utsending så vil ikke Tilda oppdatere når den sist hentet meldinger og vil prøve på nytt igjen med samme tidspunkt som utgangspunkt. Det gjør også at man kan hente meldinger tilbake i tid ved behov.