Catalogi API

API voor opslag en ontsluiting van zaaktype-catalogi, zaaktypen en onderliggende typen.

De API ondersteunt het opslaan en naar andere applicaties ontsluiten van zaaktype-catalogi met zaaktypen. Deze gegevens kunnen door applicaties worden gebruikt om voor zaken van een bepaald type de juiste gegevens (statustypen, resultaattypen, informatieobjecttypen, etc.) te bepalen. Applicaties die gebruik maken van deze zaaktypegegevens zijn bijvoorbeeld een zaakafhandelcomponent, een VTH-applicatie of een subsidie-applicatie. Opslag van zaaktypegegevens vindt plaats conform het informatiemodel ZTC.

Gegevensmodel

Gegevensmodel Catalogi API

Specificatie van de Catalogi API

Specificatie van gedrag

Zaaktypecatalogi (ZTC) MOETEN aan twee aspecten voldoen:

  • de ZTC openapi.yaml MOET volledig geïmplementeerd zijn.

  • het run-time gedrag beschreven in deze standaard MOET correct geïmplementeerd zijn.

Het ZTC haalt informatie uit selectielijsten en de Gemeentelijke Selectielijst

  1. Deze gegevens worden ontsloten in de VNG-referentielijsten-API. Op korte termijn zal deze API gesplitst worden in een referentielijsten-API en de selectielijst-API (waar deze nu nog 1 API is) #3 on Github.

OpenAPI specificatie

Alle operaties beschreven in openapi.yaml MOETEN ondersteund worden en tot hetzelfde resultaat leiden als de referentie-implementatie van het ZTC.

Het is NIET TOEGESTAAN om gebruik te maken van operaties die niet beschreven staan in deze OAS spec, of om uitbreidingen op operaties in welke vorm dan ook toe te voegen.

Run-time gedrag

Bepaalde gedrageningen kunnen niet in een OAS spec uitgedrukt worden omdat ze businesslogica bevatten. Deze gedragingen zijn hieronder beschreven en MOETEN zoals beschreven geïmplementeerd worden.

Valideren van Zaaktype (ztc-001)

Het attribuut Zaaktype.selectielijstProcestype MOET een URL-verwijzing naar de Procestype resource in de selectielijst-API zijn, indien ingevuld.

Valideren van Resultaattype (ztc-002)

Het attribuut Resultaattype.resultaattypeomschrijving MOET een URL-verwijzing naar de Resultaattypeomschrijving resource in de referentielijsten-API zijn. Het ZTC MOET de waarde van Resultaattypeomschrijving.omschrijving ontsluiten (uit de selectielijst) als alleen-lezen attribuut Resultaattype.omschrijvingGeneriek.

Het attribuut Resultaattype.selectielijstklasse MOET een URL-verwijzing zijn naar de Resultaat resource in de selectielijst-API. Tevens MOET dit resultaat horen bij het procestype geconfigureerd op Resultaattype.zaaktype.selectielijstProcestype.

Indien Resultaattype.archiefnominatie niet expliciet opgegeven wordt, dan MOET het ZTC deze afleiden uit Resultaat.waardering van de selectielijstklasse.

Indien Resultaattype.archiefactietermijn niet expliciet opgegeven wordt, dan MOET het ZTC deze afleiding uit Resultaat.bewaartermijn van de selectielijstklasse.

Resultaattype.brondatumArchiefprocedure

Het groepattribuut Resultaattype.brondatumArchiefprocedure parametriseert het bepalen van de brondatum voor de archiefactietermijn van een zaak. Deze parametrisering is aan validatieregels onderhevig:

Concepten

De resources Zaaktype, InformatieObjecttype en Besluittype bevatten het veld concept, indien dit veld aangemerkt is als true, dan betreft het een niet-definitieve versie van het objecttype. Deze versie mag niet buiten de Catalogi API gebruikt mag worden. Dat betekent dat je geen zaken van een ZaakType dat niet definitief is, mag aanmaken.

Om de versie van een objecttype definitief te maken (“publiceren”), bestaat er een publish operatie. Dit is de tegenhanger van het attribuut concept, dus na publiceren heeft concept de waarde false.

Bovendien gelden er beperkingen op verdere acties die uitgevoerd kunnen worden op dit objecttype en gerelateerde objecttype via de API.

  • Beperkingen voor objecttypen met concept=false (ztc-009):
    • Het objecttype mag NIET:
      • geheel bijgewerkt worden (PUT)
      • deels bijgewerkt worden (PATCH), m.u.v. het bijwerken van enkel het attribuut eindeGeldigheid
      • verwijderd worden (DELETE)
  • Beperkingen voor objecttypen gerelateerd aan een objecttype met concept=false (ztc-010):
    • Het objecttype mag NIET:
      • geheel bijgewerkt worden (PUT)
      • deels bijgewerkt worden (PATCH)
      • verwijderd worden (DELETE)
  • Beperkingen die gelden voor objecttypen die NIET gerelateerd zijn aan een objecttype met concept=false (ztc-011):
    • Er mag GEEN nieuw objecttype aangemaakt worden met een relatie naar een objecttype met concept=false (create)
    • Er mag GEEN nieuwe relatie worden gelegd tussen een objecttype en een objecttype met concept=false (update, partial_update)

Overige documentatie