KasesDatiby CloudHosting
TEHNISKĀ INFORMĀCIJA

Kā dati nonāk līdz mums

Kases sistēma izveido oriģinālo rezerves failu. Mūsu uzdevums sākas brīdī, kad šis fails ir gatavs: to saņemt, pārbaudīt un saglabāt Latvijā, un pateikt, ja tas nav atnācis.

✓ Četri savienojuma veidi ✓ Oriģināls fails, nemainīts
▤ KasesDati / Saņemšana PIEMĒRS
VIENAS KOPIJAS CEĻŠ

Saņemts nav tas pats, kas saglabāts.

backup_id 4f2a9c Kase #01 · API
● Saglabāts
1. Pieteikums
POST /v1/backups
2. Baiti
PUT /v1/uploads/{id}
3. Fiksēšana
POST /complete
Kontrolsumma
✓ Sakrīt
!
Atbilde 202 nenozīmē, ka fails ir saglabāts Statuss stored parādās tikai pēc pārbaudes
Piemērs, nevis dzīvs pieprasījums. Adreses ir projekts, nevis jau strādājošs API.
ČETRI CEĻI LĪDZ ARHĪVAM API SFTP Agent DataBox
VIENS PRINCIPS VISIEM CEĻIEM

Kā mēs zinām,
ka kopija ir vietā.

Neatkarīgi no savienojuma veida fails iziet vienu un to pašu ceļu. Statusu vārdnīca ir kopīga, tāpēc pārskatā redzams viens un tas pats stāvoklis.

01

Nodošana

Sistēma nodod
oriģinālo failu

02

Pagaidu zona

Fails vēl nav
arhīvā

03

Pārbaude

Izmērs un
kontrolsumma

04

Arhīvs Latvijā

Fiksēts objekts
un metadati

Rezerves kopijas statusi PIEMĒRS

Kopīga vārdnīca visiem savienojumiem
Statuss Ko tas nozīmē Vai fails ir arhīvā
expectedGaidām Politika paredz kopiju, tā vēl nav atnākusi Nav
receivedSaņemts Baiti ir pieņemti pagaidu zonā Vēl nav
validatingPārbaudē Salīdzinām izmēru un kontrolsummu Vēl nav
storedSaglabāts Objekts un metadati fiksēti glabātuvē
overdueKavējas Termiņš pagājis, kopijas nav Nav
rejectedNoraidīts Nesakrita kontrolsumma vai formāts Nav
Termiņus rēķina Europe/Riga laika joslā Statusu nosaukumi ir projektēti, nevis galīgi

Kļūda nekļūst par zaļu statusu.
Ja kontrolsumma nesakrīt, kopija paliek noraidīta.

Vecs fails nav jauns periods.
Šodien atkārtoti nosūtīta vakardienas kopija netiek skaitīta kā šodienas.

Savienojums un kopija ir divi jautājumi.
Klusējošs Agent vēl nenozīmē, ka vakardienas kopija ir pazudusi.

PRIORITĀRAIS CEĻŠ

API

Piemērots kases sistēmām un ražotāju mākoņiem, kas jau spēj eksportēt oriģinālo rezerves failu. Vismazāk kustīgo daļu uz vietas veikalā.

HTTPS un īslaicīgas atslēgas

Piekļuve ar īslaicīgiem tokeniem vai ierobežotām atslēgām: rotācija, scopes un pieprasījumu limiti. mTLS, ja partnerim tas ir nepieciešams.

Idempotence

Atkārtots mēģinājums ar to pašu tenant, register un idempotences atslēgu nerada otru kopiju. Tīkla pārrāvums nav iemesls dublikātam.

Divas fāzes

Vispirms pieteikums, tad baiti, tad fiksēšana. Tāpēc saņemtu pieprasījumu var atšķirt no faila, kas tiešām ir arhīvā.

Tenant no autorizācijas

Kam dati pieder, nosaka pārbaudīta autorizācija, nevis identifikators pieprasījuma saturā.

