Μετάβαση στο περιεχόμενο

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": "ERROR",
  "error": 1042,
  "message": "Vehicle ABC-1234 already has an active policy."
}
Πεδίο Τύπος Περιγραφή
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 — ProviderBusinessException422 Διαβάστε providerErrorMessage· διορθώστε το request
AllianzErrorDto.error (HTTP 4xx/5xx) Transport/API error — ProviderApiException502 Δείτε 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"
}

Σχετικά