Security API
OAuth Rest API voor server-naar-server
https://authenticatie.vlaanderen.be/docs/beveiligen-van-api/oauth-rest/rest-server2server/
API Documentatie
API Formaat algemeen
POST wordt gebruikt om iets nieuws aan te maken, PUT wordt gebruikt om bestaande data aan te passen
<startURL> in staging: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations
API - Organisaties
Mogelijkheden: Maak nieuwe aan op basis van KBO nummer
Input: KBO-nummer
Output: OVO-code
Business regels:
het KBO-nummer moet geldig zijn (= juiste formaat)
Als er al een organisatie bestaat met dit kbo nummer, wordt het OVO nummer van deze organisatie weergegeven
Als deze nog niet bestaat, dan worden de gegevens via MAGDA opgevraagd. Lukt dit, dan wordt een nieuwe organisatie aangemaakt en hiervan de OVO code teruggegeven.
Formaat:
PUT <startURL>/kbo/<kboNummer>
Voorbeeld
https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/kbo/0316380841 Body: leeg
API - Bankrekeningnummers
Mogelijkheden: nieuw aanmaken (create) & bestaande wijzigen (update)
Input:
een organisatie (via ID)
een bankrekeningnummer + een vlag die aangeeft of dit een geldige IBAN zou moeten zijn
een BIC code
Een geldigheidsperiode (geldig van - tot)
<enkel bij update>:
verwijzing naar bestaand record (op basis van bank account id)
Output: NVT (gewoon OK)
Business regels:
Indien Bankrekeningnummer een IBAN is → formaat moet geldig zijn
Indien Bankrekeningnummer geen IBAN is → geen controle op het formaat
Indien BIC-code ingevuld is → formaat moet geldig zijn
Indien geldig van en/of tot zijn ingevuld → moet correct datum formaat zijn
Bankrekeningnummers mogen niet overlappen in tijd (er mag geen identiek bankrekeningnummer op het zelfde moment geldig zijn)
Formaat:
create: POST <StartURL>/<organisationID>/bankaccounts
update: PUT <StartURL>/<organisationID>/bankaccounts/<bankaccountID>
Voorbeeld
create: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/bankaccounts update: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/bankaccounts/084a0921-3c08-4b77-a994-2aba33c09b04 Body: { "bankAccountNumber": "BE68539007547034", "isIban": "true", "bic": "GEBABEBB" "validFrom": "2022-01-01", "validTo": "2050-12-31" }
API - Sleutels
Mogelijkheden: nieuw aanmaken (create) & bestaande wijzigen (update)
Input:
bestaande organisatie op basis van ID
sleutel type (op basis van ID)
sleutel waarde
geldigheidsperiode (geldig van - tot)
<enkel bij update>:
verwijzing naar bestaande sleutel (op basis van id)
Output: NVT (gewoon OK)
Business regels:
Sleutel type moet bestaan
Sleutel type moet toegestaan zijn:
CJM mag VOP en Onderwijsdatabank beheren
DFB mag Orafin sleutel beheren
onze eigen testclient mag alles beheren
Indien geldig van en/of tot zijn ingevuld → moet correct datum formaat zijn
Sleutels van eenzelfde sleuteltype mogen niet overlappen in tijd (er mag geen identiek sleuteltype op het zelfde moment geldig zijn)
Formaat:
create: POST <StartURL>/<organisation-ID>/keys
update: PUT <StartURL>/<organisation-ID>/keys/<Key-ID>
Voorbeeld
create: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/keys update: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/keys/2827dada-042e-47ca-aa83-dd70106a38cb Body: { "keyTypeId": "939a72cb-01b8-7edb-f373-bb0370433c95", "keyValue": "1234", "validFrom": "2022-01-01", "validTo": "2050-12-31" }
API - Classificaties
Mogelijkheden: nieuw aanmaken (create) & bestaande wijzigen (update)
Input:
bestaande organisatie (via ID)
classificatie type (via ID)
classificatie (via ID)
geldigheidsperiode (geldig van - tot)
<enkel bij update>:
verwijzing naar bestaande classificatie (op basis van id)
Output: NVT (gewoon OK)
Business regels:
classificatie type moet bestaan
classificatie type moet toegestaan zijn:
CJM mag enkel de types “CJM-leverancier”, “CJM Alden-Biesen” en “Cultuur, Jeugd en Madia” beheren
onze testclient mag alle classificatietypes beheren
classificatie moet bestaan EN bij het classificatie type behoren
Classificaties mogen niet overlappen in tijd (er mag geen identiek classificatietype op het zelfde moment geldig zijn)
Uitzondering: Van classificatietype “Cultuur, Jeugd en Media” mogen meer classificaties op hetzelfde moment in tijd bestaan. Maar Elke classificatie binnen dit type mag op zich maar 1 keer bestaan. Voorbeeld “Cultuur, Jeugd en Media - Auteur” mag samen bestaan met “Cultuur, Jeugd en Media - Aannemer”, maar er mag maar 1 “Cultuur, Jeugd en Media - Auteur” bestaan.
Formaat:
create: POST <StartURL>/<organisation-ID>/classifications
update: PUT <StartURL>/<organisation-ID>/classifications/<classification-ID>
Voorbeeld
create: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/classifications update: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/classifications/aaf5b0c3-1bec-452a-bef8-70565786d843 Body: { "organisationClassificationTypeId": "c35407e4-8559-08d4-f461-a8247c993d58", "organisationClassificationId": "b0fe0974-31dd-e54b-9d7f-af73b8fd5869", "validFrom": "2022-01-01", "validTo": "2050-12-31" }
API - Contacten
Mogelijkheden: nieuw aanmaken (create) & bestaande wijzigen (update)
Input:
bestaande organisatie (via ID)
contact type (via ID)
contact
geldigheidsperiode (geldig van - tot)
<enkel bij update>:
verwijzing naar bestaand contact (via ID)
Output: NVT (gewoon OK)
Business regels:
Contact type moet bestaan
Contacten mogen niet overlappen in tijd (er mag geen identiek contact op het zelfde moment geldig zijn)
Formaat:
create: POST <StartURL>/<organisation-ID>/contacts
update: PUT <StartURL>/<organisation-ID>/contacts/<contact-ID>
Voorbeeld
create: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/contacts update: https://api.organisatie.dev-vlaanderen.be/v1/edit/organisations/70fa7d83-f336-0ede-e1b2-503e3b4f5e57/contacts/6dc8a884-f8c7-4edf-b3f3-69331a9ecfc5 Body: { "ContactTypeId": "f611e91d-a811-4519-afa6-08f0e9dcdd9b", "ContactValue": "john.doe@domain.com", "validFrom": "2022-01-01", "validTo": "2050-12-31" }
0 Comments