Ovaj članak opisuje kako koristiti interfejs fajlova fiskalne službe.
Preduvjeti
- FiskalClient od verzije 1.2.11
- FiscalClient kao usluga (Nuget implementacije nisu podržane)
Podržane zemlje
Trenutno su putem interfejsa za datoteke podržane samo zemlje navedene u nastavku:
- Austrija
- Danska (od verzije 1.3)
Dodatne informacije
Interfejs datoteka podržava samo vrlo mali dio funkcionalnosti fiskalnog klijenta za slanje neophodnih podataka za fiskalizaciju. Ako su poželjne specifičnije komande, usluga se i dalje može integrisati sa alatima kao što je CURL putem REST interfejsa. Međutim, to nije objašnjeno u ovom članku.
Aktivacija
Interfejs datotečnog sistema može se omogućiti na sljedeći način:
- Postavljanje puta do nadzora u datoteci appsettings.json.
- Kreiranje direktorija pod C:\ProgramData\RetailForce\Fiscal web service s nazivom "fileSystemInterface".
Napomena: Da bi se sistem aktivirao, servis se mora ponovo pokrenuti nakon ovih postavki.
appsettings.json
"AppSettings": {
...,
"FileSystemInterfacePath": "c:/temp/filesysteminterface",
...
}
Unosi prije i poslije nisu uključeni u primjer. "c:\temp\filesysteminterface" je nadgledana putanja.
Kako radi
Interfejs fajlova fiskalne službe nadgleda direktorij za nove fajlove sa određenom strukturom imena. Čim se u ovom direktoriju stvori novi fajl koji odgovara konvencijama imenovanja, on se obrađuje.
Napomena: Za veće datoteke preporučljivo je prvo zapisati datoteku u direktorij kao privremenu datoteku, a zatim je preimenovati u ispravno ime datoteke pomoću naredbe RENAME.
Obrada
Postupak je sljedeći:
- Datoteka se prenosi u direktorij i prepoznaje (*.request)
- Datoteka se obrađuje
- Datoteka *.response ili *.error pohranjuje se u direktorij "response" (poddirektorij direktorija za uvoz) (isti naziv datoteke prije ekstenzije).
Primjer
- 20220308135010236.document.request je prenesen
- Datoteka se obrađuje
- Datoteka response/20220308135010236.document.response je spremljena.
ili u slučaju greške
- 20220308135010236.document.request je prenesen
- Datoteka se obrađuje
- Datoteka response/20220308135010236.document.error je pohranjena.
Odgovornosti
Obradbani zahtjevi se pomoću interfejsa za datoteke premještaju u poddirektorij "processed".
Interfejs za datoteke nikada neće izbrisati nijednu datoteku. Međutim, preporučuje se arhiviranje starijih datoteka (prepoznatljivih po datumu) nakon određenog vremenskog perioda.
Osiguravanje ispravnog redoslijeda
Redoslijed obrade osigurava jedinstveno sortirano ime datoteke.
Struktura naziva datoteke
YYYYMMDDHHNNSSZZZ.{type}.request
GGGG = Godina (2022), raspon vrijednosti: 2022-3000
MM = Mjesec (03 za mart), raspon vrijednosti: 01-12
DD = Dan (02 za 2. u mjesecu), raspon vrijednosti: 01-31
HH = Sat u 24-satnoj notaciji, raspon vrijednosti: 00-23
NN = minute (04 za 4 minute), raspon vrijednosti: 00-59
SS = Sekunde (05 za 5 sekundi), raspon vrijednosti: 00-59
ZZZ = Milisekunde (010 za 10 milisekundi), raspon vrijednosti: 000-999
Tip
{type} označava tip zahtjeva, postoje sljedeći tipovi:
- document - za slanje potvrde
- validateDocument - za validaciju potvrde
- command - za izvršavanje komande
Dokumentacija tipa / modela
Za više informacija o modelu dokumenta i odgovarajućim odgovorima, pogledajte dokumentaciju o objektnom modelu i Swagger dokumentaciju Fiskalnog klijenta (http://localhost:7678/swagger/index.html).
Povrat greške je isti za sve tipove: Izuzetak koji je bačen vraća se u datoteku s povratom (*.error).
Tip "document" - prosljeđivanje potvrda
Sadržaj datoteke u ovom slučaju je dokument u RetailForce formatu dokumenata (Document).
Format dokumenta se može pročitati u dokumentaciji Objekat modela ili u Swagger dokumentaciji na fiskalnoj usluzi (http://localhost:7678/swagger/index.html).
Povrat
FiscalResponse odgovarajuće zemlje se šalje u povratnoj datoteci.
Tip "validateDocument" - provjera valjanosti računa
Sadržaj datoteke u ovom slučaju je, kao i kod tipa "document", dokument u RetailForce formatu dokumenata.
Povrat
U povratnoj datoteci vraća se mogući popis grešaka (i upozorenja) iz validacije.
Tip "createClient" - kreiranje FiscalClient-a
Sadržaj datoteke u ovom slučaju je FiscalClient u JSON formatu (vidi dokumentaciju).
Povrat
"OK" kada je zahtjev uspješno obrađen.
Tip "createClientByCloud" - kreiranje FiscalClient-a s podacima iz oblaka
Sadržaj datoteke je JSON dokument sa sljedećom strukturom:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Vraćanje
Jedinstveni ID klijenta koji je kreiran.
Tip "restoreClientByCloud" - obnavljanje FiscalClient-a s podacima iz oblaka
Sadržaj datoteke je JSON dokument sa sljedećom strukturom:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Vraćanje
Jedinstveni ID klijenta (UniqueClientId) vraćenog klijenta.
Tip "getClientId" - pretraži klijenta i dohvati ID
Dostupno od: V1.2.12
Sadržaj datoteke je JSON dokument sa sljedećom strukturom:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01"
}
Vraćanje
Jedinstveni ID klijenta (UniqueClientId) kreiranog klijenta.
Tip "initializeClient" - inicijalizacija FiscalClient-a
Sadržaj datoteke je JSON dokument sa sljedećom strukturom:
{
"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"
}
}
Navedeni podaci su testni i trebaju biti zamijenjeni ispravnim podacima.
Vraćanje
ili prazan ili objekt FiscalResponse odgovarajuće zemlje.
Tip "cloudConnect" - inicijalizacija Cloud veze
Sadržaj datoteke je JSON dokument sa sljedećom strukturom:
{
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}",
"PersistDays": {days} // optional, days until credentials are stored
}
Vraćanje
"OK" kada je zahtjev uspješno obrađen.
Tip "auditLog" - prenosi unos u evidenciji revizije
Sadržaj datoteke je JSON objekt sa sljedećom strukturom:
{
"RecordDateTime": "2022-03-11T15:17:57.9859527",
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"LogEntryType": 200,
"Message": "OpenDrawer",
"DocumentGuid": null,
"User": null
}
Vraćanje
Bilo prazan ili objekt FiscalResponse odgovarajuće zemlje (ako je tamo potrebno).
Tip "digitalReceipt" - Pošalji digitalni račun
Ovaj tip datoteke može se koristiti za slanje digitalnog računa.
Sadržaj datoteke je JSON objekt sa sljedećom strukturom:
{
"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..."
}
Svojstvo "ReceiptMetaData" je objekt ReceiptMetaData koji se također prosljeđuje prilikom poziva putem REST interfejsa.
U primjeru je PDF tok podataka skraćen sa ... u primjeru.
Povrat
U povratnoj datoteci vraća se QRCode link (kao string) za prikaz kupcu.
Konfiguracija
Interfejs datotečnog sistema može se aktivirati u konfiguraciji klijenta pomoću vrijednosti u polju FiscalClient.FileSystemInterfacePath. Ako je ovo polje prazno (podrazumijevano), interfejs datoteka nije aktivan.
Ovaj članak je automatski preveden.
Comments
0 comments
Please sign in to leave a comment.