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 lykkedes400 - BadRequest
Der er fejl i navnet/navnene401 - Unauthorized
Fejl i auth-header eller udløbet token403 - Forbidden
Utilstrækkelige adgangsrettigheder404 - 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:
Med dette token kan du autorisere kaldet som vist her:
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:
Payloadafhæ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.DataProcessorUuidogDataProcessorNamekan 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"
}
}