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

ErgoHellas — Error codes

Όταν το Estia.API επιστρέφει 422 Provider business error με provider: "ErgoHellas", το providerErrorMessage περιέχει το upstream error message. Παρακάτω τα codes που μπορούν να εμφανιστούν.

Ο ErgoHellas είναι SAP-backed provider. Τα services επιστρέφουν errors σε typed message arrays (π.χ. ET_ERROR_MSG, ET_MESSAGES) όπου κάθε entry έχει TYPE και MESSAGE. Το SapErrorInspector ελέγχει αυτά τα arrays και πετάει ProviderBusinessException όταν εντοπίσει error/abort entries.

Error envelope shape

TYPE  | Message classification
------|-----------------------
"E"   | Error    → blocks the operation → 422
"A"   | Abort    → blocks the operation → 422
"W"   | Warning  → informational, does NOT throw
"I"   | Info     → informational, does NOT throw
"S"   | Success  → informational, does NOT throw

Όταν εντοπιστούν E ή A entries:

  • providerErrorMessage = το MESSAGE του πρώτου error entry
  • providerDetailedMessage = όλα τα error messages joined με "; "

Codes

Ο SAP backend του ErgoHellas δεν δημοσιεύει stable, enumerated numeric codes στο public surface — η διάκριση γίνεται μέσω του TYPE field. Μην βασίζεστε σε string matching του MESSAGE για programmatic logic.

Type Meaning Consumer action
E (Error) Business validation rejection — ProviderBusinessException422 Διαβάστε providerErrorMessage· διορθώστε το request
A (Abort) Critical SAP abort — ProviderBusinessException422 Διαβάστε providerErrorMessage· συνήθως απαιτεί manual intervention
W (Warning) Πληροφοριακό warning — δεν μπλοκάρει Logging only
I (Info) SAP info message — δεν μπλοκάρει Logging only
S (Success) Επιβεβαίωση επιτυχίας Logging only

Πολλαπλά error entries

Όταν ο SAP επιστρέφει πολλαπλά error entries (π.χ. validation chain), μόνο το πρώτο εμφανίζεται στο providerErrorMessage. Όλα μαζί joined με "; " υπάρχουν στο providerDetailedMessage για debugging.

Παράδειγμα 422 response

{
  "type": "https://docs.insurancegateway.gr/errors/provider-business",
  "title": "Provider business error",
  "status": 422,
  "detail": "ErgoHellas declined: customer data validation failed.",
  "instance": "/ergohellas/customers",
  "provider": "ErgoHellas",
  "providerErrorMessage": "AFM does not match registry records.",
  "providerDetailedMessage": "AFM does not match registry records.; DOY code 9999 is invalid.",
  "category": "business",
  "correlationId": "9f3a2b1c-4d5e-6789-abcd-ef0123456789"
}

Σχετικά