Řešení problémů a kontrolní seznam
Nejčastější problémy při vkládání reactive.chat: chybí tlačítko, připojení, odmítnutý origin, nepotvrzená identita, nedoručené webhooky a zákaznická data — příčiny, ověření a seznam před spuštěním.
Nástroje
- Vývojářské nástroje → Síť:
loader.js,core.<hash>.js, připojení WebSocket (karta „Zprávy“ nebo „Rámce“ ukazujeinit,init_ok,error) nebo požadavky zálohy přes HTTP (h/auf,…/sse,…/tx). - Zapnutí diagnostiky:
data-rc-debug="true"na značce loaderu nebolocalStorage.setItem('rc_debug','1')v konzoli, poté znovu načtěte. - Konzole:
ReactiveChat('getSession'),ReactiveChat('getEndpoint'),ReactiveChat('isOpen'),ReactiveChat.version.
Tlačítko chatu není vidět
- Klíč webu chybí nebo je neplatný. Loader pak potichu skončí. Ověřte
data-rc-site-key(8–64 znaků zA–Z a–z 0–9 _ -) na vykonané značce — správci značek a pomocníci frameworků občas atributy zahodí. type="module"na značce script: loader pak svou značku nenajde. Vložte ho jako klasický skript.data-rc-hide-launcher="true"nebo v účtu nastavené „Jen přes vlastní odkazy (bez ikony chatu)“.- Ve vkládacím kódu chybí barva značky: bez platné barvy
data-rc-brandse tlačítko zobrazí až po navázání připojení. Zkopírujte kód z účtu znovu. - Projekt je pozastavený nebo klíč webu neznámý: server odpoví
unknown_site_key(uzavření 4002); v této kartě to widget deset minut nezkouší znovu. - Jádro se nenačítá: konzole ukazuje
[reactive.chat] core.js …. Adresu často blokujescript-srcnebo blokátor reklam — viz Vlastní doména.
Tlačítko je vidět, ale žádná zpráva nedorazí
- Vlastní hostování
loader.jsbezdata-rc-ws-url: widget hledá chatovací server pod vaší doménou. Na kartě Síť vidíte marné pokusy o připojení kwss://ws.<your-domain>/rc_wss/. Řešení:data-rc-ws-url="wss://ws.reactive.chat/rc_wss/". origin_denied, uzavření 1008: doména stránky chybí pod Povolené originy. Zadejte doménu webu, ne subdoménu chatu.- CSP blokuje: konzole ukazuje hlášení CSP k
wss://…nebohttps://…/rc_wss/h/auf. Přidejte doconnect-srcobě podoby. - Firemní síť bez WebSocketu: po dvou neúspěšných pokusech widget přepne na zálohu přes HTTP. Pokud ani ta nefunguje, ověřte proxy, které ukončují požadavky dříve než za 30 sekund nebo bufferují odpovědi (Transport).
- Blokace ochranou proti zneužití (uzavření 1008
blocked): typicky za vlastní proxy bez platného klíče proxy, protože pak mají všichni návštěvníci stejnou adresu. - Zpráva je příliš dlouhá: widget neposílá texty nad limit tarifu (1000 nebo 4000 znaků).
Přihlášený uživatel se považuje za anonymního
Rámec error obsahuje auth_failed s detail.reason:
- no_hash – v
identifychybíuserHash. - no_secret – v projektu není nastavený tajný klíč.
- bad_exp –
expje v milisekundách místo sekund nebo není celé číslo. - expired – stránka je dlouho otevřená nebo jsou nesprávné hodiny serveru; při načtení stránky vypočítejte nový hash.
- exp_too_far – více než 24 hodin dopředu.
- bad_hash – nesouhlasí tajný klíč, pořadí (
userId + "." + exp) nebo znaková sada; tajný klíč je klíč jako řetězec, ne dekódované bajty. S e-mailovou adresou musí být podepsána přesně tak, jak ji předáváte.
Podrobnosti: Identifikace návštěvníků.
Zákaznická data nedocházejí
- Asistent žádá uživatele o přihlášení, přestože je přihlášený:
expchybí nebo vypršelo — bezexpnejsou zákaznická data. - Otestovat připojení v účtu uvede důvod (
http_401,zeitueberschreitung,umleitung,adresse_privat…). Podepsaný řetězec jeX-RC-Zeit + "." + raw body— ověřujte přijaté bajty, ne znovu zakódované JSON. - V odpovědi asistenta chybí pole: není v účtu povolené nebo patří mezi pole, která se nikdy nepřebírají.
Podrobnosti: Endpoint zákaznických dat.
Webhooky nedocházejí
- Je integrace zapnutá a událost vybraná (žádný výběr = vše)? Po zapnutí počkejte až 15 sekund.
- Váš endpoint odpovídá déle než 10 sekund nebo vrací přesměrování.
- Váš endpoint jednou odpověděl 410 — to integraci deaktivuje. Zapněte ji znovu.
- Podpis nesouhlasí: počítejte nad surovým tělem a
X-RC-Timestamp + "." + body, nezapomeňte na předponusha256=. - V
datachybí obsah: pole jednotlivých událostí uvádí Webhooky; nevybraná událost vůbec nedorazí.
Serverové API
- 401
auth_failed: klíč je odvolaný, chybně zadaný nebo jeho tvůrce už není administrátorem. - 403
insufficient_scope: rozsah nestačí;required_scopeuvádí potřebný. - 429: překročeno 120 požadavků za minutu; dodržujte
Retry-After. - 415/413: chybí
Content-Type: application/jsonnebo tělo přesahuje 64 KiB.
Text o ochraně osobních údajů se nezobrazuje
- Loader na stránce chybí nebo ho blokuje platforma souhlasu: vložte přímo
datenschutz.js. - Web není uveden jako doména projektu nebo je projekt pozastavený.
data-rc-privacy-state="error"na prvku označuje neúspěšný požadavek.
Kontrolní seznam před spuštěním
- Všechny domény webu uvedené pod Povolené originy.
- Kód z účtu beze změny na všech stránkách, kde se má chat zobrazovat — včetně stránky se zásadami ochrany osobních údajů.
- CSP:
script-srcmísto doručování souborů,connect-srcswss://ihttps://,img-srcpro obrázky. - Souhlas: ověřeno
data-rc-consentnebo platforma souhlasu (TCF v2 / consented.eu) — vyzkoušeno se souhlasem i bez něj. - Rozšířené zásady ochrany osobních údajů (
<div data-rc-privacy>nebo textový blok). - Identita:
userHashsexpvypočítané na serveru, tajný klíč pouze v prostředí serveru,init_ok.identity.verifiedjetrue. - Oblasti s důvěrným textem označené
data-rc-private. - S vlastní doménou: všech pět kroků kontroly „OK“, klíč proxy pouze v konfiguraci proxy,
/rc_wss/h/není v přístupovém protokolu. - Webhooky: ověřený podpis a časové razítko, rozpoznávání duplicit přes
X-RC-Delivery, rychlá odpověď 2xx. - Záloha přes HTTP jednou otestovaná s
data-rc-transport="http". - Ověřené mobilní zobrazení (pod 480 pixelů se chat otevírá na celou obrazovku) a ovládání klávesnicí.
शेवटचे अद्यतन: