Fallback and Retries
This section details the protocols for fallback mechanisms and retry logic.
Context and Requirements
During critical operations such as order processing (POST /order), Koncili may encounter transient internal failures, which could result in:
These scenarios require the integrator to implement a retry strategy to ensure data consistency, even when the failure originates on the Koncili side.
Key Concepts
1. Nature of Failures
- Occur rarely under specific system load conditions.
- Are not caused by errors in the integrator's payload.
- May occur even after successful HTTP responses (200/201).
- Equally affect both order and reconciliation endpoints.
2. System Behavior
3. Integrator Responsibility
While the failure originates within the Koncili system, the integrator is responsible for:
- Temporary Data Persistence: Maintaining a local copy of the submitted data.
- Post-submission State Verification: Implementing a mechanism to verify the status of the data.
- Retry Execution: Triggering a resubmission when data inconsistency or absence is detected.
This requirement applies equally to:
POST /order(Order Creation)
Why is a Retry Strategy Necessary?
1. Post-Response Failures
The system may acknowledge the request (HTTP 200/201) but encounter an internal failure before the data is successfully persisted.
2. Data Consistency Guarantee
Only the integrator possesses the full context and original payload required to resubmit the data, ensuring the integrity of the financial records.
Implement a mechanism designed to:
- Temporarily Cache Payloads: Maintain a local store of all submitted payloads.
- Post-submission Verification: Verify data persistence after a 5–10 minute interval.
- Trigger Resubmission: Re-execute the request if the data is not found or remains unpersisted.
- Failed Order Creation: Unreconciled sales leading to unrecognized revenue.
- Incomplete Reconciliations: Missing financial releases resulting in incorrect balances.
- Data Inconsistency: Inaccurate reporting that compromises business decision-making.