← Zpět na blog

Jak napojit chatbota na stav objednávky ve WooCommerce

Tutoriály3 min čtení

Postup pro šablonu Custom Action s WooCommerce REST API. Ověřte interní ID objednávky, totožnost návštěvníka a jeho právo vidět konkrétní záznam.

Informace o konkrétní objednávce nejsou ve veřejném obsahu e-shopu ani v produktovém feedu. Breezaro je může načíst přes vlastní akci napojenou na WooCommerce REST API. Tento postup vyžaduje zabezpečený přístup k API a kontrolu, že návštěvník smí vidět právě požadovanou objednávku. Funkce je dostupná od tarifu Pro a ve zkušební verzi.

WooCommerce API vrací stav objednávky, například „zpracovává se“ nebo „dokončena“. Sledování zásilky u dopravce je samostatný údaj a vyžaduje odpovídající zdroj.

Co budete potřebovat

  • Přístup do administrace WooCommerce a možnost vytvořit API klíč s oprávněním Čtení.
  • Čas na nastavení a otestování správných i zamítnutých požadavků.
  • Rozhodnutí, jak ověříte identitu zákazníka a přístup ke konkrétní objednávce.

Krok 1: Vytvořte klíč k WooCommerce REST API

V administraci otevřete WooCommerce → Nastavení → Pokročilé → REST API a přidejte klíč pro uživatele, který smí číst objednávky. Nastavte oprávnění Čtení. Consumer key a Consumer secret uložte bezpečně; po vytvoření se tajná hodnota znovu nezobrazí. Oficiální dokumentace WooCommerce REST API.

Krok 2: Připravte šablonu akce v Breezaru

V dashboardu otevřete Vlastní akce a zvolte šablonu Stav objednávky (WooCommerce). Zkontrolujte HTTPS adresu, metodu GET, tajné přihlašovací údaje a pole, která se předají asistentovi. Šablona je výchozí nastavení, ne hotové ověření zákazníka.

Ukázková adresa /wp-json/wc/v3/orders/{{orderNumber}} očekává interní ID objednávky v API. Pokud zákazník zná jiné veřejné číslo objednávky, nepředpokládejte, že obě hodnoty odpovídají. Potřebujete bezpečné vyhledání či mapování ve vlastním endpointu.

Editor vlastní akce v Breezaru
Ukázka editoru akce; konkrétní endpoint a kontrolu přístupu nastavte pro svůj e-shop.

Krok 3: Svažte výsledek s oprávněným návštěvníkem

Šablona může porovnat zadaný e-mail s fakturačním e-mailem vrácené objednávky. E-mail napsaný v chatu však sám o sobě neověřuje totožnost. Pro zákazníka s účtem použijte ověření e-mailovým kódem nebo podepsanou identitu a porovnejte objednávku s ověřeným {{visitor.email}}. Samotné zapnutí přepínače „Vyžaduje ověřeného návštěvníka“ nestačí, pokud akce zároveň neomezí vrácený záznam na tuto identitu.

Pokud zákazník objednal bez účtu, ověřte jeho e-mail jednorázovým kódem a zkontrolujte, že se ověřená adresa shoduje s e-mailem u objednávky. Pokud místo toho použijete číslo objednávky a další údaj, například PSČ doručení, ověřte oba před vrácením soukromých dat, omezte počet pokusů a posuďte, zda jde o dostatečnou kontrolu pro údaje, které zpřístupníte. Když oprávnění zákazníka nelze ověřit, předejte dotaz operátorovi. Možnosti kontroly vlastnictví a ověřené identity.

Krok 4: Testujte i zamítnutí

Otestujte správnou objednávku, cizí objednávku, chybný e-mail či druhý údaj a neexistující číslo. Zkontrolujte, že asistent nedostane data při neshodě a že se mu předávají jen nezbytná pole. Editor vyžaduje úspěšný test před zapnutím akce, jeden úspěšný test ale není důkaz správného oprávnění pro všechny požadavky.

Ukázka testovacího kroku vlastní akce v Breezaru
Testovací krok. Na vlastním e-shopu ověřte také zamítnuté scénáře.

Po zapnutí sledujte chybové a nejasné dotazy. Pokud není možné záznam bezpečně přiřadit, nabídněte předání operátorovi.

Bezpečnost a kredity

Breezaro omezuje akce na HTTPS a veřejné adresy, ukládá tajné hlavičky šifrovaně a umožňuje vybrat jen potřebná pole odpovědi. Pro čtení stavu objednávky použijte API klíč s oprávněním Čtení. Tato omezení nenahrazují správnou autorizaci ve vašem endpointu ani kontrolu vlastnictví v akci.

Volání vlastní akce přičítá kredity podle sazby zvoleného modelu. Aktuální pravidla a limity jsou v dokumentaci vlastních akcí a ceníku.

Co dál

Podívejte se na celé řešení podpory e-shopu. Pokud používáte produktový katalog, jeho ceny a dostupnost se aktualizují synchronizací zdroje, nikoli tímto dotazem na objednávku.