Περιγραφή λειτουργιών

Λήψη παραστατικών - RequestDocs

# production
https://mydatapi.aade.gr/myDATA/RequestDocs

# development
https://mydataapidev.aade.gr/RequestDocs

Με αυτή τη μέθοδο ο χρήστης λαμβάνει παραστατικά, χαρακτηρισμούς, ακυρώσεις παραστατικών που έχουν υποβάλλει άλλοι χρήστες και τον αφορούν καθώς επίσης και την πληροφορία αν ένα παραστατικό του έχει απορριφθεί από τον αντισυμβαλλόμενο μέσω της διακριτής κλήσης της μεθόδου αποστολής χαρακτηρισμών εξόδων (πεδίο transactionMode).

Για την περίπτωση εκείνη και μόνο που η μέθοδος κληθεί από τρίτο πρόσωπο (όπως εκπρόσωπος Ν.Π. ή λογιστής), ο ΑΦΜ της οντότητας για τον οποίο πραγματοποιείται η αναζήτηση αποστέλλεται μέσω της παραμέτρου 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\RequestDocs;

$request = new RequestDocs();

try {
  $response = $request->handle(
      mark: "1234567890",
      dateFrom: "2021-01-01",
      dateTo: "2021-12-31",
      receiverVatNumber: "123456789",
      entityVatNumber: "123456789",
      invType: InvoiceType::TYPE_1_1,
  );
} catch (MyDataException $e) {
    echo "Σφάλμα επικοινωνίας: " . $e->getMessage();
}

Παράδειγμα κλήσης με continuationToken

use Firebed\AadeMyData\Enums\InvoiceType;use Firebed\AadeMyData\Http\RequestDocs;

try {
  // Λήψη πρώτης σελίδας αποτελεσμάτων
  $request1 = new RequestDocs();
  $response1 = $request1->handle("1234567890");
  
  $continuationToken = $response1->getContinuationToken();
  
  // Λήψη δεύτερης σελίδας αποτελεσμάτων
  $request2 = new RequestDocs();
  $response2 = $request->handle(
      mark: "1234567890",
      dateFrom: "2021-01-01",
      dateTo: "2021-12-31",
      receiverVatNumber: "123456789",
      entityVatNumber: "123456789",
      invType: InvoiceType::TYPE_1_1,
      nextPartitionKey: $continuationToken->getNextPartitionKey(),
      nextRowKey: $continuationToken->getNextRowKey(),
  );
} catch (MyDataException $e) {
    echo "Σφάλμα επικοινωνίας: " . $e->getMessage();
}
Προηγούμενο
CancelInvoice