Document toolboxDocument toolbox

Documentatie EDIT API

Security EDIT API

OAuth Rest API voor server-naar-server

https://authenticatie.vlaanderen.be/docs/beveiligen-van-api/oauth-rest/rest-server2server/

Momenteel 3 scopes beschikbaar:

  • Orafin/Departement Financiën en Begroting

    • Beheer sleutels

  • Kiosk/Departement Cultuur, Jeugd en Media

    • Beheer sleutels

    • Beheer bankrekeningnummers

    • Aanmaken organisaties obv kbo nummers

    • Beheer contacten

    • Beheer classificaties

  • testclient (Digitaal Vlaanderen)

    • Toegang tot alle edit api functionaliteit

API Documentatie

https://api.organisatie.dev-vlaanderen.be/docs/api-documentation.html

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:

    • DFB mag Orafin sleutel beheren

    • CJM + onze eigen testclient mogen 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

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