Αυτό το άρθρο περιγράφει τον τρόπο χρήσης της διεπαφής αρχείων της φορολογικής υπηρεσίας.
Προαπαιτούμενα
- FiskalClient από την έκδοση 1.2.11
- FiscalClient ως υπηρεσία (οι υλοποιήσεις μέσω nuget δεν υποστηρίζονται)
Υποστηριζόμενες χώρες
Προς το παρόν, μέσω της διεπαφής αρχείων υποστηρίζονται μόνο οι χώρες που αναφέρονται παρακάτω:
- Αυστρία
- Δανία (από την έκδοση 1.3)
Πρόσθετες πληροφορίες
Η διεπαφή αρχείων υποστηρίζει μόνο ένα πολύ μικρό μέρος των λειτουργιών του φορολογικού πελάτη για τη μετάδοση των απαραίτητων δεδομένων για τη φορολογική καταχώριση. Εάν επιθυμείτε πιο συγκεκριμένες εντολές, η υπηρεσία μπορεί να ενσωματωθεί με εργαλεία όπως το CURL μέσω της διεπαφής REST. Ωστόσο, αυτό δεν εξηγείται σε αυτό το άρθρο.
Ενεργοποίηση
Η διεπαφή του συστήματος αρχείων μπορεί να ενεργοποιηθεί ως εξής:
- Ρύθμιση της διαδρομής προς την παρακολούθηση στο αρχείο appsettings.json.
- Δημιουργία καταλόγου στον φάκελο C:\ProgramData\RetailForce\Fiscal web service με το όνομα "fileSystemInterface".
Προσοχή: Για να ενεργοποιηθεί το σύστημα, η υπηρεσία πρέπει να επανεκκινηθεί μετά από αυτές τις ρυθμίσεις.
appsettings.json
"AppSettings": {
...,
"FileSystemInterfacePath": "c:/temp/filesysteminterface",
...
}
Οι καταχωρήσεις πριν και μετά δεν περιλαμβάνονται στο παράδειγμα. Η διαδρομή "c:\temp\filesysteminterface" είναι η διαδρομή που παρακολουθείται.
Πώς λειτουργεί
Η διεπαφή αρχείων της φορολογικής υπηρεσίας παρακολουθεί έναν κατάλογο για νέα αρχεία με συγκεκριμένη δομή ονομάτων. Μόλις δημιουργηθεί ένας νέος φάκελος που ανταποκρίνεται στις συμβάσεις ονοματολογίας σε αυτόν τον κατάλογο, υποβάλλεται σε επεξεργασία.
Προσοχή: Για μεγαλύτερα αρχεία, συνιστάται να αποθηκεύσετε πρώτα το αρχείο στον κατάλογο ως προσωρινό αρχείο και, στη συνέχεια, να το μετονομάσετε στο σωστό όνομα αρχείου χρησιμοποιώντας την εντολή RENAME.
Διαδικασία
Η διαδικασία έχει ως εξής:
- Το αρχείο μεταφέρεται στον κατάλογο και αναγνωρίζεται (*.request)
- Το αρχείο υποβάλλεται σε επεξεργασία
- Το αρχείο *.response ή *.error αποθηκεύεται στον κατάλογο «response» (υποκατάλογος του καταλόγου εισαγωγής) (ίδιο όνομα αρχείου πριν από την επέκταση).
Παράδειγμα
- Μεταφέρεται το αρχείο 20220308135010236.document.request
- Το αρχείο βρίσκεται σε επεξεργασία
- Το αρχείο response/20220308135010236.document.response αποθηκεύεται.
ή σε περίπτωση σφάλματος
- Το 20220308135010236.document.request μεταφέρεται
- Το αρχείο βρίσκεται σε επεξεργασία
- Το αρχείο response/20220308135010236.document.error έχει αποθηκευτεί.
Ευθύνες
Τα επεξεργασμένα αρχεία αιτήσεων μεταφέρονται στον υποκατάλογο «processed» από τη διεπαφή αρχείων.
Η διεπαφή αρχείων δεν θα διαγράψει ποτέ κανένα αρχείο. Ωστόσο, συνιστάται η αρχειοθέτηση παλαιότερων αρχείων (αναγνωρίσιμων από την ημερομηνία τους) μετά από ένα ορισμένο χρονικό διάστημα.
Διασφάλιση της σωστής σειράς
Η σειρά επεξεργασίας διασφαλίζεται από ένα μοναδικό, ταξινομήσιμο όνομα του αρχείου.
Δομή του ονόματος αρχείου
YYYYMMDDHHNNSSZZZ.{type}.request
YYYY = Έτος (2022), εύρος τιμών: 2022-3000
MM = Μήνας (03 για τον Μάρτιο), εύρος τιμών: 01-12
DD = Ημέρα (02 για τη 2η του μήνα), εύρος τιμών: 01-31
HH = Ώρα σε 24ωρη μορφή, εύρος τιμών: 00-23
NN = Λεπτά (04 για 4 λεπτά), εύρος τιμών: 00-59
SS = Δευτερόλεπτα (05 για 5 δευτερόλεπτα), εύρος τιμών: 00-59
ZZZ = Χιλιοστά του δευτερολέπτου (010 για 10 χιλιοστά του δευτερολέπτου), εύρος τιμών: 000-999
Τύπος
{type} υποδεικνύει τον τύπο του αιτήματος, υπάρχουν οι ακόλουθοι τύποι:
- document - για τη διαβίβαση μιας απόδειξης
- validateDocument - για την επικύρωση μιας απόδειξης
- command - για την εκτέλεση μιας εντολής
Τεκμηρίωση τύπου / μοντέλου
Για περισσότερες πληροφορίες σχετικά με το μοντέλο εγγράφου και τις αντίστοιχες απαντήσεις, ανατρέξτε στην Τεκμηρίωση Μοντέλου Αντικειμένου και στην τεκμηρίωση swagger του Fiscal Client (http://localhost:7678/swagger/index.html).
Η επιστροφή σφάλματος είναι η ίδια για όλους τους τύπους: Η εξαίρεση που προκλήθηκε επιστρέφεται στο αρχείο επιστροφής (*.error).
Τύπος «document» - διαβίβαση αποδείξεων
Το περιεχόμενο του αρχείου σε αυτή την περίπτωση είναι ένα έγγραφο σε μορφή RetailForce (Document).
Μπορείτε να βρείτε τη μορφή του εγγράφου στην Τεκμηρίωση Μοντέλου Αντικειμένων ή στην τεκμηρίωση swagger της φορολογικής υπηρεσίας (http://localhost:7678/swagger/index.html).
Απόδοση
Το fiscalResponse της αντίστοιχης χώρας μεταδίδεται στο αρχείο επιστροφής.
Τύπος «validateDocument» - επικύρωση απόδειξης
Το περιεχόμενο του αρχείου σε αυτή την περίπτωση είναι, όπως και στον τύπο «document», ένα έγγραφο σε μορφή εγγράφου RetailForce.
Απόδοση
Στο αρχείο επιστροφής, επιστρέφεται ένας πιθανός κατάλογος σφαλμάτων (και προειδοποιήσεων) από την επικύρωση.
Τύπος «createClient» - δημιουργία ενός FiscalClient
Το περιεχόμενο του αρχείου σε αυτή την περίπτωση είναι ένα FiscalClient σε μορφή JSON (βλ. τεκμηρίωση).
Απόδοση
"OK" όταν το αίτημα έχει επεξεργαστεί με επιτυχία.
Τύπος "createClientByCloud" - δημιουργία ενός FiscalClient με δεδομένα από το Cloud
Το περιεχόμενο του αρχείου είναι ένα έγγραφο JSON με την ακόλουθη δομή:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Επιστροφή
Το uniqueClientId του πελάτη που δημιουργήθηκε.
Τύπος "restoreClientByCloud" - επαναφορά ενός FiscalClient με δεδομένα από το Cloud
Το περιεχόμενο του αρχείου είναι ένα έγγραφο JSON με την ακόλουθη δομή:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Επιστροφή
Το uniqueClientId του πελάτη που αποκαταστάθηκε.
Τύπος "getClientId" - Αναζήτηση πελάτη και λήψη ID
Διαθέσιμο από: V1.2.12
Το περιεχόμενο του αρχείου είναι ένα έγγραφο JSON με την ακόλουθη δομή:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01"
}
Επιστροφή
Το uniqueClientId του πελάτη που δημιουργήθηκε.
Πληκτρολογήστε "InitializeClient" - αρχικοποίηση του FiscalClient
Το περιεχόμενο του αρχείου είναι ένα έγγραφο JSON με την ακόλουθη δομή:
{
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"BookDate": "2022-03-10T08:52:33.3556282Z",
"User":
{
"Id": "1",
"Caption": "Test",
"LastName": "Test",
"FirstName": "Test",
"DateOfEntry": "2022-03-10T08:52:33.3556282Z"
}
}
Τα δεδομένα που παρέχονται είναι δοκιμαστικά και πρέπει να αντικατασταθούν από τα σωστά δεδομένα.
Επιστροφή
Είτε κενό είτε ένα αντικείμενο fiscalResponse της αντίστοιχης χώρας.
Τύπος "CloudConnect" - αρχικοποίηση της σύνδεσης με το Cloud
Το περιεχόμενο του αρχείου είναι ένα έγγραφο JSON με την ακόλουθη δομή:
{
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}",
"PersistDays": {days} // optional, days until credentials are stored
}
Επιστροφή
«OK» όταν το αίτημα έχει επεξεργαστεί με επιτυχία.
Τύπος "AuditLog" - μετάδοση καταχώρησης στο αρχείο καταγραφής ελέγχου
Το περιεχόμενο του αρχείου είναι ένα αντικείμενο JSON με την ακόλουθη δομή:
{
"RecordDateTime": "2022-03-11T15:17:57.9859527",
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"LogEntryType": 200,
"Message": "OpenDrawer",
"DocumentGuid": null,
"User": null
}
Επιστροφή
Είτε κενό είτε ένα αντικείμενο fiscalResponse της αντίστοιχης χώρας (εάν απαιτείται εκεί).
Τύπος «digitalReceipt» – Αποστολή ψηφιακής απόδειξης
Αυτός ο τύπος αρχείου μπορεί να χρησιμοποιηθεί για την υποβολή ψηφιακής απόδειξης.
Το περιεχόμενο του αρχείου είναι ένα αντικείμενο JSON με την ακόλουθη δομή:
{
"UniqueClientId": "d5ecc344-e37a-40c6-bed4-a6b1e60e68c8",
"ReceiptMetaData": {
"DocumentType": 0,
"CustomDocumentType": null,
"DocumentGuid": "2394fef4-2339-459a-817e-e4cd86ce23f6",
"DocumentNumber": "1",
"DocumentId": "CS_01_01_1",
"BookDate": "2021-11-17T06:45:03.8203317",
"Amount": 141.0,
"Partner": null,
"Users": null,
"ProcessId": null,
"CancelledDocumentGuid": null,
"ItemIdArray": [
"1231",
"SW4471"
],
"ItemCodeArray": null
},
"PdfDataBase64": "JVBERi0xLjcKJeLjz9MKMSAwIG9iaiAKPDwKL0NvbG9yU3Bh..."
}
Η ιδιότητα «ReceiptMetaData» είναι το αντικείμενο ReceiptMetaData που πρέπει επίσης να διαβιβάζεται κατά την κλήση μέσω της διεπαφής REST.
Στο παράδειγμα, ο stream των δεδομένων PDF έχει συντομευτεί με ...
Επιστροφή
Στο αρχείο επιστροφής επιστρέφεται ένας σύνδεσμος QrCode (ως string) για εμφάνιση στον πελάτη.
Διαμόρφωση
Η διεπαφή συστήματος αρχείων μπορεί να ενεργοποιηθεί στη διαμόρφωση του πελάτη μέσω μιας τιμής στο πεδίο FiscalClient.FileSystemInterfacePath. Εάν αυτό το πεδίο είναι κενό (προεπιλογή), η διεπαφή αρχείων δεν είναι ενεργή.
Αυτό το άρθρο μεταφράστηκε αυτόματα.
Σχόλια
0 σχόλια
Πραγματοποιήστε είσοδο για να αφήσετε ένα σχόλιο.