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

Euroins — Error codes

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

Ο Euroins (Infopad) είναι SOAP provider. Κάθε ServiceResponse περιέχει property Errors με entries τύπου ServiceError που έχουν τα πεδία Code, Message, Level. Ο EuroinsErrorHelper.ThrowIfBusinessError ελέγχει το Level enum και πετάει ProviderBusinessException όταν Level >= Critical (2).

Error envelope shape

ServiceError {
  Code:    int        // upstream Euroins code (όχι enumerated public)
  Message: string     // human-readable message
  Level:   enum {
    Information = 0,  // δεν μπλοκάρει
    Warning     = 1,  // δεν μπλοκάρει
    Critical    = 2,  // → ProviderBusinessException → 422
    Fatal       = 3,  // → ProviderBusinessException → 422
  }
}
  • providerErrorMessage = το Message του πρώτου error με Level >= 2
  • providerDetailedMessage = ErrorCode: {code}, Level: {level}

Codes

Το Level enum καθορίζει αν ένα error μπλοκάρει το request. Ο Euroins δεν δημοσιεύει stable, enumerated Code values στο public surface — οι αριθμοί είναι runtime hints για observability, όχι contractual identifiers.

Level Numeric Meaning Consumer action
Information 0 Πληροφοριακό μήνυμα Δεν θρου-άρει — logging only
Warning 1 Soft validation issue Δεν θρου-άρει — logging only
Critical 2 Business rule rejection — ProviderBusinessException422 Διαβάστε providerErrorMessage· διορθώστε το request
Fatal 3 Σοβαρό upstream business error — ProviderBusinessException422 Συνήθως απαιτεί επικοινωνία με πάροχο

Transport-level failures (WCF FaultException, CommunicationException, EndpointNotFoundException, TimeoutException) μαπάρονται μέσω EuroinsErrorHelper.Translate σε ProviderApiException502 ή 504.

Code field

Το Code field στο ServiceError εκτίθεται στο providerDetailedMessage ως ErrorCode: {code} για debugging/correlation. Μην το χρησιμοποιείτε ως programmatic key — δεν είναι documented από τον πάροχο.

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

{
  "type": "https://docs.insurancegateway.gr/errors/provider-business",
  "title": "Provider business error",
  "status": 422,
  "detail": "Euroins declined: invalid vehicle registration.",
  "instance": "/euroins/applications/submit",
  "provider": "Euroins",
  "providerErrorMessage": "Vehicle registration ABC-1234 not found in registry.",
  "providerDetailedMessage": "ErrorCode: 5021, Level: Critical",
  "category": "business",
  "correlationId": "9f3a2b1c-4d5e-6789-abcd-ef0123456789"
}

Σχετικά