Zolang we de HTTP-operaties gebruiken zijn we ook aan de conventies daaromtrent gebonden.
Één van die conventies is dat het opvragen van een specifieke resource (zoals partij
) op basis van de unieke identificatie gaat.
Binnen de API is er één property die als unieke identificatie wordt gebruikt. Die identificatie wordt ook gebruik om relaties tussen resources onderling te leggen.
Er is binnen klantinteracties gekozen om dat op basis van de ID te doen.
Dat betekent dat het selecteren van een resource op basis van alle andere properties leidt tot een zoek-actie m.b.v. query-parameters.
Dat geldt in ieder geval voor hert nummer van de partij
.
Ik snap vanuit gebruikers-perspectief dat een partij op bais van het nummer geraadpleegd wordt, maar vantui API-pserpectief is dat een zoek-functie.
Voor zoeken op basis van de partij-identificator
geldt iets vergelijkbaars. De gebruiker denkt dat hij een partij op basis van het burgerservicenummer direct opvraagt.
Achter de schermen vult de consumerapplicatie naast het Burgerservicenummer (ObjectID) echter het ook de relevante soortObject, soortObjectId en externRegister in als query-parameters voor een zoek-actie op de resource partij-identifcator
. Vanuit de gevonden partij-identificator
wordt met de property identificeerdePartij de juiste partij geraadpleegd (op basis van het ID dus).
In de beschrijving van F0138 - Vraag partij op wordt beschreven dat een partij wordt opgevraagd op basis van het nummer
of de externe id
.
Deze identificerende properties zijn geen van beide gegarandeerd uniek. Er is wel een uniek identificerende property gedefinieerd met het ID.
Het beschrijven van deze functionele wens, maar in hoeverre is bij de beschrijving van deze functies rekening gehouden met met technische implementeerbaarheid ?
Voorbeeld: De relatie tussen een klantcontact
en een partij
wordt (via de klantcontactBetrokkene
) gelegd op basis van de ID.
Stel dat ik het klantcontact
en de gerelateerde klantcontactBetrokkene
heb opgevraagd, dan heb ik de ID van de gerelateerde partij tot mijn beschikking.
Ik kan echter volgens beschrijving F0138 - Vraag partij op niet de ID gebruiken om de betreffende partij op te halen.
Ik snap dat er vanuit de gebruiker behoefte is om op basis van het nummer of de externe identificatie een partij te kunnen vinden, maar dat is technisch gezien in mijn beleving een zoek-functie en geen opvraag functie.
Uiteraard geldt dit vraagstuk niet alleen voor de partij, maar voor de architectuur van de hele API.