Piedāvātais v1 līgums PROJEKTS

Projektēts apraksts, nevis jau strādājošs API
Metode Ceļš Nozīme
POST /v1/backups Piesaka augšupielādi: register_id, izmērs, kontrolsumma, laiks
PUT /v1/uploads/{id} Nodod baitus ar ierobežotu augšupielādes tokenu
POST /v1/backups/{id}/complete Fiksē pārsūtīšanu un sāk pārbaudi
GET /v1/backups/{id} received, validating, stored vai rejected
GET /v1/registers/{id}/status Pēdējā saglabātā kopija un nākamais termiņš
POST /v1/heartbeats Agent vai DataBox stāvoklis, atsevišķi no rezerves kopijas
GET /v1/backups/{id}/download Autorizēta īslaicīga izgūšana
Šī tabula ir projektēts saskarnes apraksts Šobrīd tā nav publiski pieejama vide

202 nozīmē apstrādi.
Statusu stored atdodam tikai pēc kontrolsummas pārbaudes un objekta fiksēšanas.

Kļūdas ir paredzamas.
400 shēma, 401 un 403 piekļuve, 409 idempotences konflikts, 413 izmērs, 429 ar Retry-After.

Atkārtošana ar atkāpi.
Uz 5xx atbildi klients atkārto ar pieaugošu intervālu. Noslēpumus žurnālos nerakstām.

Ir paredzēti arī parakstīti webhook notikumi backup.stored, backup.overdue un integration.offline ar event_id un dublikātu atsijāšanu. Precīzs saturs tiks fiksēts kopā ar pirmo integrāciju.

KAD API NAV PIEEJAMS

SFTP

Der sistēmām, kas prot ielikt failu katalogā pēc grafika. Vienkāršs ceļš, kuram ir viena būtiska prasība: fails nedrīkst tikt importēts nepabeigts.

Atslēga un katalogs katram

Katram klientam sava atslēga un savs katalogs, bez shell piekļuves un ar apjoma ierobežojumiem. Kurš katalogs atbilst kurai kasei, nosaka serveris, nevis faila nosaukums.

Pagaidu nosaukums, tad pārsaukšana

Fails tiek augšupielādēts ar pagaidu nosaukumu un pēc tam atomāri pārsaukts. Tikai pārsaukts fails nonāk rindā. Pusceļā apstājusies augšupielāde arhīvā neiekļūst.

Pārbaude un karantīna

Salīdzinām izmēru un kontrolsummu. Neatpazīts formāts nonāk karantīnā, nevis arhīvā. Saglabāšanu apstiprina portāls vai API, nevis pats katalogs.

Ja jūsu sistēma neprot atomāru pārsaukšanu, iespējams izmantot atsevišķu manifesta failu, kas apliecina, ka nodošana ir pabeigta. Par to vienojamies pirms pieslēgšanas.

UZ JAU ESOŠA DATORA

Agent

Pakalpojums Windows vai Linux datoram, uz kura kases programmatūra jau saglabā rezerves failus. Neko jaunu veikalā nav jāuzstāda.

Kases programmatūru neaiztiek

Agent nemaina un nepapildina reģistrēto kases programmatūru. Tas lasa failus, ko tā pati ir izveidojusi.

Nelasa failu rakstīšanas laikā

Nodošanu sāk pēc pabeigšanas notikuma vai atomāras pārsaukšanas. Pieņēmums, ka fails dažas sekundes nav mainījies, par pierādījumu netiek uzskatīts.

Lokāla rinda

Ja tīkls pazūd, faili gaida rindā un tiek nosūtīti vēlāk. Rinda ievēro diska ierobežojumu un atsijā dublikātus.

Minimālas tiesības

Parakstīts instalators un atjauninājumi, atslēga aizsargātā glabātuvē, atsevišķs heartbeat par paša pakalpojuma stāvokli.

REZERVES CEĻŠ

DataBox

