Release 2027 (pre-release) · Schemaversie001.02 · Actief
SIVI-feedbackbericht (VB-PUO)
Het feedbackbericht bevestigt dat een bericht verwerkbaar is (statusType 8, geaccepteerd) of meldt waarom niet (statusType 0, afgewezen, met errorCode en errorCodeExplanation). Het verwijst altijd naar de messageId van het oorspronkelijke bericht en optioneel naar het berichttype. Het oorspronkelijke bericht wordt niet teruggestuurd.
Berichtstructuur
Entiteiten met cardinaliteit [min..max] en aantal attributen; klik voor de entiteitpagina.
- commonFunctional.default[1..1] · 6 attr.
- commonTechnical.default[1..1] · 3 attr.
- party.receiver[0..1] · 3 attr.
- party.sender[0..1] · 4 attr.
- party.contact[0..9] · 2 attr.
- error.default[0..999] · 3 attr.
- party.pensionProvider[1..1] · 2 attr.
Attributen(23)
| Entiteit | Attribuut | Type | V/O | Codelijst | Omschrijving |
|---|---|---|---|---|---|
| commonFunctional.default | afdDefinitionName | string | V | VBPUO_Feedback_Message-001.02-VBPUO_Feedback_Message | De AFD definitienaam van o.a. webservices en verzekeringsproducten. |
| commonFunctional.default | afdDefinitionVersion | string | V | 001.02 | Met AFD definitieversienummer wordt aangegeven over welke versie van de (product)definitie wordt gecommuniceerd. |
| commonFunctional.default | originalMessageId | string · max 70 | V | MessageId van het oorspronkelijke bericht, dat wordt vervangen door dit bericht. | |
| commonFunctional.default | function | string | V | ADNFUN | Berichtfunctie |
| commonFunctional.default | statusType | string | V | ADNSTS | Status |
| commonFunctional.default | originalMessageType | string | O | 0001a | 0001b | 0001c | 00002 | 00541 | 00542 | 00551 | 00552a | 00552b | 00553 | 00554 | 00555a | 00555b | 00556 | Berichtsoort van het oorspronkelijke bericht waarop dit bericht een response is. |
| commonTechnical.default | creationDateTime | string · format date-time | V | Datum en tijd van het aanmaken van het bericht. | |
| commonTechnical.default | messageId | string | V | Unique identification of the message. (AFD 2.0 only) | |
| commonTechnical.default | testMessage | boolean | O | Indicatie of sprake is van een testbericht. | |
| party.receiver | organizationName | string · max 60 | V | Naam beroeps of branche organisatie. | |
| party.receiver | refKey | string · max 70 | V | Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend. | |
| party.receiver | rsinNumber | string · max 9 | O | Governmental identification number for legal entities and associations. (AFD 2.0 only) | |
| party.sender | refKey | string · max 70 | V | Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend. | |
| party.sender | applicationSenderName | string · max 60 | O | Naam van de applicatie die de gegevens verzendt. | |
| party.sender | organizationName | string · max 60 | V | Naam beroeps of branche organisatie. | |
| party.sender | rsinNumber | string · max 9 | O | Governmental identification number for legal entities and associations. (AFD 2.0 only) | |
| party.contact | workPhoneNumber | string · max 60 | V | Telefoonnummer werk | |
| party.contact | emailWork | string · max 60 | V | E-mail adres werk | |
| error.default | refKey | string | V | Entiteitsreferentie is een unieke referentie sleutel die aan een entiteit wordt toegekend. | |
| error.default | errorCode | string | V | ADNFTM | Soort foutmelding code |
| error.default | errorCodeExplanation | string · max 1000 | V | Toelichting op de soort foutmelding. | |
| party.pensionProvider | organizationName | string | V | Naam beroeps of branche organisatie. | |
| party.pensionProvider | puvCode | string | V | AFDIDP | Pensioenuitvoerder |
Voorbeeldbericht
Bron voorbeeld: SIVI voorbeeld feedbackbericht. Waarden zijn fictief.
{
"commonTechnical": [
{
"entityType": "default",
"creationDateTime": "2024-05-08T12:30:00Z",
"messageId": "msg987654Response",
"testMessage": false
}
],
"commonFunctional": [
{
"entityType": "default",
"afdDefinitionName": "VBPUO_Feedback_Message-001.02-VBPUO_Feedback_Message",
"afdDefinitionVersion": "001.02",
"originalMessageId": "msg987654",
"originalMessageType": "0001a",
"function": "23",
"statusType": "0"
}
],
"error": [
{
"entityType": "default",
"refKey": "error1",
"errorCode": "12",
"errorCodeExplanation": "The following cohort ids are missing from this message: cohort123, cohort 111"
},
{
"entityType": "default",
"refKey": "error2",
"errorCode": "12",
"errorCodeExplanation": "Total start amount is not equal to sum of start amounts of cohorts "
}
],
"party": [
{
"entityType": "pensionProvider",
"organizationName": "Pension Provider XYZ",
"puvCode": "U0003"
}
]
}Regels en verbandscontroles
- originalMessageId is verplicht; originalMessageType is optioneel en somt de berichttypen op (0001a tot en met 00556 in schema 001.02).
- function is vast 23; statusType is 8 (geaccepteerd) of 0 (afgewezen); errorCodeExplanation is maximaal 1000 tekens.
- Zes interactiepatronen: synchroon geslaagd (200), synchroon fout (400 met feedback), asynchroon geslaagd (202 en callback geaccepteerd), asynchroon fout (202 en callback afgewezen), en twee panic-scenario's waarin de callback zelf wordt afgewezen en handmatige afstemming nodig is.
- Eenmaal geaccepteerde berichten worden niet eenzijdig gecorrigeerd: een hergebruikte messageId levert HTTP 400 met feedback op; na een afwijzing mag zonder overleg een gecorrigeerd bericht worden gestuurd.
Valkuilen
- Een feedbackbericht zonder originalMessageId is zelf ongeldig en levert een feedback op een feedback op; voorkom de lus door de verwijzing altijd te vullen.
- Schema 001.02 mist 00557 in originalMessageType; zie de toelichting bij bericht 15.
Fouten en oplossingen
- messageId ontbreekt, is leeg of langer dan 70 tekensSchemafout op commonTechnical/0/messageId: 'must have required property' of 'must NOT have more than 70 characters'.
- originalMessageId ontbreekt in feedback of herverzendingFeedbackbericht wordt zelf afgewezen: 'must have required property originalMessageId'. Bij een herverzending kan de ontvanger de correctie niet koppelen.
- originalMessageId verwijst naar een onbekend berichtDe ontvanger kan de feedback of correctie niet plaatsen en meldt functioneel 'onbekend bericht'.
- afdDefinitionName onjuistDe ontvanger routeert het bericht verkeerd of wijst het af; in het feedbackbericht is afdDefinitionName een vaste waarde (const) en levert een afwijking een schemafout op.
- Berichtfunctie ongeldig (ADNFUN 01, 02, 09 of 54)Schemafout op commonFunctional/0/function: waarde niet toegestaan.
- originalMessageType 00557 wordt niet geaccepteerd door feedbackschema 001.02Een feedbackbericht op een corporate action (bericht 15) met originalMessageType = 00557 geeft een schemafout op originalMessageType.
- Feedback: statusType niet 0 of 8Schemafout op statusType van het feedbackbericht.
- errorCodeExplanation langer dan 1000 tekensHet feedbackbericht zelf wordt afgewezen op lengte.
- HTTP 400 bij synchrone validatie: hoe lees je het feedbackberichtHet endpoint antwoordt 400 Bad Request met een JSON-body.
- HTTP 202 zonder callback: de asynchrone feedback blijft uitNa 202 Accepted volgt geen feedbackbericht met geaccepteerd of afgewezen.
- Panic-scenario: de callback zelf wordt afgewezenDe ontvanger stuurt zijn feedback (geaccepteerd of afgewezen) als callback en krijgt daarop 400 terug.
Veelgestelde vragen
Moet ik op elk bericht een feedbackbericht sturen?
Bij synchrone verwerking volstaat de HTTP-status (200) bij succes; bij een fout of bij asynchrone verwerking is het feedbackbericht de enige manier waarop de verzender de uitkomst verneemt.
Wat doe ik als ik na acceptatie een fout ontdek?
Overleggen met de ontvanger voordat u een correctie stuurt. De standaard verbiedt eenzijdige correctie van geaccepteerde berichten; het correctiebericht krijgt een nieuwe messageId en verwijst met originalMessageId naar het foute bericht.
Wijzigingsgeschiedenis
- v1.0.0 (mei 2024): feedbackbericht ingevoerd, errorblok uit de 14 berichten gehaald.
- v1.3.0 (Release 2026): originalMessageType toegevoegd.
- v1.4.0 (Release 2027): afhandeling dubbele messageId, party.sender en party.receiver, schema 001.02.
Schema-bestand: VBPUO_Feedback_Message-002.00-VBPUO_Feedback_Message.json · JSON-schema (001.02) · GitHub
