12.0.0
- 1 JIRA
- 2 Github
- 3 Ændringer
- 3.1 Ekstern adgang (med token) til API V1 og (inkl. OData lukkes)
- 3.2 Serialisering af enum typer rettes så det stemmer med beskrivelsen i swagger dokumentet
- 3.3 It-system-usage: Tilføj/fjern endpoints til håndtering ad systemroller
- 3.4 It-system-usage: Tilføjelse af endpoint til at hente “indgående” relationer
- 3.5 Organization: Tilføjelse af query parameter nameOrCvrContent
- 3.6 It-system: Tilføjelse af endpoint til udlæsning af hierarki
- 3.7 It-system-usage: Tilføjelse af endpoints til individuel administration af eksterne referencer
- 3.8 It-system-usage: Tilføjelse af endpoints til individuel administration journalperioder
- 3.9 It-system: Tilføjelse af query parameter usedInOrganizationUuid
- 3.10 It-system: Tilføjelse af permissions endpoint
- 3.11 It-interface: Tilføjelse af permissions endpoint
- 3.12 It-interface: Tilføjelse af query parameter usedInOrganizationUuid
- 3.13 It-interface: Tilføjelse af query parameter interfaceId og organizationUuid
JIRA
https://os2web.atlassian.net/projects/KITOSUDV/versions/11190/tab/release-report-all-issues
Github
https://github.com/os2kitos/kitos/releases/tag/12.0.0
Ændringer
Ekstern adgang (med token) til API V1 og (inkl. OData lukkes)
Som varslet af flere omgange, lukkes adgangen til API V1 nu for ekstern adgang.
https://os2web.atlassian.net/wiki/spaces/KITOS/pages/657293331
I første omgang gøres endpoints utilgængelige via JWT, men på den lange bane slettes API’erne helt, da de primært eksisterer for at understøtte den brugerflade der forventes erstattes i løbet af 2023/24
Hvordan genkender jeg et “V1” endpoint?
V1 endpoints adskilles fra V2 ved, at de ikke indeholder starten api/v2
men derimod starter med:
odata/*
api/v1/*
api/*
Authorize endpoints består i API V1
Authorize endpointet for udstedelse af JWT består.
POST /api/authorize/GetToken
Kompatibilitet af data
I V2 benyttes kun uuid
til identifikation af entiteter, og nogle entiteter forsvinder som identificerbare objekter og overgår til at være simple “value objects” hvis identitet håndteres internt.
Serialisering af enum typer rettes så det stemmer med beskrivelsen i swagger dokumentet
I swagger dokumentationen har enum typer siden start været beskrevet som “tekst-valg” dvs. man fik en beskrivelse af f.eks.
"isAgreementConcluded": {
"description": "Determines if a data processing agreement has been concluded",
"enum": ["No", "Yes", "Irrelevant", "Undecided"],
"type": "string"
},
Når man fik svaret tilbage fra KITOS var værdien imidlertid numerisk dvs. f.eks. 1
.
Dette rettes nu således at returværdien stemmer overens med det beskrevne.
Det bemærkes at KITOS ikke har modtaget fejlmeldinger vedrørende dette, hvorfor det på nuværende tidspunkt forventes at berøre meget få integrationer.
Migrering hvis man allerede forventer numeriske værdier
Skulle man allerede have baseret sin integration på forventningen om numeriske værdier i retursvaret fra KITOS, kan man bevare dette ved at tilføje en header til sit request:
X-KITOS-SERIALIZE-ENUM-AS-INTEGER: True
Herved kan man “fortsætte som man plejer” på ubestemt tid, eller bruge headeren indtil man får migreret sin datamodel.
It-system-usage: Tilføj/fjern endpoints til håndtering ad systemroller
Normalt kan systemroller modificeres ved at skrive hele den ønskede systemrolle-liste via PATCH eller PUT. For en simplere tilgang til enkelt-roller, tilføjes to endpoints:
PATCH /api/v2/it-system-usages/{systemUsageUuid}/roles/add
PATCH /api/v2/it-system-usages/{systemUsageUuid}/roles/remove
It-system-usage: Tilføjelse af endpoint til at hente “indgående” relationer
Hidtil har man kunne udlede indkomne relationer ved
At hente alle IT-systemer i anvendelse via
relatedTo
query.Dernæst hente relationer ud der peger på systemet
For en nemmere tilgang hertil tilføjes endpointet:
GET /api/v2/it-system-usages/{systemUsageUuid}/incoming-system-relations
Returns:
[
{
"fromSystemUsage": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
},
"uuid": "00000000-0000-0000-0000-000000000000",
"relationInterface": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
},
"associatedContract": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
},
"relationFrequency": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
},
"description": "string",
"urlReference": "string"
}
]
Organization: Tilføjelse af query parameter nameOrCvrContent
Ved anvendelse af den nye query parameter er det muligt at foretage søgning på hhv. navn- eller CVR indhold.
GET /api/v2/organizations?nameOrCvrContent={customQuery}
It-system: Tilføjelse af endpoint til udlæsning af hierarki
Der tilføjes et endpoint til nemt at udlæse det hierarki som et it-system indgår i.
GET /api/v2/it-systems/{uuid}/hierarchy
[
{
"deactivated": true,
"node": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
},
"parent": {
"uuid": "00000000-0000-0000-0000-000000000000",
"name": "string"
}
}
]
It-system-usage: Tilføjelse af endpoints til individuel administration af eksterne referencer
Ifm blev det muligt at rette eksisterende referencer via PATCH
af hovedressourcen. For simplere administration af enkelte referencer tilføjes nu POST
, PUT
og DELETE
endpoints til referencer tilknyttet en it-system-usage
ressource.
POST /api/v2/it-system-usages/{systemUsageUuid}/external-references
DELETE /api/v2/it-system-usages/{systemUsageUuid}/external-references/{externalReferenceUuid}
PUT /api/v2/it-system-usages/{systemUsageUuid}/external-references/{externalReferenceUuid}
It-system-usage: Tilføjelse af endpoints til individuel administration journalperioder
Til simpel administration af enkelte journalperioder tilføjes tre endpoints til it-system-usage
ressourcen.
POST /api/v2/it-system-usages/{systemUsageUuid}/journal-periods
DELETE /api/v2/it-system-usages/{systemUsageUuid}/journal-periods/{journalPeriodUuid}
GET /api/v2/it-system-usages/{systemUsageUuid}/journal-periods/{journalPeriodUuid}
PUT /api/v2/it-system-usages/{systemUsageUuid}/journal-periods/{journalPeriodUuid}
It-system: Tilføjelse af query parameter usedInOrganizationUuid
Der tilføjes et nyt query parameter til at udlæse alle it-systemer, der er taget i anvendelse i en bestemt organisation.
Derved kan man nemt udlæse alle it-system
master data for it-system-usage
ressourcerne udlæst fra same organisation.
GET /api/v2/it-systems?usedInOrganizationUuid={orgUuid}
It-system: Tilføjelse af permissions endpoint
Med udgangspunkt i rettighederne knyttet til token, kan man udlæse rettigheder i kontekst af en konkret it-system
ressource.
GET /api/v2/it-systems/{systemUuid}/permissions
It-interface: Tilføjelse af permissions endpoint
Med udgangspunkt i rettighederne knyttet til token, kan man udlæse rettigheder i kontekst af en konkret it-interface
ressource.
GET /api/v2/it-interfaces/{interfaceUuid}/permissions
It-interface: Tilføjelse af query parameter usedInOrganizationUuid
Der tilføjes et nyt query parameter til at udlæse alle it-interfaces, der er taget i anvendelse i en bestemt organisation (via en systemanvendelse af det udstillende system).
Derved kan man nemt udlæse alle it-interface
master data for it-system-usage
ressourcerne udlæst fra same organisation.
GET /api/v2/it-interfaces?usedInOrganizationUuid={orgUuid}
It-interface: Tilføjelse af query parameter interfaceId
og organizationUuid
Der tilføjes et to query parametre
organizationUuid
: Medtag kunit-interface
ressourcer oprettet i organisationen.interfaceId
: Medtag kunit-interface
ressourcer med sammeinterfaceId
som parameteren.