Allianz — Error codes¶
Όταν το Estia.API επιστρέφει 422 Provider business error με provider: "Allianz",
το providerErrorMessage περιέχει το upstream error message. Παρακάτω τα codes που
μπορούν να εμφανιστούν.
Ο Allianz (Ευρωπαϊκή Πίστη) είναι REST provider. Τα business errors σηματοδοτούνται
με το ειδικό header X-Error στην απάντηση — ακόμη και όταν το HTTP status είναι
200 OK. Όταν το header υπάρχει, το AllianzServiceBase.EnsureAllianzSuccessAsync
πετάει ProviderBusinessException που γίνεται 422 στο gateway. Για non-2xx
χωρίς X-Error, το body deserialize-άρεται σε AllianzErrorDto και γίνεται 502.
Error envelope shape¶
| Πεδίο | Τύπος | Περιγραφή |
|---|---|---|
status |
string | High-level outcome — "ERROR" για failures |
error |
int (nullable) | Numeric error code από τον provider (όταν παρέχεται) |
message |
string | Human-readable μήνυμα — προβάλλεται μέσω providerErrorMessage |
Το πεδίο error δεν είναι enumerated από τον πάροχο. Δεν υπάρχει stable, δημοσιευμένη
λίστα κωδικών — οι τιμές πηγάζουν runtime από το Allianz backend.
Codes¶
| Code source | Meaning | Consumer action |
|---|---|---|
X-Error header (HTTP 200) |
Business validation rejection — ProviderBusinessException → 422 |
Διαβάστε providerErrorMessage· διορθώστε το request |
AllianzErrorDto.error (HTTP 4xx/5xx) |
Transport/API error — ProviderApiException → 502 |
Δείτε providerStatusCode· retry όπου επιτρέπεται |
HttpRequestException |
Network/socket failure πριν τα headers | 502 — retry με backoff |
TaskCanceledException |
Upstream timeout | 504 — retry με backoff |
JsonException στο deserialization |
Invalid/malformed response body | 502 — escalate αν επιμένει |
Γιατί δεν υπάρχει αναλυτική code list
Ο Allianz δεν δημοσιεύει stable enumerated codes· οι τιμές στο error field
μπορούν να αλλάξουν χωρίς προειδοποίηση. Χρησιμοποιήστε το ως observability hint
(logs, metrics), όχι ως αξιόπιστο programmatic discriminator.
Παράδειγμα 422 response¶
{
"type": "https://docs.insurancegateway.gr/errors/provider-business",
"title": "Provider business error",
"status": 422,
"detail": "Allianz declined: vehicle has active policy.",
"instance": "/allianz/contracts/auto-calculate",
"provider": "Allianz",
"providerErrorMessage": "Vehicle ABC-1234 already has an active policy.",
"providerDetailedMessage": "{\"status\":\"ERROR\",\"error\":1042,\"message\":\"Vehicle ABC-1234 already has an active policy.\"}",
"category": "business",
"correlationId": "9f3a2b1c-4d5e-6789-abcd-ef0123456789"
}