ALBI B2B · interní zadání ← Rozcestník · verze 1.0 · 25. 9. 2026 · k revizi
F12 + P7 · fáze 1 · nové

Rozšíření žádosti o přístup - ověření IČO a evidence žádostí

Zájemce zadá IČO, e‑shop si stáhne údaje firmy z rejstříku a ověří plátce DPH. Žádost se uloží a obchodník ji dostane s hotovými daty. Účet dál zakládá obchodník v AlbiLine. Automatické schválení se NESTAVÍ, dokud ho ALBI nerozhodne.

Jádro (FrontAPI, admin) + SFX FrontAPI: 1 nový, 1 existující Administrace: nový výpis žádostí PBS 121587 Autor: Hana Ortmannová

Co je převzetí a co inovace. Žádost o přístup jako dnes (6 polí, 2 e‑maily) patří do převzetí stávajících funkcí 1:1 (rozdělení A2). Tato inovace je jen rozšíření nad ní: ověření IČO v rejstříku, uložení žádosti a výpis v administraci.

Co se dělá

Dnešní žádost o B2B přístup má šest polí, IČO neověřuje, nikam se neukládá a odejde jen dvěma e‑maily, ve kterých IČO ani obor nejsou vidět. Obchodník pak firmu hledá sám. Nová žádost přinese ověřené údaje z rejstříku a zůstane v e‑shopu, aby bylo vidět, co čeká a co je vyřízené.

Kam patří. Jádro MasterShopu (větev front-api): tabulka žádostí, endpoint pro odeslání žádosti, výpis a detail žádostí v administraci, obě e‑mailové šablony. Žádost o B2B přístup potřebuje každý B2B klient, klasické jádro B2B registraci jen zakáže. Obálka: formulář ve třech krocích v SFX, párování žádosti s účtem při synchronizaci zákazníků z AlbiLine. Názvy nových tabulek a endpointů jsou pracovní, v jádru je pojmenuje programátor.

Otevřené otázky

K1 až K3 jsou obchodní pravidla ALBI a formulář bez nich jde stavět jen pro CZ a SK. D1 je bezpečnostní podmínka celého řešení.

Klient

Rozhoduje ALBI

