Sorun giderme ve kontrol listesi
reactive.chat yerleştirilirken en sık görülen sorunlar: düğme yok, bağlantı yok, kaynak reddediliyor, kimlik doğrulanmıyor, webhook ve müşteri verileri ulaşmıyor. Nedenler, kontroller ve canlıya geçiş listesi.
Araçlar
- Geliştirici araçları → Ağ:
loader.js,core.<hash>.js, WebSocket bağlantısı (“Mesajlar” veya “Çerçeveler” sekmesiinit,init_ok,errorgösterir) ya da HTTP yedeğinin istekleri (h/auf,…/sse,…/tx). - Tanılamayı açın: Yükleyici etiketine
data-rc-debug="true"veya konsolalocalStorage.setItem('rc_debug','1')ekleyip yeniden yükleyin. - Konsol:
ReactiveChat('getSession'),ReactiveChat('getEndpoint'),ReactiveChat('isOpen'),ReactiveChat.version.
Sohbet düğmesi görünmüyor
- Site anahtarı eksik veya geçersiz. Yükleyici bu durumda sessizce durur. Çalıştırılan etiketteki
data-rc-site-keydeğerini kontrol edin (A–Z a–z 0–9 _ -karakterlerinden 8–64 karakter); etiket yöneticileri ve uygulama çatısı yardımcıları bazen öznitelikleri düşürür. - Script etiketinde
type="module": Yükleyici bu durumda kendi etiketini bulamaz. Klasik betik olarak yerleştirin. data-rc-hide-launcher="true"veya hesabınızda “Yalnızca kendi bağlantılarınızla (sohbet simgesi yok)” ayarlı.- Kodda marka rengi yok: Geçerli
data-rc-brandrengi olmadan düğme yalnızca bağlantı kurulduktan sonra görünür. Kodu hesabınızdan yeniden kopyalayın. - Proje duraklatılmış veya site anahtarı bilinmiyor: Sunucu
unknown_site_keyyanıtı verir (kapanış 4002); widget bu sekmede on dakika yeniden denemez. - Çekirdek yüklenmiyor: Konsolda
[reactive.chat] core.js …görünür. Çoğu zamanscript-srcveya reklam engelleyici adresi engeller; Özel alan adı bölümüne bakın.
Sohbet düğmesi var ama mesaj ulaşmıyor
- Kendiniz barındırdığınız
loader.jsiçindata-rc-ws-urlyok: Widget sohbet sunucusunu sizin alan adınızda arar. Ağ sekmesindewss://ws.<your-domain>/rc_wss/adresine sonuçsuz bağlantı denemeleri görünür. Çözüm:data-rc-ws-url="wss://ws.reactive.chat/rc_wss/". origin_denied, kapanış 1008: Sayfanın alan adı İzin verilen kaynaklar altında eksiktir. Sohbet alt alan adını değil, web sitesinin alan adını girin.- CSP engelliyor: Konsol bir CSP mesajı gösterir; ilgili adres
wss://…veyahttps://…/rc_wss/h/auf. Her iki biçimi deconnect-srciçine ekleyin. - WebSocket olmadan şirket ağı: İki başarısız denemeden sonra widget HTTP yedeğine geçer. O da çalışmıyorsa istekleri 30 saniyeden önce sonlandıran veya yanıtları arabelleğe alan proxy’leri kontrol edin (Taşıma).
- Kötüye kullanım koruması engeli (kapanış 1008
blocked): Geçerli proxy anahtarı olmayan kendi proxy’nizin arkasında sık görülür; çünkü tüm ziyaretçiler aynı adrese sahip olur. - Mesaj çok uzun: Widget plan sınırını (1.000 veya 4.000 karakter) aşan metinleri göndermez.
Oturum açmış kullanıcı anonim sayılıyor
error çerçevesi, detail.reason ile auth_failed içerir:
- no_hash –
identifyiçindeuserHasheksik. - no_secret – projede gizli anahtar ayarlanmamış.
- bad_exp –
expsaniye yerine milisaniye cinsinden veya tam sayı değil. - expired – sayfa uzun süredir açık veya sunucu saati yanlış; sayfa yüklenirken özeti yeniden hesaplayın.
- exp_too_far – 24 saatten fazla ileride.
- bad_hash – gizli anahtar, sıra (
userId + "." + exp) veya karakter kümesi eşleşmiyor; gizli anahtar çözümlenmiş baytlar değil, dize olarak anahtarın kendisidir. E-posta adresi varsa tam ilettiğiniz biçimde imzalanmalıdır.
Ayrıntılar: Ziyaretçileri tanımlama.
Müşteri verileri ulaşmıyor
- Kullanıcı oturum açmış olmasına rağmen asistan oturum açmasını istiyor:
expeksik veya süresi dolmuş;expolmadan müşteri verileri yoktur. - Hesabınızdaki Bağlantıyı test et nedeni belirtir (
http_401,zeitueberschreitung,umleitung,adresse_privat…). İmzalanan dizeX-RC-Zeit + "." + raw bodydeğeridir; yeniden kodlanmış JSON’a göre değil, alınan baytlara göre doğrulayın. - Asistanın yanıtında bir alan eksik: Hesabınızda etkin değildir veya asla alınmayan alanlar listesindedir.
Ayrıntılar: Müşteri verisi uç noktası.
Webhook’lar ulaşmıyor
- Entegrasyon açık mı, olay seçili mi (seçim yok = tümü)? Açtıktan sonra en fazla 15 saniye bekleyin.
- Uç noktanızın yanıtı 10 saniyeden uzun sürüyor veya yönlendirme döndürüyor.
- Uç noktanız bir kez 410 döndürdü; bu entegrasyonu devre dışı bırakır. Yeniden açın.
- İmza eşleşmiyor: Ham gövde ve
X-RC-Timestamp + "." + bodyüzerinden hesaplayın,sha256=ön ekine dikkat edin. dataiçinde içerik eksik: Her olayın taşıdığı alanlar Webhook’lar altında listelenir; seçilmeyen olay hiç ulaşmaz.
Sunucu API’si
- 401
auth_failed: Anahtar iptal edilmiş, hatalı yazılmış veya oluşturan kişi artık yönetici değil. - 403
insufficient_scope: Kapsam yetersiz;required_scopegerekeni belirtir. - 429: Dakikada 120 istek aşıldı;
Retry-Afterdeğerine uyun. - 415/413:
Content-Type: application/jsoneksik veya gövde 64 KiB’tan büyük.
Gizlilik metni görünmüyor
- Sayfada yükleyici yok veya onay platformu engelliyor:
datenschutz.jsdosyasını doğrudan yerleştirin. - Web sitesi projede alan adı olarak girilmemiş veya proje duraklatılmış.
- Öğedeki
data-rc-privacy-state="error", başarısız isteği belirtir.
Canlıya geçmeden önce kontrol listesi
- Web sitesinin tüm alan adları İzin verilen kaynaklar altında girildi.
- Hesabınızdaki kod, gizlilik sayfası dâhil sohbetin görüneceği tüm sayfalarda değiştirilmeden bulunuyor.
- CSP:
script-srciçin dağıtım konumu,connect-srciçinwss://vehttps://, görseller içinimg-src. - Onay:
data-rc-consentveya onay platformu (TCF v2 / consented.eu) kontrol edildi; onay verilerek ve verilmeden test edildi. - Gizlilik politikası genişletildi (
<div data-rc-privacy>veya metin bölümü). - Kimlik:
expileuserHashsunucuda hesaplandı, gizli anahtar yalnızca sunucu ortamında,init_ok.identity.verifieddeğeritrue. - Gizli metin içeren alanlar
data-rc-privateile işaretlendi. - Özel alan adında: beş kontrol adımının tümü “Tamam”, proxy anahtarı yalnızca proxy yapılandırmasında,
/rc_wss/h/erişim günlüğünde yok. - Webhook’lar: imza ve zaman damgası doğrulandı, yinelenenler
X-RC-Deliveryile saptanıyor, hızlı 2xx yanıtı. - HTTP yedeği
data-rc-transport="http"ile bir kez test edildi. - Mobil görünüm (480 pikselin altında sohbet tam ekran açılır) ve klavyeyle kullanım kontrol edildi.
Pēdējoreiz atjaunināts: