Problemen oplossen en checklist
Veelvoorkomende problemen bij het insluiten van reactive.chat: geen chatknop of verbinding, geweigerde origin, onbevestigde identiteit, ontbrekende webhooks en klantgegevens, met oorzaken, controles en livechecklist.
Hulpmiddelen
- Ontwikkelaarstools → Netwerk:
loader.js,core.<hash>.js, de WebSocket-verbinding (het tabblad “Berichten” of “Frames” toontinit,init_ok,error) of de verzoeken van de HTTP-fallback (h/auf,…/sse,…/tx). - Diagnostiek inschakelen:
data-rc-debug="true"op de loadertag oflocalStorage.setItem('rc_debug','1')in de console, daarna herladen. - Console:
ReactiveChat('getSession'),ReactiveChat('getEndpoint'),ReactiveChat('isOpen'),ReactiveChat.version.
Geen chatknop zichtbaar
- Sitesleutel ontbreekt of is ongeldig. De loader stopt dan zonder melding. Controleer
data-rc-site-key(8–64 tekens uitA–Z a–z 0–9 _ -) op de uitgevoerde tag — tagmanagers en frameworkhulpmiddelen laten soms attributen weg. type="module"op de scripttag: de loader kan dan zijn tag niet vinden. Sluit deze in als klassiek script.data-rc-hide-launcher="true", of “Alleen via uw eigen links (geen chatpictogram)” ingesteld in uw account.- Geen merkkleur in het fragment: zonder geldige kleur in
data-rc-brandverschijnt de knop pas zodra de verbinding er is. Kopieer het fragment opnieuw uit uw account. - Project gepauzeerd of sitesleutel onbekend: de server antwoordt met
unknown_site_key(close 4002); in dit tabblad probeert de widget het tien minuten lang niet opnieuw. - Core laadt niet: de console toont
[reactive.chat] core.js …. Vaak blokkeertscript-srcof een advertentieblokkeerder het adres — zie Eigen domein.
Chatknop aanwezig, maar geen bericht komt aan
- Zelf gehoste
loader.jszonderdata-rc-ws-url: de widget zoekt de chatserver onder uw domein. Op het netwerktabblad ziet u vergeefse verbindingspogingen naarwss://ws.<your-domain>/rc_wss/. Oplossing:data-rc-ws-url="wss://ws.reactive.chat/rc_wss/". origin_denied, close 1008: het domein van de pagina ontbreekt onder Toegestane origins. Voer het websitedomein in, niet het chatsubdomein.- CSP blokkeert: de console toont een CSP-melding over
wss://…ofhttps://…/rc_wss/h/auf. Voeg beide vormen aanconnect-srctoe. - Bedrijfsnetwerk zonder WebSocket: na twee mislukte pogingen schakelt de widget over op de HTTP-fallback. Als die ook niet werkt, controleer dan op proxy’s die verzoeken binnen 30 seconden afbreken of antwoorden bufferen (Transport).
- Blokkade door de misbruikbeveiliging (close 1008
blocked): gebruikelijk achter een eigen proxy zonder geldige proxysleutel, omdat alle bezoekers dan hetzelfde adres hebben. - Bericht te lang: de widget verzendt geen teksten boven de abonnementsgrens (1000 of 4000 tekens).
Aangemelde gebruiker geldt als anoniem
Het frame error bevat auth_failed met detail.reason:
- no_hash —
userHashontbreekt inidentify. - no_secret — er is geen geheim ingesteld in het project.
- bad_exp —
expin milliseconden in plaats van seconden, of geen geheel getal. - expired — pagina lang open of onjuiste serverklok; bereken de hash opnieuw bij het laden van de pagina.
- exp_too_far — meer dan 24 uur in de toekomst.
- bad_hash — geheim, volgorde (
userId + "." + exp) of tekenset komt niet overeen; het geheim is de sleutel als string, niet als gedecodeerde bytes. Een e-mailadres moet precies worden ondertekend zoals u het doorgeeft.
Details: Bezoekers identificeren.
Klantgegevens komen niet aan
- De assistent vraagt de gebruiker om aan te melden hoewel die aangemeld is:
expontbreekt of is verlopen — zonderexpzijn er geen klantgegevens. - Verbinding testen in uw account noemt de reden (
http_401,zeitueberschreitung,umleitung,adresse_privat…). De ondertekende string isX-RC-Zeit + "." + raw body— verifieer tegen de ontvangen bytes, niet tegen opnieuw gecodeerde JSON. - Een veld ontbreekt in het antwoord van de assistent: het is niet ingeschakeld in uw account of staat op de lijst van velden die nooit worden overgenomen.
Details: Klantgegevensendpoint.
Webhooks komen niet aan
- Integratie ingeschakeld, gebeurtenis geselecteerd (geen selectie = alles)? Wacht na het inschakelen maximaal 15 seconden.
- Uw endpoint doet er langer dan 10 seconden over om te antwoorden of antwoordt met een omleiding.
- Uw endpoint heeft ooit met 410 geantwoord — dat deactiveert de integratie. Schakel deze opnieuw in.
- Handtekening komt niet overeen: bereken over de ruwe body en
X-RC-Timestamp + "." + body, let op het voorvoegselsha256=. - Inhoud ontbreekt in
data: welke velden elke gebeurtenis bevat, staat onder Webhooks; een niet-geselecteerde gebeurtenis komt helemaal niet aan.
Server-API
- 401
auth_failed: sleutel ingetrokken, verkeerd getypt of de persoon die deze aanmaakte is geen beheerder meer. - 403
insufficient_scope: de scope is onvoldoende;required_scopenoemt de benodigde scope. - 429: 120 verzoeken per minuut overschreden; respecteer
Retry-After. - 415/413:
Content-Type: application/jsonontbreekt of de body is groter dan 64 KiB.
Privacytekst verschijnt niet
- De loader ontbreekt op de pagina of wordt door het toestemmingsplatform geblokkeerd: sluit
datenschutz.jsrechtstreeks in. - De website staat niet als domein in het project of het project is gepauzeerd.
data-rc-privacy-state="error"op het element duidt op een mislukt verzoek.
Checklist vóór livegang
- Alle domeinen van de website ingevoerd onder Toegestane origins.
- Fragment uit uw account ongewijzigd op alle pagina’s waar de chat moet verschijnen — inclusief de privacypagina.
- CSP:
script-srcdistributielocatie,connect-srcmetwss://enhttps://,img-srcvoor afbeeldingen. - Toestemming:
data-rc-consentof toestemmingsplatform (TCF v2 / consented.eu) gecontroleerd — getest met en zonder toestemming. - Privacyverklaring aangevuld (
<div data-rc-privacy>of tekstblok). - Identiteit:
userHashmetexpop de server berekend, geheim alleen in de serveromgeving,init_ok.identity.verifiedistrue. - Gedeelten met vertrouwelijke tekst gemarkeerd met
data-rc-private. - Met een eigen domein: alle vijf controlestappen “OK”, proxysleutel alleen in de proxyconfiguratie,
/rc_wss/h/niet in het toegangslogboek. - Webhooks: handtekening en tijdstempel geverifieerd, duplicaten herkend via
X-RC-Delivery, snel 2xx-antwoord. - HTTP-fallback eenmaal getest met
data-rc-transport="http". - Mobiele weergave (onder 480 pixels opent de chat schermvullend) en toetsenbordbediening gecontroleerd.
Pungkasan dianyari: