Skip to main content

Tokovi događaja

Klik Račun nudi dva namjenski odvojena toka. SSE je dio Public API-ja i javlja promjene asinkronih operacija. TLS/TCP je zasebno ugovoreni kanal za pouzdanu sinkronizaciju dokumenata. Ne koriste istu adresu, vjerodajnice ni oblik poruke.

SSE - promjene operacija​

GET/public/v1/events

Potrebna je ovlast events:read. Bearer token šalje se isključivo u zaglavlju Authorization; token u URL-u nije podržan. Tok je vezan uz istog API klijenta i OIB kao ostali zaštićeni resursi.

curl --no-buffer 'https://iiproxy.sekkun.co/public/v1/events' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Last-Event-ID: $LAST_EVENT_ID"

Pri prvom spajanju izostavite Last-Event-ID. Poslužitelj postavlja početnu točku na trenutačno stanje i najprije šalje stream.ready. Nakon toga šalje samo nove promjene:

retry: 3000

event: stream.ready
data: {"type":"stream.ready","transport":"SSE","cursor":null}

id: eyJ1cGRhdGVkQXQiOiIuLi4ifQ
event: operation.updated
data: {"type":"operation.updated","at":"2026-09-27T10:00:00.000Z","operation":{"operationId":"...","kind":"ISSUE","status":"ISSUED"}}

id je neproziran pokazivač. Spremite ga tek nakon uspješne obrade cijelog događaja. Nakon prekida pošaljite ga kao Last-Event-ID; Klik Račun tada ponavlja kasnije promjene redoslijedom kojim su spremljene. Ne rastavljajte niti izrađujte vlastitu vrijednost pokazivača.

Mogući događaji:

NazivZnačenje
stream.readyAutentikacija je prošla i početna točka je postavljena
operation.updatedPromijenjen je status operacije u vlasništvu klijenta
stream.closedToken ili ovlast opozvani su tijekom veze; automatsko ponovno spajanje nije dopušteno
stream.errorPrivremena pogreška toka; ponovno se spojite s posljednjim obrađenim id-jem

Poslužitelj šalje komentare za održavanje veze. Zanemarite retke koji počinju dvotočkom. Token se ponovno provjerava tijekom otvorene veze, pa rotacija tajne ili deaktivacija klijenta prekida tok.

Poslužiteljska integracija

Standardni preglednički EventSource ne može postaviti zaglavlje Authorization. Ovaj je tok namijenjen poslužiteljskim klijentima koji mogu poslati bearer zaglavlje. Token nemojte premještati u upit URL-a.

GET /public/v1/operations/{operationId} ostaje sigurna pričuvna mogućnost za dohvat pojedinačnog stanja.

TLS/TCP - sinkronizacija dokumenata​

TCP kanal nije REST ruta pod https://iiproxy.sekkun.co/public/v1. Uključuje se zasebnim ugovaranjem, a Klik Račun pri uključivanju izdaje adresu, priključak, identifikator instance i vjerodajnicu. Može se zahtijevati i klijentski certifikat.

Kanal koristi TLS 1.3 i JSON zapise razdvojene novim retkom. Prva poruka mora stići unutar deset sekundi:

{"v":1,"type":"authenticate","instanceId":"erp-prod-1","credential":"issued-secret","resumeAfter":1842}

Poslužitelj dopušta samo OIB-ove dodijeljene toj instanci. Vjerodajnica se ponovno provjerava tijekom veze. resumeAfter ne može preskočiti zadnju trajno potvrđenu poziciju.

{"v":1,"type":"ready","sessionId":"...","resumeAfter":1842,"heartbeatSeconds":30}
{"v":1,"type":"event","sequence":1843,"event":{"id":"...","type":"DOCUMENT_RECORDED","at":"...","document":{}}}
{"v":1,"type":"acknowledge","sequence":1843}
{"v":1,"type":"acknowledged","sequence":1843}

Klijent potvrđuje samo potpuno i trajno obrađene poruke. Nakon ponovnog spajanja poslužitelj ponavlja događaje iza zadnje potvrđene pozicije. ping vraća pong.

Sadržaj dokumenta ne šalje se automatski u svakoj obavijesti. Ovlašteni klijent ga dohvaća porukom fetch-payload; odgovor dolazi u dijelovima payload s Base64 sadržajem i SHA-256 sažetkom, a završava porukom payload-complete. Dohvat je ponovno ograničen na dopuštene OIB-ove.

SvojstvoSSETLS/TCP
NamjenaPromjene Public API operacijaSinkronizacija dokumenata i kontrolirani dohvat sadržaja
PristupOAuth bearer token i events:readIzdana vjerodajnica instance, po potrebi mTLS
NastavakLast-Event-IDresumeAfter i trajna potvrda acknowledge
Adresa/public/v1/eventsZasebno izdana TLS adresa i priključak