Chain agreements: feedback, correction, chunking, transport, releases
Feedback: the six interaction patterns (synchronous, asynchronous and panic)
The OpenAPI specification defines six fixed scenarios for handling a message. With synchronous validation the sender immediately gets 200 (success) or 400 with a feedback message (error). With asynchronous processing 202 comes first and a callback with accepted or rejected follows later. Two panic scenarios describe what happens when the callback itself is rejected: manual reconciliation is then required.
Steps
- 1. Synchronous successReceiverHTTP 200 OK; no feedback message needed.
- 2. Synchronous errorReceiverHTTP 400 Bad Request with the feedback message (statusType 0, errorCode) in the body.feedback
- 3. Asynchronous successReceiverHTTP 202 Accepted, later a callback with feedback statusType 8.feedback
- 4. Asynchronous errorReceiverHTTP 202 Accepted, later a callback with feedback statusType 0.feedback
- 5. Panic after errorSenderThe callback with the rejection is itself rejected (400): manual reconciliation.feedback
- 6. Panic after successSenderThe callback with the acceptance is rejected (400): manual reconciliation.feedback
Rules and consistency checks
- Turnaround times for feedback are not normative; fix them in the operational agreements.
- A visual overview is on GitHub as an activity diagram.
Source: Handleiding paragraaf 4.7 en OpenAPI-specificatie