#Otázka a náš návrh
K1Zůstává schvalování vždy ruční? Návrh: ano pro fázi 1. Automatické založení účtu v e‑shopu je vyloučené technicky (viz D1), automatické založení v AlbiLine by musel udělat ERP. Rozhodnutí P7 z dokumentu inovací.
K2Který rejstřík pro polský a anglický e‑shop? Jádro umí ARES (CZ) a VIES (DIČ v EU). Pro PL a EN návrh: ověřit jen DIČ přes VIES, IČO jen formátem. Pro EN po brexitu VIES neplatí, tam jen formát.
K3Má zájemce nahrávat živnostenský list? Kalkulace to zmiňuje. Návrh: ne. Ověření v rejstříku ho nahradí, příloha by vyžadovala ukládání souborů a endpoint pro nahrání, který FrontAPI mimo avatar nemá.
K4Kdo žádosti vyřizuje a v jaké lhůtě? Do administrace dáme stav a poznámku, ale slib zájemci („ozveme se do 2 pracovních dnů") musí určit ALBI.
Vývojář

Rozhoduje vývoj

#Otázka
D1Synchronizace zákazníků z AlbiLine smaže e‑shopový účet se stejným e‑mailem, který nevznikl z AL. Žádost proto NESMÍ založit zákazníka. Ověřit, že nová tabulka žádostí je mimo dosah synchronizace.
D2Párování žádosti s účtem: když synchronizace založí zákazníka s e‑mailem, ke kterému existuje žádost ve stavu „předáno", má se žádost automaticky přepnout na „účet založen"? Navrhujeme ano, hook v obálkovém konektoru zákazníků.
D3Endpoint ověření firmy vrací u špatného typu chybu s názvem parametru countryCode místo typu. Chyba v jádře, SFX s ní musí počítat.
D4Ochrana veřejného endpointu žádosti proti robotům: použít Turnstile s hlavičkou X-PB-Captcha-Token. Obálka albi.eu ho má u formuláře náhradních dílů a jádro stejnou hlavičkou nově chrání i registraci. Potvrdit, že stačí bez limitu na IP.

Shrnutí

Jak to funguje dnes

Ověřeno v kódu staré obálky a jádra. Slouží jako měřítko, co se mění.

Co se ukládá

TabulkaSloupcePoznámka
b2b_registration_requestsid, presentation_id, status (new · handed_over · account_created · rejected), company_name, company_id (IČO), vat_id (DIČ), is_vat_payer, registry_verified (0/1), street, city, zip, country_code, contact_name, email, phone, business_type, note (text zájemce), consent_time, ip_hash, admin_note, customer_id (NULL, doplní se po založení), created_at, updated_atV obálce backendu, mimo dosah synchronizace. D1 Údaje z rejstříku se ukládají tak, jak přišly, plus co zájemce upravil.

Workflow

  1. Zájemce otevře Požádat o přístup z přihlašovací stránky. Je to jediná veřejná stránka B2B webu kromě přihlášení. Krok 1: stát (podle e‑shopu předvyplněný) a IČO.
  2. Klikne na Ověřit. SFX zavolá existující endpoint ověření firmy s typem IČO.
    • Nenalezeno: hláška „Firmu jsme v rejstříku nenašli. Zkontrolujte IČO, nebo pokračujte a údaje vyplňte ručně." Tlačítko Pokračovat bez ověření je viditelné, žádost dostane registry_verified = 0.
    • Rejstřík nedostupný: stejná cesta jako nenalezeno, jiný text: „Rejstřík teď neodpovídá."
    • Nalezeno: předvyplní se název, ulice, město, PSČ, DIČ a příznak plátce. Pole zůstanou editovatelná. K2 D3
  3. Krok 2: kontakt. Jméno, e‑mail, telefon, obor (select), volitelně zpráva. Souhlas se zpracováním údajů (povinný checkbox s odkazem). Ochrana proti robotům. D4
  4. Odeslání. SFX zavolá nový endpoint. Ten ověří, že e‑mail nepatří existujícímu zákazníkovi ani otevřené žádosti.
    • E‑mail existujícího zákazníka: 409 a hláška „Pro tento e‑mail už účet existuje. Přihlaste se, nebo si obnovte heslo." s odkazy. Žádost se NEULOŽÍ.
    • Otevřená žádost se stejným e‑mailem: 409 a hláška „Vaši žádost už máme, ozveme se." Žádost se NEULOŽÍ, obchodník dostane upozornění o opakovaném pokusu do poznámky původní žádosti.
    • Jinak: žádost se uloží se stavem Nová, odejdou dva e‑maily. Krok 3 ukáže potvrzení: co bude dál a do kdy. K4
  5. Obchodník otevře žádost v administraci, ověří ji obchodně, založí zákazníka v AlbiLine s ceníkem a povoleným sortimentem, a v administraci přepne stav na Předána do AlbiLine. Nebo Zamítnuta s poznámkou; zamítnutí NEPOSÍLÁ zájemci automatický e‑mail, obchodník napíše sám.
  6. Synchronizace založí účet a pošle existující e‑mail s odkazem na nastavení hesla. Obálkový konektor při založení zákazníka najde žádost se stejným e‑mailem ve stavu předána a přepne ji na Účet založen s customer_id. D2

Nesahat na registraci ve FrontAPI jádra ani na synchronizaci zákazníků. Žádost nikdy nevytvoří řádek v tabulce zákazníků.

Zobrazení na FE

Podle prototypu, obrazovka Registrace. Tři kroky s ukazatelem postupu. Design system ALBI.

Pole formuláře

KrokPoleTyp · povinnost · pravidla
1Státselect · povinné · předvyplněn podle e‑shopu (CZ, SK, PL, ostatní EU, mimo EU)
1IČOtext · povinné · CZ a SK 8 číslic, PL 10 číslic (NIP), jinak 4 až 20 znaků · tlačítko Ověřit
1Název firmytext · povinné · max. 200 · z rejstříku, editovatelné
1DIČtext · nepovinné · z rejstříku, ověřeno přes VIES, štítek „plátce DPH" / „neplátce"
1Ulice, město, PSČtext · povinné · z rejstříku, editovatelné
2Jméno a příjmenítext · povinné · max. 100
2E‑mailemail · povinné · kontrola formátu; kolize řeší endpoint
2Telefontel · povinné · s předvolbou
2Oborselect · povinné · hodnoty ze systémové volby (výchozí: papírnictví, hračkářství, knihkupectví, dárkové zboží, e‑shop, jiné)
2Zprávatextarea · nepovinné · max. 1000
2Souhlascheckbox · povinné · odkaz na zásady
3Potvrzenírekapitulace údajů, věta co bude dál a lhůta K4, tlačítko Zpět na přihlášení
Náhled FE: krok 1 po ověření
WF-F1

Žádost o přístup, krok 1 s údaji z rejstříku

Žádost o velkoobchodní přístup
Krok 1 ze 3 · Firma
IČO  27604977Ověřit
✓ Nalezeno v rejstříku · plátce DPH
Papírnictví u Lípy s. r. o. CZ27604977 Lípová 12, Praha 2, 120 00
Pokračovat

Nové je ověření a předvyplnění. Pole zůstávají editovatelná, ověření se ukládá jako příznak.

FrontAPI

EndpointStavK čemu
GET /api-services/business-info/{countryCode}/{TYPE_ICO|TYPE_DIC}/{číslo}existujeJádro. IČO → ARES, DIČ → VIES. Vrací název, město, ulici, PSČ, DIČ, plátcovství. Chyby: neplatný parametr, služba nedostupná, nenalezeno. Bez JWT.
POST /api-b2b/registration-requestsnovýUloží žádost, odešle e‑maily. Bez JWT, s ochranou proti robotům. Tělo = pole z tabulky výše. Odpověď 201 { "requestId" }, 409 s kódem EMAIL_HAS_ACCOUNT nebo REQUEST_PENDING, 422 s chybami polí.
POST /api-users/usersnepoužije seRegistrace jádra zakládá aktivní účet ihned. Pro B2B žádost NEPOUŽÍVAT.

E‑maily po odeslání

Administrace

Nový výpis: Zákazníci → Žádosti o B2B přístup

Náhled administrace: výpis a detail žádosti
WF-A1

Zákazníci → Žádosti o B2B přístup

Žádosti o B2B přístup
Filtr: stav Nová · prezentace B2B CZ
DatumFirmaIČOKontaktOborOvěřenoStav
25. 9. 2026Papírnictví u Lípy s. r. o.27604977Jana NovákováPapírnictví✓NováDetail
24. 9. 2026Hračky Dvořák—Petr DvořákHračkářství—NováDetail
WF-A2

Detail žádosti

Žádost 1042 · Papírnictví u Lípy s. r. o.
přijato 25. 9. 2026 10:14 · B2B CZ · ověřeno v rejstříku
Firma
IČO / DIČ
27604977 / CZ27604977 · plátce DPH
Adresa
Lípová 12, Praha 2, 120 00
Kontakt
Jana Nováková · jana.novakova@ulipy.cz · +420 777 123 456
Obor · zpráva
Papírnictví · „Máme dvě prodejny v Praze, zajímají nás hry a diáře."
Vyřízení
Stav
Předána do AlbiLine
Poznámka obchodníka
založeno v AL 25. 9., ceník B
Zákazník v e‑shopu
— doplní synchronizace
Uložit

Pravidla a validace

Mimo rozsah a nasazení

Mimo rozsah

Nasazení

Kontrola po nasazení