Hændelser udstilles via GraphQL-tjenesterne, som en entitet for hvert register. Dvs. man kun vil modtage hændelser for et enkelt register per kald, og der vil kun være hændelser for de entiteter man har adgang til. Adgangssystemet for adgang til entiteter og hvordan adgang tildeles er beskrevet i *\[C0200-ENTITETSBASEREDE-GRAPHQL\]{*}. 
I disse eksempler bruges API key som autentifikationsmetode til at hente hændelser fra BBR:

Hændelser per register

Følgende query i Figur 4 vil sende en forespørgsel til BBR om at få hændelser for den specifikke entitet "Bygning":
query {
BBR_Events(
where: {
entityname: { eq: "Bygning" }
}
) {
nodes {
eventid
entityname
eventaction
datafordelerRegisterImportSequenceNumber
datafordelerOpdateringstid
fromfailedimport
object_id
object_datafordelerRowId
object_datafordelerRowVersion
object_registreringfra
object_registreringtil
object_status
object_virkningfra
object_virkningtil
}
}
}
Figur 4: BBR eksempel query


Abonnement på hændelser

Forespørgsler til at abonnere på hændelser er næsten ens med almindelige GraphQL queries, med den forskel at der kommer et "subscription"-præfix på i stedet for "query". Følgende forespørgsel i Figur 5 til BBR abonnerer på hændelser for den specifikke entitet "Bygning":
subscription {
BBR_Events(
where: {
entityname: { eq: "Bygning" }
}
)
{
eventid
entityname
eventaction
datafordelerRegisterImportSequenceNumber
datafordelerOpdateringstid
fromfailedimport
object_id
object_datafordelerRowId
object_datafordelerRowVersion
object_registreringfra
object_registreringtil
object_status
object_virkningfra
object_virkningtil
}
}
Figur 5: BBR-hændelse abonnement query

Status på register import

Registre importerer data til Datafordeleren i pakker. Information om tilstanden og aktualiteten af denne dataimport bliver udstillet til anvendere gennem RegisterImportStatus entiteten. RegisterImportStatus er en åben entitet, som alle anvendere har adgang til.
RegisterImportStatus opdateres kun når en hel pakke af hændelser er færdigimporteret, mens individuelle hændelser løbende tilføjes til hændelsestabellen under importen. Dette sikrer, at anvendere kan:


Anvendere bruger RegisterImportStatus til at sikre, at de er opdaterede med alle hændelser indenfor et givent register ved at sammenligne dets sekvensnummer med sekvensnummeret på de hændelser de processerer.
Query i Figur 6 vil hente data fra RegisterImportStatus:
query {
DAF_RegisterImportStatus {
lastSequenceNumber,
lastEventId,
lastUpdated
}
}
Figur 6: Eksempel query for RegisterImportStatus
Forespørgslen sendes til URL'en som tilhører det registers entitetsbaserede GraphQL-tjeneste, som man vil have oplysninger fra, se for eksempel BBR i afsnit 3 (Udstilling af hændelser). RegisterImportStatus udstiller de 3 felter som vises i Tabel 4.

Feltnavn

Betydning

lastSequenceNumber

Sekvensnummeret på senest indlæste pakke for registeret.

lastEventId

ID'et på den seneste hændelse genereret for et givent register.

lastUpdated

Tidspunkt for seneste opdatering.

Tabel 4: RegisterImportStatus felter

Abonnering på RegisterImportStatus

Da RegisterImportStatus er eksponeret gennem GraphQL på samme måde som hændelser, er det muligt at abonnere på ændringer til "DAF_RegisterImportStatus".
Bemærk at Datafordeleren kun gemmer én række per replikeringskanal i databasen. Dette har den konsekvens, at hvis flere opdateringer forekommer inden for det interval der udsendes hændelser, vil kun de seneste data blive sendt til anvendere gennem abonnementer. Se Figur 7 for eksempel på forespørgsel til at oprette abonnement på RegisterImportStatus.
subscription {
DAF_RegisterImportStatus {
lastSequenceNumber,
lastEventId,
lastUpdated
}
}
Figur 7: Eksempel på subsciption for RegisterImportStatus

Register import metadata i fildownloads

Sekvensnummeret fra RegisterImportStatus udstilles som metadata for fildownloads under GetAvailableFileDownloads, hvis en anvender ønsker at kombinere hændelser med fildownloads, til at vedligeholde egen data. Mere information om vedligeholdelse af kopiregister med fildownloads kan findes i *\[C0200-FILDOWNLOAD{*}<span style="color: #0f2147"><strong>]</strong></span>.

Registre uden hændelser

Der er 3 registre, som er tilgængelige i GraphQL, men som ikke har nogen funktionalitet relateret til moderniserede hændelser. Disse registre er:

For registre med historiske data eller sjældne opdateringer er hændelsesfunktionalitet ikke relevant. Derfor kan hverken Events eller RegisterImportStatus tilgås i GraphQL-tjenesterne for disse registre.