Kako mogu imati i voditi više dućana odjednom?

Autor: 6 min čitanja

WebShopHR je od samog početka građen oko ideje da jedan vlasnik može imati više dućana. Svaki dućan je odvojena tvrtka s vlastitom poddomenom, paketom i pretplatom, a vlasnik u jednom pregledu vidi stanje svih dućana u kojima ima ulogu.

Jedan pregled svih dućana

U administraciji se nalazi endpoint /api/v1/my-stores koji za prijavljenog vlasnika vraća listu svih njegovih dućana. Za svaki dućan prikazuje se slug, naziv, paket, broj narudžbi u zadnjih trideset dana i promet u zadnjih trideset dana. Odgovor uključuje i ukupni zbroj preko svih dućana, pa vlasnik brzo vidi ukupan promet svog poslovanja. Iznad toga, odgovor sadrži poveznicu na samoposlužnu registraciju za otvaranje sljedećeg dućana.

Agregatni pregled svih dućana jednog vlasnika
Agregatni pregled svih dućana jednog vlasnika

Svaki dućan je potpuno neovisan

Dućani ne dijele katalog, kupce, narudžbe, recenzije niti postavke. Svaki ima vlastitu poddomenu, vlastiti paket i vlastitu pretplatu, pa je moguće da isti vlasnik istovremeno ima Free dućan s desetak artikala i Enterprise dućan s punim opsegom. Odluke o jednom dućanu ne utječu na drugi.

Podaci se ne miješaju među dućanima

Izolacija podataka počinje na razini baze. Svaki upit u okviru dućana ide u transakciji s postavljenim sigurnosnim kontekstom baze, pa se podaci filtriraju po identitetu dućana prije nego što aplikacija uopće dobije rezultat.

Agregatni pregled više dućana ne radi jedan veliki upit preko svih dućana, već obavlja zasebne upite po svakom dućanu, svaki u vlastitom sigurnosnom kontekstu. Time nema miješanja podataka i nema slučajnog curenja kupaca ili narudžbi iz jednog dućana u drugi.

Prebacivanje među dućanima bez ponovne prijave

Token za autentikaciju nosi točno jednu organizacijsku pripadnost, ali aplikacija nije ograničena samo na nju. Kad CMS pošalje posebno zaglavlje s odabranim slugom, backend provjeri je li isti korisnik aktivan član osoblja tog dućana u tablici članova osoblja.

Ako jest, poziv se obrađuje u kontekstu tog dućana bez da korisnik mora ponovno unositi lozinku. Ako dućan ne postoji ili korisnik nije član, dobiva se ista poruka. Sustav ne otkriva postojanje tuđeg dućana.

Prebacivanje između dućana bez ponovne prijave
Prebacivanje između dućana bez ponovne prijave

Kratko keširanje pregleda

Agregatni pregled dućana kešira se na 60 sekundi, što smanjuje opterećenje baze. Pad keša ne ruši ekran: backend jednostavno ponovno izračuna podatke iz baze, pa vlasnik uvijek dobije ispravan odgovor, samo malo sporije.

Samoposlužna registracija novog dućana

Novi dućan otvara se na /registracija bez ljudske intervencije. Trgovac upiše naziv, poddomenu, ime, prezime, e-mail, lozinku i odabere želi li demo sadržaj. Sustav zatim kreira poddomenu, organizaciju u sustavu identiteta, vlasnički račun i početne postavke.

Registracija je zaštićena od zloupotrebe: dopušteno je najviše 5 registracija po satu s jedne IP adrese, zabranjeno je zauzeti rezervirane poddomene poput www, api, admin, shop, demo ili billing, a e-mail potvrda je jednokratna poveznica s rokom od 24 sata.

OIB je ključ za naplatu, a ne za pregled

Odmah nakon registracije dućan je vidljiv na internetu i kupci mogu pregledavati artikle i puniti košaricu, ali stranica naplate ostaje zaključana dok trgovac ne potvrdi e-mail i ne upiše OIB tvrtke u postavkama. To štiti platformu od lažnih dućana i istovremeno trgovcu daje vremena pripremiti dokumentaciju prije nego što mu stigne prva narudžba.

Pravne stranice odmah, demo sadržaj po želji

Bez obzira je li trgovac odabrao demo sadržaj ili ne, svaki novi dućan dobiva četiri pravne stranice: uvjete korištenja, politiku privatnosti, upute o povratu i reklamacijama te obrazac za jednostrani raskid. Demo katalog s nekoliko primjera artikala i stranica je opcija koju može uključiti checkboxom.

Transakcijska sigurnost i kompenzacija

Registracija je podijeljena u korake. Organizacija u sustavu identiteta i korisnik kreiraju se prije baze, a zatim se u jednoj transakciji upišu zapis dućana, primarna domena i poveznica na vlasnika. Ako taj zapis u bazi padne, sustav pokuša obrisati kreiranu organizaciju u sustavu identiteta da ne ostane siroče račun.

Nakon toga se u zasebnom koraku upisuju postavke, pravne stranice i demo sadržaj. Ako i taj korak padne, dućan i dalje postoji i radi. Ne ruši se cijela registracija zbog neuspjelog pripremnog sadržaja.

Zaključak

Multi-store nije naknadno dodatak, već temelj arhitekture. Jedan vlasnik može imati više dućana, svaki je izoliran, a prebacivanje među njima ide unutar iste prijave. Agregatni pregled daje brz uvid u cijelo poslovanje, a registracija novog dućana je potpuno samoposlužna i zaštićena od zloupotrebe.

Više o temi: Paketi i početak.

Česta pitanja.

Mogu li imati Free dućan i Enterprise dućan istovremeno, pod istim vlasnikom?

Da. Svaki dućan ima vlastitu poddomenu, paket i pretplatu, potpuno neovisno o ostalima. Moguće je istovremeno imati Free dućan s desetak artikala i Enterprise dućan s punim opsegom.


Kako vidim ukupan promet svih svojih dućana na jednom mjestu?

Endpoint /api/v1/my-stores vraća listu svih tvojih dućana s brojem narudžbi i prometom u zadnjih 30 dana po dućanu, plus ukupni zbroj preko svih dućana.


Mogu li slučajno vidjeti kupce ili narudžbe iz drugog svog dućana?

Ne. Izolacija je na razini baze. Svaki upit ide u vlastitom sigurnosnom kontekstu dućana, a agregatni pregled radi zasebne upite po dućanu umjesto jednog velikog upita preko svih.


Moram li se ponovno prijaviti svaki put kad prebacim dućan u administraciji?

Ne. CMS pošalje odabrani slug dućana u zaglavlju, backend provjeri jesi li aktivan član osoblja tog dućana i obradi poziv u tom kontekstu bez ponovnog unosa lozinke.


Koliko brzo mogu otvoriti drugi dućan?

Odmah, samoposlužno na /registracija, bez ljudske intervencije, uz zaštitu od zloupotrebe (najviše 5 registracija po satu s jedne IP adrese).

Povezani vodiči.

Otvori vlastiti webshop u par minuta.

Besplatan paket traje bez roka i ne traži karticu.