Den här artikeln beskriver hur man använder filgränssnittet för den skattemässiga tjänsten.
Förutsättningar
- FiskalClient från och med version 1.2.11
- FiscalClient som tjänst (nuget-implementeringar stöds inte)
Länder som stöds
För närvarande stöds endast de länder som anges nedan via filgränssnittet:
- Österrike
- Danmark (från och med version 1.3)
Ytterligare information
Filgränssnittet stöder endast en mycket begränsad del av skatteklientens funktionalitet för att överföra de data som krävs för skattehantering. Om mer specifika kommandon önskas kan tjänsten fortfarande integreras med verktyg som CURL via REST-gränssnittet. Detta förklaras dock inte i denna artikel.
Aktivering
Filsystemgränssnittet kan aktiveras enligt följande:
- Ställ in sökvägen till övervakningen i appsettings.json.
- Skapa en katalog under C:\ProgramData\RetailForce\Fiscal web service med namnet "fileSystemInterface".
Observera: För att aktivera funktionen måste tjänsten startas om efter dessa inställningar.
appsettings.json
"AppSettings": {
...,
"FileSystemInterfacePath": "c:/temp/filesysteminterface",
...
}
Posterna före och efter ingår inte i exemplet. "c:\temp\filesysteminterface" är den övervakade sökvägen.
Så här fungerar det
Filgränssnittet i skattetjänsten övervakar en katalog efter nya filer med en viss namnstruktur. Så snart en ny fil som följer namngivningskonventionerna skapas i denna katalog bearbetas den.
Observera: För större filer rekommenderas det att först spara filen i katalogen som en temporär fil och sedan byta namn på den till rätt filnamn med hjälp av RENAME.
Förfarande
Förfarandet är följande:
- Filen överförs till katalogen och identifieras (*.request)
- Filen bearbetas
- Filen *.response eller *.error sparas i katalogen ”response” (en underkatalog till importkatalogen) (samma filnamn före filändelsen).
Exempel
- 20220308135010236.document.request överförs
- Filen bearbetas
- Filen response/20220308135010236.document.response sparas.
eller vid fel
- 20220308135010236.document.request överförs
- Filen bearbetas
- Filen response/20220308135010236.document.error har lagrats.
Ansvar
De bearbetade begäranfilerna flyttas till underkatalogen ”processed” av filgränssnittet.
Filgränssnittet raderar aldrig några filer. Det rekommenderas dock att arkivera äldre filer (som känns igen på datumet) efter en viss tid.
Säkerställa rätt ordning
Bearbetningsordningen säkerställs genom ett unikt, sorterbart filnamn.
Filnamnets struktur
ÅÅÅÅMMDDHHNNSSZZZ.{typ}.begäran
ÅÅÅÅ = År (2022), värdeintervall: 2022–3000
MM = Månad (03 för mars), värdeintervall: 01–12
DD = Dag (02 för den 2:a i månaden), värdeintervall: 01–31
HH = Timme i 24-timmarsformat, värdeintervall: 00–23
NN = Minuter (04 för 4 minuter), värdeintervall: 00–59
SS = Sekunder (05 för 5 sekunder), värdeintervall: 00–59
ZZZ = Millisekunder (010 för 10 millisekunder), värdeintervall: 000–999
Typ
{typ} anger typen av begäran; följande typer finns:
- document – för att överföra ett kvitto
- validateDocument – för att validera ett kvitto
- command – för att utföra ett kommando
Typ-/modelldokumentation
För mer information om dokumentmodellen och motsvarande svar, se dokumentationen om objektmodellen och swagger-dokumentationen för Fiscal Client (http://localhost:7678/swagger/index.html).
Felreturvärdet är detsamma för alla typer: Det undantag som genererades returneras i returfilen (*.error).
Typ ”document” – överföring av kvitton
Filens innehåll är i detta fall ett dokument i RetailForce-dokumentformat (Document).
Dokumentformatet kan läsas i dokumentationen för objektmodellen eller i swagger-dokumentationen för Fiscal Client (http://localhost:7678/swagger/index.html).
Retur
FiscalResponse för respektive land överförs i returfilen.
Typ "validateDocument" – validering av ett kvitto
Filinnehållet är i detta fall, precis som för typen ”document”, ett dokument i RetailForce-dokumentformat.
Retur
I returfilen returneras en eventuell lista över fel (och varningar) från valideringen.
Typ "createClient" – skapa en FiscalClient
Filens innehåll är i detta fall en FiscalClient i JSON-format (se dokumentation).
Retur
"OK" när begäran har bearbetats utan problem.
Typ "createClientByCloud" – skapa en FiscalClient med data från Clouden
Filens innehåll är ett JSON-dokument med följande struktur:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Retur
UniqueClientId för den skapade klienten.
Typ "restoreClientByCloud" – återställer en FiscalClient med data från Clouden
Filens innehåll är ett JSON-dokument med följande struktur:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Retur
UniqueClientId för den återställda klienten.
Typ "getClientId" – Sök efter client och hämta ID
Tillgängligt från: V1.2.12
Filens innehåll är ett JSON-dokument med följande struktur:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01"
}
Retur
UniqueClientId för den skapade klienten.
Typ "InitializeClient" – initialisering av FiscalClient
Filens innehåll är ett JSON-dokument med följande struktur:
{
"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"
}
}
Uppgifterna är testdata och ska ersättas med korrekta uppgifter.
Retur
Antingen tomt eller ett fiscalResponse-objekt för respektive land.
Typ "CloudConnect" – initialisering av molnanslutningen
Filens innehåll är ett JSON-dokument med följande struktur:
{
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}",
"PersistDays": {days} // optional, days until credentials are stored
}
Retur
"OK" när begäran har bearbetats framgångsrikt.
Typ "AuditLog" – överföring av revisionsloggpost
Filens innehåll är ett JSON-objekt med följande struktur:
{
"RecordDateTime": "2022-03-11T15:17:57.9859527",
"UniqueClientId": "9607625f-1147-43a4-bf05-49319acbd9f6",
"LogEntryType": 200,
"Message": "OpenDrawer",
"DocumentGuid": null,
"User": null
}
Retur
Antingen tomt eller ett fiscalResponse-objekt för respektive land (om det krävs där).
Typ "digitalReceipt" – Överföring av digitalt kvitto
Denna filtyp kan användas för att skicka in ett digitalt kvitto.
Filens innehåll är ett JSON-objekt med följande struktur:
{
"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..."
}
Egenskapen ”ReceiptMetaData” är ReceiptMetaData-objektet som även ska skickas med vid anrop via REST-gränssnittet.
I exemplet har PDF-streamen förkortats med ...
Retur
I returfilen returneras en QrCode-länk (som string) för visning till kunden.
Konfiguration
Filsystemgränssnittet kan aktiveras i clientkonfigurationen genom att ange ett värde i fältet FiscalClient.FileSystemInterfacePath. Om detta fält är tomt (standard) är filgränssnittet inte aktivt.
Den här artikeln har översatts automatiskt.
Kommentarer
0 kommentarer
logga in för att lämna en kommentar.