Овај чланак описује како користити интерфејс датотека фискалне службе.
Предуслови
- 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
ГГГГ = Година (2022), опсег вредности: 2022-3000
MM = Месец (03 за март), распон вредности: 01-12
DD = Дан (02 за 2. у месецу), распон вредности: 01-31
HH = Сати у 24-часовnoj нотацији, распон вредности: 00-23
NN = минуте (04 за 4 минуте), распон вредности: 00-59
SS = Секунде (05 за 5 секунди), распон вредности: 00-59
ZZZ = милисекунде (010 за 10 милисекунди), распон вредности: 000-999
Тип
{type} означава тип захтева, постоје следећи типови:
- document - за пренос потврде
- validateDocument - да се потврди потврда
- command - за извршавање команде
Документација о типу / моделу
За више информација о моделу докумената и одговарајућим одговорима, погледајте документацију објектног модела и Swagger документацију Фискалног клијента (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-а са подацима из облака
Садржај датотеке је JSON документ са следећом структуром:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Врати
UniqueClientId креираног клијента.
Тип "restoreClientByCloud" - обнављање FiscalClient-а са подацима из облака
Садржај датотеке је JSON документ са следећом структуром:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01",
"ApiKey": "{ApiKey}",
"ApiSecret": "{ApiSecret}"
}
Врати
Уникатни ИД клијента који је враћен.
Тип "getClientId" - претрага клијента и дохватање ИД-а
Доступно од: V1.2.12
Садржај датотеке је JSON документ са следећом структуром:
{
"CompanyIdentification":
{
"Type": 0,
"Identification": "UID"
},
"StoreNumber": "001",
"TerminalNumber": "01"
}
Враћање
Уникатни ИД клијента који је креиран.
Тип "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 интерфејса.
У примеру је PDF ток података скраћен са ... у примеру.
Повратак
У повратној датотеци се враћа QRCode линк (као стринг) за приказ купцу.
Конфигурација
Интерфејс фајл система може да се активира у конфигурацији клијента помоћу вредности у пољу FiscalClient.FileSystemInterfacePath. Ако је ово поље празно (подразумевано), фајл интерфејс није активан.
Овај чланак је аутоматски преведен.
Komentari
Komentara: 0
Molimo prijavi se da biste komentarisali.