Ez a cikk a pénzügyi szolgáltatás fájlinterfészének használatát ismerteti.
Előfeltételek
- FiskalClient 1.2.11-es verzió vagy újabb
- FiscalClient szolgáltatásként (a nuget-megvalósítások nem támogatottak)
Támogatott országok
Jelenleg csak az alábbi országok támogatottak a fájlinterfészen keresztül:
- Ausztria
- Dánia (1.3-as verziótól)
További információ
A fájlinterfész a fiskális client funkcióinak csak egy nagyon szűk körét támogatja a fiskalizáláshoz szükséges adatok továbbításához. Ha specifikusabb parancsokra van szükség, a szolgáltatás továbbra is integrálható olyan eszközökkel, mint a CURL, a REST-interfészen keresztül. Ez azonban nem kerül ismertetésre ebben a cikkben.
Aktiválás
A fájlrendszer-interfész a következőképpen aktiválható:
- Az appsettings.json fájlban meg kell adni a monitorozás elérési útját.
- Hozzon létre egy „fileSystemInterface” nevű könyvtárat a C:\ProgramData\RetailForce\Fiscal web service alatt.
Figyelem: A rendszer aktiválásához a beállítások elvégzése után újra kell indítani a szolgáltatást.
appsettings.json
"AppSettings": {
...,
"FileSystemInterfacePath": "c:/temp/filesysteminterface",
...
}
A példában az előtte és utána lévő bejegyzések nem szerepelnek. A „c:\temp\filesysteminterface” az a könyvtár, amelyet figyelni kívánunk.
Hogyan működik
A pénzügyi szolgáltatás fájlinterfésze figyeli egy könyvtárat, hogy megjelennek-e benne új, meghatározott névszerkezetű fájlok. Amint egy új, a névkonvencióknak megfelelő fájl jön létre ebben a könyvtárban, a rendszer feldolgozza azt.
Figyelem: Nagyobb fájlok esetén célszerű a fájlt először ideiglenes fájlként írni a könyvtárba, majd a RENAME paranccsal átnevezni a megfelelő fájlnévre.
Eljárás
Az eljárás a következő:
- A fájl átkerül a könyvtárba, és a rendszer felismeri (*.request)
- A fájl feldolgozása folyamatban van
- A *.response vagy *.error fájl a „response” könyvtárba (az import könyvtár alkönyvtárába) kerül (a kiterjesztés előtti fájlnévvel).
Példa
- A 20220308135010236.document.request fájl átvitelre kerül
- A fájl feldolgozása folyamatban van
- A response/20220308135010236.document.response fájl el lett mentve.
vagy hiba esetén
- A 20220308135010236.document.request átvitelre került
- A fájl feldolgozása folyamatban van
- A response/20220308135010236.document.error fájl el lett mentve.
Feladatok
A feldolgozott kérelemfájlokat a fájlkezelő felület a „processed” almappába helyezi át.
A fájlkezelő felület soha nem töröl semmilyen fájlt. Javasolt azonban a régebbi fájlokat (amelyek a dátumuk alapján felismerhetők) egy bizonyos idő elteltével archiválni.
A helyes sorrend biztosítása
A feldolgozás sorrendjét a fájl egyedi, rendezhető neve biztosítja.
A fájlnév felépítése
YYYYMMDDHHNNSSZZZ.{type}.request
YYYY = év (2022), értéktartomány: 2022–3000
MM = hónap (03 márciusra), értéktartomány: 01–12
DD = Nap (02 a hónap 2. napjára), értéktartomány: 01–31
HH = Óra 24 órás formátumban, értéktartomány: 00–23
NN = Percek (04 a 4. percet jelenti), értéktartomány: 00–59
SS = másodpercek (05 az 5 másodpercet jelenti), értéktartomány: 00–59
ZZZ = Milliszekundum (010 = 10 milliszekundum), értéktartomány: 000–999
A
{type} jelzi a kérés típusát, a következő típusok léteznek:
- document – nyugta továbbításához
- validateDocument – nyugta érvényesítéséhez
- command – parancs végrehajtásához
Típus / modell dokumentáció
A dokumentummodellről és a hozzá tartozó válaszokról további információkat az Objektummodell dokumentációjában és a Fiscal Client swagger dokumentációjában (http://localhost:7678/swagger/index.html) talál.
A hiba-visszatérési érték minden típus esetében azonos: a dobott kivétel a visszatérési fájlban (*.error) kerül visszaadásra.
„document” típus – nyugták továbbítása
A fájl tartalma ebben az esetben egy RetailForce dokumentumformátumú dokumentum (Document).
A dokumentumformátumról az Objektummodell-dokumentációban vagy a fiskális szolgáltatás swagger-dokumentációjában (http://localhost:7678/swagger/index.html) olvashat.
Visszatérési érték
A visszaküldési fájlban az adott ország fiscalResponse válasza kerül továbbításra.
„validateDocument” típus – nyugta érvényesítése
A fájl tartalma ebben az esetben – a „document” típushoz hasonlóan – egy RetailForce dokumentumformátumú dokumentum.
Visszatérés
A visszaküldési fájlban az érvényesítés során felmerült esetleges hibák (és figyelmeztetések) listája kerül visszaküldésre.
„createClient” típus – FiscalClient létrehozása
A fájl tartalma ebben az esetben egy FiscalClient JSON formátumban (lásd a dokumentációt).
Visszatérési érték
„OK”, ha a kérés feldolgozása sikeresen befejeződött.
„createClientByCloud” típus – FiscalClient létrehozása a Cloudból származó adatokkal
A fájl tartalma egy JSON dokumentum, amelynek szerkezete a következő:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Visszaad
A létrehozott client uniqueClientId azonosítója.
„restoreClientByCloud” típus – FiscalClient visszaállítása a Cloudból származó adatokkal
A fájl tartalma egy JSON-dokumentum, amelynek szerkezete a következő:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Visszatérési érték
A visszaállított client uniqueClientId azonosítója.
„getClientId” típus – Client keresése és ID lekérése
Elérhető: V1.2.12-től
A fájl tartalma egy JSON-dokumentum, amelynek szerkezete a következő:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01"
}
Visszatérési érték
A létrehozott client egyedi azonosítója (uniqueClientId).
„InitializeClient” típus – a FiscalClient inicializálása
A fájl tartalma egy JSON-dokumentum, amelynek szerkezete a következő:
{
"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"
}
}
A megadott adatok tesztadatok, amelyeket a helyes adatokkal kell felváltani.
Visszatérési érték
Vagy üres, vagy az adott országra vonatkozó fiscalResponse objektum.
„CloudConnect” típus – a Cloud Connection inicializálása
A fájl tartalma egy JSON-dokumentum, amelynek szerkezete a következő:
{
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}",
"PersistDays": {days} // optional, days until credentials are stored
}
Visszatér
„OK”, ha a kérés feldolgozása sikeresen megtörtént.
„AuditLog” típus – auditnapló-bejegyzés továbbítása
A fájl tartalma egy JSON-objektum, amelynek szerkezete a következő:
{
"RecordDateTime": "2022-03-11T15:17:57.9859527",
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"LogEntryType": 200,
"Message": "OpenDrawer",
"DocumentGuid": null,
"User": null
}
Visszatérési érték
Üres, vagy az adott ország fiscalResponse objektuma (ha ott szükséges).
„digitalReceipt” típus – digitális nyugta továbbítása
Ez a fájltípus digitális nyugta benyújtására használható.
A fájl tartalma egy JSON-objektum, amelynek szerkezete a következő:
{
"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..."
}
A „ReceiptMetaData” tulajdonság a ReceiptMetaData objektum, amelyet a REST-interfészen keresztül történő híváskor is át kell adni.
In the example the PDF stream was abbreviated with ... in the example.
Visszatérés
A visszaküldött fájlban egy QrCode-link (string-ként) kerül visszaadásra, amelyet az ügyfélnek kell megjeleníteni.
Konfiguráció
A fájlrendszer-interfész a client konfigurációjában a FiscalClient.FileSystemInterfacePath mezőben megadott értékkel aktiválható. Ha ez a mező üres (alapértelmezés), a fájlinterfész nem aktív.
Ezt a cikket automatikusan lefordították.
Hozzászólások
0 hozzászólás
Hozzászólások írásához jelentkezzen be.