Open kooskaspers opened 6 months ago
@kooskaspers please check:
# comment | Entiteit | Voorwaarde | Validatie | Errorhandling wanneer niet wordt voldaan aan de validatie |
---|---|---|---|---|
1 VERVALT / want refkey vervalt | party.pensionProvider | party.pensionProvider.refKey <> null | Als veld "refKey" is gevuld: party.pensionProvider.refKey is gelijk aan PUV-code van het fonds (pensioenuitvoerder) waarvoor de API beschikbaar is gesteld Als veld "refKey" niet is gevuld: validatie niet uitvoeren |
Synchrone response (400 Bad Request) error.default.errorCode: 10 (Functionele fout) error.default.errorCodeExplanation: "De refKey komt niet overeen met de PUV-code waarvoor de API beschikbaar is gesteld" |
2 | party.pensionProvider | party.pensionProvider.rsinNumber <> null | Als veld "rsinNumber" is gevuld: rsinNumber is gelijk aan rsinNumber van het fonds (pensioenuitvoerder) waarvoor de API beschikbaar is gesteld Als veld "rsinNumber" niet is gevuld: validatie niet uitvoeren |
Synchrone response (400 Bad Request) error.default.errorCode: 10 (Functionele fout) error.default.errorCodeExplanation: "Het rsinNumber komt niet overeen met het rsinNumber waarvoor de API beschikbaar is gesteld" |
3 | party.pensionProvider | We krijgen een request binnen die niet aan onze verwachten van de structuur voldoet die we van het SIVI hebben gekregen. | Het request voldoet aan het json-schema van berichtstructuur X | Synchrone response (400 Bad Request) error.default.errorCode: 10 (Functionele fout) error.default.errorCodeExplanation: de context van de fout |
4 VERVALT / want refkey vervalt | party.pensionProvider | - | party.pensionProvider.rsinNumber is not null OR party.pensionProvider.refKey is not null | Synchrone response (400 Bad Request) error.default.errorCode: 10 (Functionele fout) error.default.errorCodeExplanation: "Geen rsinNumber of refKey opgegeven binnen entiteit pensionProvider" |
5 | investment.portfolio | investment.portfolio.netAmount <> null | Als veld investment.portfolio.netAmount is gevuld: endAmount - netAmount - startAmount = returnAmount Als veld investment.portfolio.netAmount niet is gevuld: validatie niet uitvoeren |
Synchrone response (400 Bad Request) error.default.errorCode: 10 (Functionele fout) error.default.errorCodeExplanation: "De som van endAmount minus netAmount minus startAmount komt niet over |
Ha Duco,
Zoals beloofd deel ik hier een aantal validaties die wij recentelijk hebben ingebouwd bij de implementatie van de openAPI en mogelijk onderdeel gemaakt kunnen worden van jouw generieke validatieset, zodat ook andere partijen hier hun voordeel mee kunnen doen.
Als veld "refKey" niet is gevuld: validatie niet uitvoeren
error.default.errorCode: 10 (Functionele fout)
error.default.errorCodeExplanation: "De refKey komt niet overeen met de PUV-code waarvoor de API beschikbaar is gesteld"
Als veld "rsinNumber" niet is gevuld: validatie niet uitvoeren
error.default.errorCode: 10 (Functionele fout)
error.default.errorCodeExplanation: "Het rsinNumber komt niet overeen met het rsinNumber waarvoor de API beschikbaar is gesteld"
error.default.errorCode: 10 (Functionele fout)
error.default.errorCodeExplanation: de context van de fout
error.default.errorCode: 10 (Functionele fout)
error.default.errorCodeExplanation: "Geen rsinNumber of refKey opgegeven binnen entiteit pensionProvider"
endAmount - netAmount - startAmount = returnAmount
Als veld investment.portfolio.netAmount niet is gevuld: validatie niet uitvoeren
error.default.errorCode: 10 (Functionele fout)
error.default.errorCodeExplanation: "De som van endAmount minus netAmount minus startAmount komt niet overeen met returnAmount"
We hebben overigens nog meer validaties, echter betreffen dat validaties tussen berichten met hetzelfde messageId, zoals wijzigingsberichten. Deze heb ik, zoals besproken, buiten beschouwing gelaten.