Maak zaakeigenschap aan conform OpenZaak API
Op het endpoint base-url/api/zgw/zaken/api/v1/zaken/{identifier}/zaakeigenschappen/ kan een POST worden geplaatst waarmee OpenWave een zaakeigenschap kan toevoegen aan een bestaande zaak.
De path-parameter {identifier} in bovengenoemd endpoint is de UUID die toegekend is aan een eerder aangebrachte zaak op het endpoint base-url/api/zgw/zaken/api/v1/zaken en in de response daarvan is opgenomen. Deze UUID is bij de aangemaakte zaak opgeslagen in de kolom tbomgvergunning.dvzgwuuid of tbsoortovverg.dvzgeuuid.
Hieronder wordt een voorbeeld uitgwerkt waarbij op dit endpoint een inrichtingsnummer in de body wordt gestuurd op grond waarvan Openwave een eerder aangemaakte zaak (de uuid identifier in het endpoint) kan koppelen aan de bijbehorende inrichting.
De base_url is de implementatie van OpenWave waar tegenaan gepraat moet worden, bijvoorbeeld: https://acc.rommeldam.open-wave.nl.
Gebaseerd op versie Open Zaak API 1.2
Whitelist
De zender die hier een creëer rolbericht POST zal gewhitelist moeten worden. Dit kan in de tabellen tbendpointlist en tbipauthorisationlist onder de tegel Endpoints whitelist op het nieuwe beheerportaal onder de kolom Gebruikers.
In de tabel tbendpointlist zal minimaal het endpoint /api/zgw gedefinieerd moeten zijn met daaronder (in de tabel tbipauthorisationlist) het IP-adres van de zender.
Authorisation Token
In de Authorization header van dit POST bericht moet een valide JWT-token worden meegegeven onder Bearer Token. Zie voorbeeld bij Creëer ZGW zaak conform OpenZaak API.
Voor het verkrijgen van een token (met beperkte geldigheidsduur!) zie: ZGW OpenZaak API Functionaliteit.
De token wordt opgezocht in de tabel tbaccesstoken en het tijdstip van aanvraag wordt getoetst aan de geldigheidsduur van de gevonden rij.
(robot) Medewerker moet gelinkt zijn aan endpoint
De gevonden token is gelinkt aan een (robot)-medewerker (degene onder wiens credentials het token is gecreëerd). Bij de betreffende medewerkers kaart moet de kolom Endpoint (robotmedewerker is gedefinieerd voor binnenkomende berichten op endpoint) (dnkeyendpointlist) in blok login verwijzen naar een kaart in tbendpointlist waarvan de inhoud van de kolom dvendpointurl een substring is van dit endpoint api/zgw/zaken/api/v1/zaken/ waarop dit maakzaakeigenschap-bericht wordt gepost: bijvoorbeeld: /api/zgw
Headers
De enige verplichte header variabele is: Content-Type met als waarde application/json
Body voor doorgeven zaakeigenschap
Voorbeeld maken zaakeigenschap
{
"zaak": "https://acc.rommeldam.open-wave.nl/api/zgw/zaken/api/v1/zaken/6995c3ada4ed431bb5e5edab33fe41c4",
"eigenschap": "https://acc.rommeldam.open-wave.nl/api/zgw/catalogi/api/v1/eigenschappen/80a2f657-172d-41fb-b7c7-4e48b8222bdc",
"waarde": "2018E1544"
}
De verwerking van het bericht door OpenWave wordt gelogd in tbmessagelog indien:
- de instelling Sectie: ZGW en Item: Messagelog aangevinkt staat
- EN de instelling Sectie: OWB en Item: MessageLog aangevinkt staat.
De url van de zaak verwijst naar dezelfde zaak als de {ïdentifier} (de path-parameter) van het endpoint.
Deze zaak-uuid wordt opgezocht in tbomgvergunning.dvzgwuuid of tbovvergunningen.dvzgwuuid om zo de juiste zaak te bepalen waar de eigenschap aan toegevoegd moet worden.
De url van eigenschap verwijst naar een plek in Openwave waar een instructie is opgeslagen hoe en waar de waarde moet worden verwerkt.
In bovenstaand voorbeeld verwijst de eigenschap-uuid (de string vanaf de positie van de laatse slash in de eigenschap-url) naar een rij in de tabel tbdsospecvraagid.
De beheerder van OpenWave heeft bij het zaaktype (tbsoortomgverg of tbsoortovverg) waaronder de zaak valt een kaart aangemaakt in tbdsospecvraagid met in de kolom dvdsovraagid de eigenschap-uuid, die nu in de body wordt doorgegeven. Zie beheerportaal op het detailscherm van zaaktypes omgeving of apvoverig in het blok zaakeigenschappen.
Deze eigenschap-uuid of url moet dus doorgegeven worden aan de zender of kan opgehaald worden met Opvragen lijst met eigenschappen conform OpenZaak API.
Het item waarde bevat bijvoorbeeeld een inrichtingsnr.
Die kaart in tbdspsecvraagid kan er als volgt uitzien:
Bij verwerking van de body vervangt Openwave de variabelen:
- %dsoantwoord% met de inhoud van het item waarde. Op het %dsoantwoord% mogen SQL-functies gebruikt worden bijv substr(%dsoantwoord%,1,2) of %dsoantwoord%::integer
- %keypointer% met de primary key van tbomgvergunning of tbovvergunningen op grond van de Path parameter (de UUID waarde doorgegeven in de {identifier}).
Dat betekent na substitutie dat: Op de omgevingskaart met dnkey = de gevonden primary key de kolom dnkeymilinrichtingen wordt vervangen met de dnkey van tbmilinrichtingen waarvoor geldt dat dvinrichtingnr = '2018E1544'
Responsebericht
Indien de eigenschap niet kon worden aangemaakt of gekoppeld wordt een responsecode anders dan 200/201 geretourneerd met in de body de oorzaak van het falen.
Indien de iegenschap wel succesvol is aangemaakt wordt onder de responsecode 201 het oorspronkelijke bericht geretourneerd aangevuld met de verplichte items, waarbij
- in de items uuid en url een fake-uuid wordt geretourneerd die NIET is opgeslagen bij de aangemaakte eigenschap. Dus de eigesnchap kan niet later nog eens gewijzigd worden
Voorbeeld response body eigenschap
{
"uuid": "6667c3ada4ed431bb5e5edab12345678",
"url": "https://acc.rommeldam.open-wave.nl/api/zgw/zaken/api/v1/zaken/eigenschappen/6667c3ada4ed431bb5e5edab12345678",
"naam": "Koppel klacht aan inrichtingsnummer",
"zaak": "https://acc.rommeldam.open-wave.nl/api/zgw/zaken/api/v1/zaken/6995c3ada4ed431bb5e5edab33fe41c4",
"eigenschap": "https://acc.rommeldam.open-wave.nl/api/zgw/catalogi/api/v1/eigenschappen/80a2f657-172d-41fb-b7c7-4e48b8222bdc",
"waarde": "2018E1544"
}