Περιγραφή λειτουργιών
Λήψη εκδοθέντων παραστατικών - RequestTransmittedDocs
# production
https://mydatapi.aade.gr/myDATA/RequestTransmittedDocs
# development
https://mydataapidev.aade.gr/RequestTransmittedDocs
Με αυτή τη μέθοδο ο χρήστης λαμβάνει παραστατικά, χαρακτηρισμούς, ακυρώσεις παραστατικών που έχει υποβάλλει ο ίδιος και τον αφορούν.
Για την περίπτωση εκείνη και μόνο που η μέθοδος κληθεί από τρίτο πρόσωπο (όπως εκπρόσωπος Ν.Π. ή λογιστής), ο ΑΦΜ της οντότητας για τον οποίο πραγματοποιείται η αναζήτηση αποστέλλεται μέσω της παραμέτρου entityVatNumber, διαφορετικά η εν λόγω παράμετρος δε χρειάζεται να αποσταλεί.
Παράμετροι
| Όνομα Παραμέτρου | Υποχρεωτικό | Περιγραφή |
|---|---|---|
| mark | Ναι | Μοναδικός αριθμός καταχώρησης |
| entityVatNumber | Όχι | ΑΦΜ οντότητας |
| dateFrom | Όχι | Αρχή χρονικού διαστήματος αναζήτησης για την έκδοσης |
| dateTo | Όχι | Τέλος χρονικού διαστήματος αναζήτησης για την έκδοσης |
| receiverVatNumber | Όχι | ΑΦΜ αντισυμβαλλόμενου |
| invType | Όχι | Τύπος παραστατικού |
| maxMark | Όχι | Μέγιστος Αριθμός ΜΑΡΚ |
| nextPartitionKey | Όχι | Παράμετρος για την τμηματική λήψη των αποτελεσμάτων |
| nextRowKey | Όχι | Παράμετρος για την τμηματική λήψη των αποτελεσμάτων |
Το αποτέλεσμα της κλήσης επιστρέφει έναν πίνακα από αντικείμενα τύπου \Firebed\AadeMyData\Models\RequestedDoc.
Η κλήση επιστρέφει όσα στοιχεία αφορούν τον χρήστη και έχουν ως αναγνωριστικό Μοναδικό Αριθμό Καταχώρησης μεγαλύτερο της παραμέτρου.
Παρατηρήσεις
- Στην περίπτωση που τα αποτελέσματα αναζήτησης ξεπερνούν σε μέγεθος το
μέγιστο επιτρεπτό όριο ο χρήστης θα τα λάβει τμηματικά. Τα πεδία
nextPartitionKeyκαιnextRowKeyθα εμπεριέχονται σε κάθε τμήμα των αποτελεσμάτων και θα χρησιμοποιούνται ως παράμετροι στην κλήση για τη λήψη του επόμενου τμήματος αποτελεσμάτων. - Σε περίπτωση που κάποια εκ των παραπάνω παραμέτρων δεν έχει τιμή, η αναζήτηση πραγματοποιείται για όλες τις πιθανές τιμές αυτού του πεδίου, όπως προηγουμένως.
- Σε περίπτωση που μόνο μια εκ των
dateFrom,dateToπαραληφθεί, η αναζήτηση θα εκτελεστεί μόνο για την ημερομηνία που έχει δοθεί στην άλλη παράμετρο. Αν και οι παράμετροι έχουν τιμή, η αναζήτηση θα εκτελεστεί για το διάστημα από dateFrom έως dateTo. - Εφόσον αποδοθεί τιμή στην παράμετρο maxMark, θα επιστραφούν όσες εγγραφές έχουν ΜΑΡΚ μικρότερο ή ίσο αυτή της τιμής.
- Οι τιμές των παραμέτρων
receiverVatNumberκαιinvTypeεφαρμόζονται πάντα με τον συντελεστή ισότητας (equal operator). - Στην παράμετρο invType δίνεται ως τιμή ο αριθμός που αντιστοιχεί στον συγκεκριμένο τύπο σύμφωνα με τον πίνακα Παραρτήματος.
Παράδειγμα κλήσης χωρίς continuationToken
use Firebed\AadeMyData\Enums\InvoiceType;
use Firebed\AadeMyData\Exceptions\MyDataException;
use Firebed\AadeMyData\Http\RequestTransmittedDocs;
$request = new RequestTransmittedDocs();
try {
$response = $request->handle(
mark: "1234567890",
dateFrom: "01/01/2021",
dateTo: "31/12/2021",
receiverVatNumber: "123456789",
entityVatNumber: "123456789",
invType: InvoiceType::TYPE_1_1,
);
} catch (MyDataException $e) {
echo "Σφάλμα επικοινωνίας: " . $e->getMessage();
}
Παράδειγμα κλήσης με continuationToken
use Firebed\AadeMyData\Enums\InvoiceType;
use Firebed\AadeMyData\Exceptions\MyDataException;
use Firebed\AadeMyData\Http\RequestTransmittedDocs;
try {
// Λήψη πρώτης σελίδας αποτελεσμάτων
$request1 = new RequestTransmittedDocs();
$response1 = $request1->handle("1234567890");
$continuationToken = $response1->getContinuationToken();
// Λήψη δεύτερης σελίδας αποτελεσμάτων
$request2 = new RequestTransmittedDocs();
$response2 = $request->handle(
mark: "1234567890",
dateFrom: "01/01/2021",
dateTo: "31/12/2021",
receiverVatNumber: "123456789",
entityVatNumber: "123456789",
invType: InvoiceType::TYPE_1_1,
nextPartitionKey: $continuationToken->getNextPartitionKey(),
nextRowKey: $continuationToken->getNextRowKey(),
);
} catch (MyDataException $e) {
echo "Σφάλμα επικοινωνίας: " . $e->getMessage();
}