ALBI B2B · interní zadání ← Rozcestník · Stávající funkce · verze 2.0 · 9. 10. 2026 · k revizi · Prototyp ↗
S02 · stávající funkce · ZMĚNA TECHNIKY

Zavřený katalog - filtruje UpSearch podle příznaků

Zákazník vidí a koupí jen sortiment své pobočky, stejně jako dnes. Mění se, kdo to hlídá: do MasterShopu jdou všechny produkty s příznaky a filtruje až UpSearch. Web mu v hlavičce jen řekne, kdo je přihlášený, a dostane zpět už vyfiltrovaná data.

Změna proti starému B2B: technika, ne chování Obálka + SFX + UpSearch Rozdělení prací: Z2, B1, B2 Potřebuje dodavatele UpSearch Backend: změna logiky se připravuje Autor: Hana Ortmannová
Co se dělá

Starý B2B filtruje sortiment sám v e‑shopu: zákazník bez povolení produkt nenajde v databázi. Nový B2B to dělá jinak. MasterShop nic nefiltruje, jen ke každé položce drží příznak: u produktu cost level, u zamčené kategorie, článku nebo banneru kód zákaznické skupiny. Web pošle s každým dotazem na UpSearch hlavičku s tím, kdo je přihlášený a za kterou pobočku nakupuje. Co ten uživatel smí, zná UpSearch z dat od MasterShopu a vrátí jen povolené položky.

Kam patří. Obálka backendu: příznaky ze synchronizace AlbiLine a export produktů i kódů poboček do UpSearch. Obálka SFX: hlavička s přihlášeným uživatelem, prázdné stavy. UpSearch: dohledání kódů pobočky a filtr. Jádro MasterShopu: nic nového, pokud programátor nerozhodne jinak (D3). Názvy hlaviček a endpointů jsou pracovní, pojmenuje je programátor.

Připravuje se. Vývojář doporučuje změnit u zavřeného katalogu i logiku na backendu, ne jen přesunout filtr do UpSearch. Co přesně se na backendu změní, upřesní programátor. Do té doby platí sekce 03 a 05 jako návrh a otázky D1 a D3 zůstávají otevřené.

Otevřené otázky

Čtyři otázky pro vývoj, tři pro dodavatele UpSearch. D1 a U1 blokují: bez nich nejde říct, kde všude filtr platí.

Vývojář

Rozhoduje vývoj

#Otázka
D1Detail produktu, košík a objednávka jdou přes FrontAPI, ne přes UpSearch. Má MasterShop příznak kontrolovat aspoň tam (přímý odkaz na detail, vložení do košíku, odeslání objednávky), nebo se nekontroluje vůbec? Návrh: kontrolovat v košíku a objednávce, detail mimo sortiment vrátit 404.
D2Identifikaci uživatele v hlavičce musí UpSearch umět ověřit, jinak si kdokoli z prohlížeče podvrhne cizí pobočku a uvidí její sortiment. Skládá ji server SFX v proxy /_upsearch z přihlášení (token), nebo prohlížeč? Návrh: server SFX.
D3Jak se kódy poboček dostanou do UpSearch: export z obálky spolu s produkty (při každé změně pobočky v AlbiLine), nebo si je UpSearch při dotazu vezme z FrontAPI? Export je jednodušší, dotaz má vždy čerstvá data.
D4Kde SFX drží aktivní pobočku hlavního účtu: jen v prohlížeči, nebo i na serveru? Ovlivňuje D2 a S01.
UpSearch

Odpovídá dodavatel UpSearch

#Otázka
U1Filtr podle hlaviček dnes funguje jen ve staré cestě dotazu. Zapne ho i v cestě, kterou volá SFX (frontapi/catalog, search, autocomplete, počty ve filtrech)? Jaká hlavička ponese přihlášeného uživatele a pobočku a umí si k ní UpSearch dohledat kódy z exportu, nebo čeká kódy přímo v hlavičce (wg)?
U2Jak dostat příznaky z importu MasterShopu do indexu (metapole se schématem)? Jeden index na trh, čtyři trhy.
U3Budou v indexu i kategorie, články a bannery s kódem skupiny, aby je UpSearch filtroval stejně jako produkty? Dnes si je SFX bere z FrontAPI.

