Izvoz podataka
Podaci su tvoji, i možeš ih odnijeti kad god poželiš. Jedan API poziv izvozi cijeli katalog, sve kupce i sve narudžbe iz tvoje trgovine odjednom, bez vezanosti uz WebShopHR. Kroz CMS je danas dostupan samo izvoz kupaca (vidi „Kako pokrećeš izvoz" niže). Puni izvoz kataloga i narudžbi ideš izravno na API.
Što izvoz sadrži
Jedan izvoz obuhvaća artikle (s varijantama), kupce i narudžbe (sa stavkama). Sve zajedno, iz jednog poziva. Ne moraš skupljati tri zasebna izvoza da bi dobio cjelinu.
Kupci u izvozu nikad ne nose lozinku ni njezin hash. Ta kolona se namjerno ne izvozi, bez obzira zatražio ti sve podatke ili samo kupce.
Format i pakiranje
Biraš između dva formata. JSON vraća jednu datoteku: artikli nose svoje
varijante ugniježđene unutra, narudžbe svoje stavke, kupci su zaseban popis.
CSV vraća ZIP arhivu s četiri odvojene datoteke: items.csv,
customers.csv, orders.csv i order_items.csv, svaka s retkom zaglavlja
i UTF-8 oznakom na početku, da Excel ispravno prikaže hrvatske dijakritičke
znakove (č, ć, š, ž, đ) umjesto da ih iskrivi. Cijene u CSV-u su u centima
(kolona price_cents, ne u eurima). Zaglavlje to jasno kaže.
Izvoz smiješ suziti i na samo jedan dio (samo artikli, samo kupci ili samo narudžbe) umjesto svega. U CSV-u tad i dalje dobiješ sve četiri datoteke u arhivi, samo ostale ostaju prazne (samo zaglavlje, bez redaka).
Dosljedan snimak, ne slučajan presjek
Cijeli izvoz čita se iz jedne baze podataka u jednom trenutku: narudžba koja baš tada nastaje ili se mijenja u izvozu je ili potpuno unutra, ili potpuno izvan, nikad na pola. Ne moraš brinuti da će ti izvoz "uhvatiti" nedovršenu promjenu.
Kako pokrećeš izvoz
Gumb "Export" na ekranu Kupci preuzima izvoz kupaca
(samo customers.csv s podacima, ostale tri datoteke u arhivi ostaju
prazne). Ekran Kupci vidi i djelatnik, ali sâm izvoz smiju pokrenuti samo
upravitelj i vlasnik: gumb ostaje vidljiv i djelatniku, no klik mu
vrati grešku o nedovoljnim pravima umjesto datoteke.
Za cijeli katalog i narudžbe, ili za JSON format, poziv ide izravno na API:
GET /api/v1/export?what=all&format=json (ili what=items/orders,
format=csv), s istom prijavom i istom razinom prava kao za CMS. Vidi
Javni API za autorizaciju.
Zašto ovo postoji
Dvije stvari stoje iza ovog izvoza. Prvo, nema vezanosti uz platformu: ako ikad odlučiš otići, tvoj katalog, kupci i narudžbe idu s tobom, u otvorenom formatu koji drugi sustav može učitati. Drugo, GDPR pravo na prenosivost podataka: kad kupac zatraži uvid u svoje podatke, izvoz ti daje izvor iz kojeg odgovaraš. Izvoz vraća sve kupce odjednom, ne jednog, pa prije slanja kupcu izdvoji samo njegov redak, ne šalji mu cijelu datoteku.
Ograničenje brzine
Izvoz čita cijeli katalog, sve kupce i sve narudžbe odjednom, pa je namjerno ograničen na 10 poziva na sat po trgovini: dovoljno za redovitu upotrebu (dnevni ili tjedni izvoz), a sprječava da slučajni skript koji zapne u petlji preoptereti tvoju trgovinu.
Ograničenje se provjerava preko istog sustava koji drži i košaricu (Valkey). Ako je taj sustav privremeno nedostupan, provjera se preskoči, a izvoz ipak prođe: sustav radije propusti poneki poziv previše nego da zaustavi izvoz zbog kvara koji nema veze s tvojim podacima.
Povezane stranice



