Εισαγωγή
Σφάλματα
Κατά την επικοινωνία με τους διακομιστές του myDATA μπορεί να προκύψουν δύο είδη σφαλμάτων.
Τεχνικά σφάλματα
Τα τεχνικά σφάλματα χαρακτηρίζουν την κλήση ως μή επιτυχημένη και επιστρέφουν ένα
από τα παρακάτω exceptions
:
Firebed\AadeMyData\Exceptions\MyDataAuthenticationException
Αυτό το σφάλμα εμφανίζεται όταν δεν έχουν οριστεί τα διαπιστευτήρια user id
ή το
subscription key
ή όταν τα διαπιστευτήρια user id
και subscription key
δεν είναι σωστά.
Firebed\AadeMyData\Exceptions\MyDataConnectionException
Αυτό το σφάλμα εμφανίζεται όταν δεν είναι δυνατή η σύνδεση με τον διακομιστή του myDATA.
Firebed\AadeMyData\Exceptions\MyDataException
Αφορά τα υπόλοιπα τεχνικά σφάλματα. Το σφάλμα περιέχει τον κωδικό σφάλματος και το μήνυμα σφάλματος.
Παράδειγμα χρήσης
use Firebed\AadeMyData\Exceptions\MyDataException;
use Firebed\AadeMyData\Exceptions\MyDataAuthenticationException;
use Firebed\AadeMyData\Exceptions\MyDataConnectionException;
use Firebed\AadeMyData\Http\SendInvoices;
use Firebed\AadeMyData\Models\Invoice;
try {
$send = new SendInvoices();
$send->handle(new Invoice());
} catch (MyDataConnectionException $connectionException) {
// Σφάλμα επικοινωνίας με τον διακομιστή
// - Δεν έχετε σύνδεση στο internet
// - Υπάρχει πρόβλημα στον διακομιστή του myDATA
// - Το endpoint URL είναι λάθος
} catch (MyDataAuthenticationException $authenticationException) {
// Σφάλμα αυθεντικοποίησης, λάθος διαπιστευτήρια
} catch (MyDataException $myDataException) {
// Γενικό τεχνικό σφάλμα
}
Όλα τα σφάλματα που προκύπτουν κατά την επικοινωνία με τον διακομιστή του myDATA κληρονομούν
την κλάση Firebed\AadeMyData\Exceptions\MyDataException
. Αυτό σημαίνει ότι μπορείτε να
χρησιμοποιήσετε μόνο την κλάση MyDataException
για να ανιχνεύσετε τα σφάλματα που προκύπτουν.
use Firebed\AadeMyData\Exceptions\MyDataException;
use Firebed\AadeMyData\Http\SendInvoices;
use Firebed\AadeMyData\Models\Invoice;
try {
$send = new SendInvoices();
$send->handle(new Invoice());
} catch (MyDataException $myDataException) {
// - Δεν έχετε σύνδεση στο internet
// - Υπάρχει πρόβλημα στον διακομιστή του myDATA
// - Το endpoint URL είναι λάθος
// - Σφάλμα αυθεντικοποίησης, λάθος διαπιστευτήρια
// - Γενικό τεχνικό σφάλμα
$statusCode = $myDataException->getCode();
$message = $myDataException->getMessage();
}
Επιχειρησιακά Σφάλματα
Τα επιχειρησιακά σφάλματα προκύπτουν κατά την αποτυχία των επιχειρησιακών ελέγχων, λανθασμένα ΑΦΜ, λανθασμένα σύνολα παραστατικού, λανθασμένοι χαρακτηρισμοί εσόδων και εξόδων κ.λπ. Στην περίπτωση τους η κλήση θεωρείται τεχνικά επιτυχημένη (HTTP Response 200).
Υπάρχουν πάνω από 100 διαφορετικά επιχειρησιακά σφάλματα που μπορεί να επιστρέψει ο διακομιστής του myDATA. Μπορείτε να ανατρέξετε στο σχετικό PDF του myDATA για να δείτε τα επιχειρησιακά σφάλματα αναλυτικά.