Vejledning til DBS (PubSub API)

Vejledning til DBS (PubSub API)

Introduktion

Dette dokument beskriver Flow 1 og Flow 1.1 for integration af DBS med Kitos.

DBS skal kunne opdatere de juridiske navne og databehandlere for IT-systemer i Kitos.

Kitos skal publicere hændelser til et nyt PubSub API, når navne eller databehandlere for IT-systemer i Kitos ændres. DBS kan abonnere på disse ændringer.

På nuværende tidspunkt findes PubSub API’et i staging på: https://staging-pubsub.kitos.dk/. Tilsvarende dokumentation for PubSub API’et findes på: http://staging-pubsub.kitos.dk/swagger/index.html

Overblik – DBS-system eller databehandlernavn

Når navnet på systemet eller databehandleren for et DBS-system ændres, skal det tilsvarende system opdateres i Kitos.

Påkrævede data:

  • System UUID

Valgfrit:

  • Systemnavn

  • Databehandlernavn

API

Request

PATCH

/api/v2/it-systems/{uuid}/dbs

Request

{ "systemName": "Name of the system", "dataProcessorName": "Name of the data processor" }

Response

  • 204 - NoContent
    Opdateringen lykkedes

  • 400 - BadRequest
    Der er fejl i navnet/navnene

  • 401 - Unauthorized
    Fejl i auth-header eller udløbet token

  • 403 - Forbidden
    Utilstrækkelige adgangsrettigheder

  • 404 - NotFound
    Ugyldigt system UUID

Bemærkninger

  • Maksimalt antal tegn i navn: 100

Response

Statuskode: 204 NoContent


Overblik – Kitos-system eller databehandlernavn

Når navnet eller databehandleren på et Kitos-system ændres, skal ændringen kunne opfanges af DBS. Dette sker via den nye pub/sub-komponent.
DBS kan abonnere på disse ændringer via nedenstående PubSubApi-endpoint. Det angivne callback er den endpoint, DBS ønsker at modtage events på.

PubSub API’et udstiller 3 operationer. Oprettelse, sletning og visning af abonnementer. De konkrete detaljer kan ses i swagger dokumentation: http://staging-pubsub.kitos.dk/swagger/index.html


Eksempel på brug

For at bruge Kitos PubSub API skal du have et gyldigt token fra en Kitos-bruger med rollen apiUser. Dette token kan hentes fra Kitos API:

image-20250313-114417.png

Med dette token kan du autorisere kaldet som vist her:

image-20250313-114156.png

For at kunne bruge PubSub API’et skal brugeren som token’et tilhører have rollen “Systemintegrator”. Denne rolle kan kun udstedes af Globale administratorer.

Abbonnementer kan kun slettes af brugeren som oprettede dem. Brugere kan kun se de abonnementer de selv har oprettet.


Callbacks

Følgende JSON-model bliver sendt til den angivne callback.
<topic-model> afhænger af det emne (topic), der er abonneret på.

Model

{ "Payload": <topic-model> }

Bemærkninger:

  • Payload afhænger af det emne, der er abbonneret på.

Callback authentication

Callbacks fra Pubsubben kan autentificeres med HMAC metoden. Kontakt Kitos leverønderen for at få fat i nøglen.


Topic models

KitosITSystemChangedEvent

Model

{ "SystemUuid": "value", "SystemName": "name", "DataProcessorUuid": "value", "DataProcessorName": "a name" }

Bemærkninger:

  • Hvert felt (undtagen SystemUuid) er valgfrit og medtages kun, hvis der er sket en ændring i data.

  • DataProcessorUuid og DataProcessorName kan være null.


Eksempler

Databehandler ændret

{ "Payload": { "SystemUuid": "f44c96ef-4e3d-4af2-b9ed-4e06d4681f28", "DataProcessorUuid": "8900028e-99dd-440e-a20c-5dc3068d4374", "DataProcessorName": "Test1" } }

Databehandler fjernet

{ "Payload": { "SystemUuid": "f44c96ef-4e3d-4af2-b9ed-4e06d4681f28", "DataProcessorUuid": null, "DataProcessorName": null } }

Navneændring

{ "Payload": { "SystemUuid": "f44c96ef-4e3d-4af2-b9ed-4e06d4681f28", "SystemName": "demotest12345" } }