Op het endpoint base-url/api/zgw/documenten/api/v1/enkelvoudiginformatieobjecten/ kan een POST worden geplaatst met een basse64 document dat in het vervolgbericht Koppel Document Aan Zaak aan een zaak wordt gekoppeld.
De base_url is de implementatie van OpenWave waar tegenaan gepraat moet worden, bijvoorbeeld: https://acc.rommeldam.open-wave.nl

Whitelist

De zender die hier een uploaddocument-bericht 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.

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/documenten/api/v1/enkelvoudiginformatieobjecten waarop dit upload-document-bericht wordt gepost: bijvoorbeeld: /api/zgw

De enige verplichte header variabele is: Content-Type met als waarde application/json

In application/json.

voorbeeld

{
  "bronorganisatie": "001509962",
  "creatiedatum": "2024-04-10",
  "informatieobjecttype": "https://acc.rommeldam.open-wave.nl/api/zgw/catalogi/api/v1/informatieobjecttypen/bf6152d0-c6e6-4149-8880-838cf22e143b",
  "titel": "Wankele Toren",
  "auteur": "Jan Janssen",
  "taal": "ned",
  "bestandsnaam":"BigBen kunst.jpg",
  "inhoud": "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"
}

Zie Github: zie POST Maak een (ENKELVOUDIG) INFORMATIEOBJECT aan op https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/VNG-Realisatie/gemma-documentregistratiecomponent/1.5.0/src/openapi.yaml#tag/enkelvoudiginformatieobjecten/operation/enkelvoudiginformatieobject_create

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

In principe leidt de inhoud van de body tot het opslaan van het aangeleverde document op de uploadmap van OpenWave (zie de kolom Tekst van de instelling Sectie: OWB en Item: TussenMapUploadFiles). OpenWave weet nog niet bij welke zaak dit document hoort, die informatie komt pas in het vervolgbericht (Koppel Document aan Zaak conform OpenZaak API). Wel wordt alvast een unieke UUID uitgetrokken voor dit document die terug gecommuniceerd wordt aan de zender. De eerste posities van de documentnaam op de uploadmap beginnen met deze UUID-code. Deze metadata worden opgeslagen in de tabel tbupload onder de uitgetrokken UUID. Dit, mits aan de nodige voorwaarden in de OpenWave implementatie is voldaan:

  • Er moet tenminste één valide kaart zijn in de OpenWave documenttype tabel (tbdocumenttype) met een gevulde unieke UUID-code in de kolom dvzgwuuid die gelijk is aan de waarde (een UUID-code) vanaf de laatste slash van item informatieobjecttype.
  • De robotmedewerker die verbonden is aan de uitgereikte token moet gekoppeld zijn aan de rechtengroep die het functionele recht tbomgrechten.dlbomgins (insertrecht op de omgevingstabel) aangevinkt heeft staan.

UUID bij documenttype

In de documenttype-tabel tbdocumenttype (Beheerportaal, kolom Werkbeheer, tegel Documenttypen) moet door de functioneel beheerder bij één of meer documenttypes een unieke UUID-code worden gegenereerd (on line zijn er diverse programma's die dat kunnen) en geplaatst worden in de kolom dvzgwuuid. Deze code(s) moeten vervolgens buiten OpenWave om eenmalig gecommuniceerd worden met de zender zodat deze het item informatieobjecttype in de body correct kan vullen.

Het document wordt ontbased64 opgeslagen op uploadmap van OpenWave. Dit gebeurt onder de samengestelde naam van de op dat moment - door OpenWave - uitgetrokken UUID-code plus een underscore plus de inhoud van item bestandsnaam (indien het item bestandsnaam niet bestaat of leeg is, dan wordt de inhoud van item titel gebruikt).

Beperkte bewaartijd document op uploadmap

De documenten op de uploadmap worden maar een beperkte tijd bewaard. Default 24 uur, maar hier kan van afgeweken zijn met de waarde van Getal1 van de instelling Sectie: OWB en Item: MaxUurUpload.
Het is dus belangrijk dat het vervolgbericht Koppel document aan zaak tijdig wordt verstuurd.

Responsebericht

Indien het document niet kon worden geplaatst wordt een responsecode anders dan 200/201 geretourneerd met in de body de oorzaak van het falen.
Indien het document succesvol is geplaatst wordt onder de responsecode 201 het oorspronkelijke bericht geretourneerd aangevuld met de verplichte items, waarbij

  • in het item identificatie en in het laatste deel van het item url de UUID-code wordt geretourneerd die OpenWave heeft toegekend aan het document.
  • in de kolom inhoud niet het aangeboden document wordt geretourneerd, maar de tekst Hier stond het document in base64.

voorbeeld responsebody

{
"bronorganisatie": "001509962",
"beginRegistratie": "2024-08-13T09:28:24",
"versie": 1,
"taal": "ned",
"identificatie":"79fdba5ed24543d48f7253e1e7623487",
"url": "https://acc.rommeldam.open-wave.nl/api/zgw/documenten/api/v1/enkelvoudiginformatieobjecten/79fdba5ed24543d48f7253e1e7623487",
"auteur": "Jan Janssen",
"inhoud": "Hier stond het document in base64",
"titel": "Wankele Toren",
"informatieobjecttype": "https://acc.rommeldam.open-wave.nl/api/zgw/catalogi/api/v1/informatieobjecttypen/bf6152d0-c6e6-4149-8880-838cf22e143b",
"bestandsnaam": "BigBen kunst.jpg",
"bestandsdelen": [],
"creatiedatum": "2024-04-10",
"locked": true
}
  • openwave/1.31/applicatiebeheer/probleemoplossing/programmablokken/zgw_open_zaak_api_functionaliteit/upload_zgw_document.txt
  • Laatst gewijzigd: 2024/09/03 12:32
  • door Lonneke van Dijk