Shrnutí

Workflow

Co se ukládá

Kroky

  1. Synchronizace z AlbiLine naplní příznaky produktů a poboček. Export do UpSearch pošle produkty i s cost levelem, položky s kódy skupin a pobočky s jejich kódy.
    • Neúspěch: produkt bez cost levelu → do indexu jde bez příznaku a UpSearch ho NEVRÁTÍ nikomu. Hlásí se v logu synchronizace.
  2. Uživatel se přihlásí. SFX zná jen, kdo to je a jakou má aktivní pobočku. Kódy pobočky NEDOSTÁVÁ.
    • Pobočka bez povolených cost levelů: UpSearch nevrátí nic. Web ukáže prázdný stav s kontaktem na obchodníka, ne chybu.
  3. Každý dotaz na UpSearch (výpis, vyhledávání, našeptávač, počty) nese v hlavičce přihlášeného uživatele a pobočku. UpSearch si k ní dohledá kódy, vrátí jen povolené položky a z nich spočítá počty a stránkování. D2 U1
  4. Hlavní účet přepne pobočku v horní liště. Další dotazy jdou s novou pobočkou v hlavičce, UpSearch přepne sortiment sám. Ceník se přepne stejně (S01).
  5. Detail produktu, košík a objednávka jdou přes FrontAPI. Co tam MasterShop kontroluje, rozhodne D1.
AlbiLineCost level produktu, kódy pobočkysynchronizace každých 20 minut
→
MasterShop (obálka)Všechno s příznakyprodukty, kategorie, články, bannery a pobočky s kódy odcházejí do UpSearch
→
UpSearchFiltrk hlavičce dohledá kódy pobočky a vrátí jen povolené položky, počty a stránkování
→
SFXZobrazí, co dostanev dotazu jen řekne, kdo je přihlášený a jaká pobočka

MasterShop drží data a příznaky, UpSearch rozhoduje, co uživatel uvidí, SFX to jen zobrazí.

Zobrazení na FE

SFX nestaví žádný filtr a žádné kódy nezná. Přidá hlavičku s přihlášeným uživatelem, ukáže prázdné stavy a u produktu mimo sortiment stránku 404.

MístoOdkud dataKdo filtruje
Výpis kategorie, filtry, řazení, počtyUpSearchUpSearch podle hlavičky
Vyhledávání a našeptávačUpSearchUpSearch podle hlavičky
Kategorie v menu, články, bannerydnes FrontAPIUpSearch, pokud budou v indexu (U3); jinak FrontAPI podle kódu skupiny
Detail produktuFrontAPID1; návrh 404 pro produkt mimo sortiment
Košík a objednávkaFrontAPID1; návrh: nepovolený produkt košík nepřijme

FrontAPI a UpSearch

Příznaky a pobočky v exportu do UpSearch, žádný nový endpoint pro web. Hlavičky navazují na ty, které UpSearch už čte.

CoStavK čemu
Export poboček a jejich kódů do UpSearchnovýKe každé pobočce povolené cost levely, kód skupiny a ručně vybrané kategorie. Export, nebo dotaz UpSearch do FrontAPI, viz D3.
Export produktů do UpSearchrozšířitK produktu přibude cost_level_code. Zamčené kategorie, články a bannery dostanou seznam kódů skupin (U2, U3).
Hlavičky na UpSearchexistujíUpSearch dnes čte client-id, cc, lang, pl (ceníky) a wg (whitelist skupiny). SFX posílá jen první čtyři. Nově pošle i přihlášeného uživatele a jeho pobočku (U1).

Administrace

Nic nového k nastavování. Příznaky plní AlbiLine, zamčení kategorie a skupiny zůstávají jako dnes.

Pravidla a validace

Mimo rozsah a nasazení

Mimo rozsah

Nasazení

Kontrola po nasazení