Iekārtām, kurām nav piemērota tīkla eksporta. Tas ir pēdējais, nevis pirmais risinājums, un tas ir atkarīgs no konkrētā modeļa.

Atkarīgs no modeļa

USB datu nesēja režīms vai dokumentēts RS232 adapteris. Katrs variants tiek saskaņots un izmēģināts kopā ar apkalpojošo piegādātāju pirms piedāvāšanas klientam.

Sava barošana un savienojums

Atsevišķa barošana, lokāla rinda, tīkls vai LTE, watchdog, kontrolēta atjaunināšana un datu nesēja piepildījuma uzraudzība.

!

Ko mēs nesolām

Tas nav universāls USB centrmezgls un nav apgalvojums, ka DataBox derēs jebkurai kasei. Bez testa ar konkrēto iekārtu saderību neapstiprinām.

Vienu un to pašu rakstāmo failu sistēmu vienlaikus nevar droši atdot kases iekārtai un montēt rakstīšanai otrā pusē. Tāpēc DataBox prasa pārbaudītu kārtību, kas apstrādā rakstīšanas kešatmiņu, pēkšņu barošanas zudumu un nepabeigtus failus. Līdz šo testu izpildei DataBox paliek izstrādes ceļš, nevis noliktavā gatava prece.

CHD Tiki-Taka Daisy POS sistēmas Citas sistēmas

Iespējamie integrāciju virzieni, nevis apstiprinātu partnerību saraksts.
Katram modelim atsevišķi pārbaudām formātu, rezerves datu sastāvu, eksporta biežumu, tiesības uz API un atjaunošanas testu. Grāmatvedības darījumu eksports ne vienmēr aizstāj pilnu rezerves kopiju.

TEHNISKIE JAUTĀJUMI

Biežāk uzdotie
jautājumi.

Atbildes tehniķim un izstrādātājam.

Kuru savienojumu izvēlēties?+

Vispirms pārbaudām, vai ražotāja programmatūra jau prot eksportēt oriģinālo rezerves failu. Ja prot un ir pieejams API, izvēlamies API. Ja fails jau nonāk kādā katalogā, izvēlamies SFTP vai Agent. DataBox paliek gadījumiem, kad neviens no tiem nav iespējams.

Vai tabulā redzamās adreses jau darbojas?+

Nē. Tas ir piedāvāts v1 saskarnes apraksts, kas domāts sarunai ar pirmo partneri. Adreses, lauki un kļūdu kodi tiek fiksēti pirms integrācijas sākuma, un līdz tam tie var mainīties.

Ko nozīmē atbilde 202?+

Ka pieprasījums ir pieņemts apstrādei. Tas nav apstiprinājums, ka fails ir arhīvā. Statuss stored parādās tikai pēc tam, kad kontrolsumma ir pārbaudīta un objekts kopā ar metadatiem ir fiksēts glabātuvē. Kontrolsummas kļūda nekad nekļūst par zaļu statusu.

Vai integrācija maina kases programmatūru?+

Nē. Mēs saņemam failu, ko iekārta vai sistēma jau ir izveidojusi. Reģistrētās kases programmatūras apkalpošana, pārprogrammēšana un remonts paliek apkalpojošā dienesta pārziņā.

Kas notiek, ja pazūd tīkls?+

Agent un DataBox tur lokālu rindu un sūta failus vēlāk. Atkārtoti mēģinājumi izmanto to pašu idempotences atslēgu, tāpēc arhīvā neveidojas dublikāti. Klusējošs savienojums tiek rādīts atsevišķi no rezerves kopijas statusa.

SĀKSIM AR JŪSU SISTĒMU

Zināt, kā jūsu sistēma
eksportē rezerves failu?

Tad atlikušais ir tehnisks jautājums. Sarunāsim pilotu ar pāris kasēm un reālu atjaunošanas testu.

Runāt par integrācijuApkalpojošajiem dienestiem, kases sistēmu izstrādātājiem un veikalu tīkliem