SSS
Kullanıcıların bir şey yüklemesi gerekiyor mu?
Hayır. Kullanıcılar HTML’lerine yalnızca tek bir script etiketi yapıştırır — npm paketi yok, derleme adımı yok, bağımlılık yok. Ek özellikler aynı origin’den otomatik yüklenir.
CSS’imle çakışır mı?
Hayır. Widget bir Shadow DOM içinde render edilir ve stillerini sayfanızdan tamamen izole eder.
Tek sayfa uygulamalarını (React, Vue, Next.js) destekler mi?
Evet. Betik bir kez yüklenir ve rota değişiklikleri boyunca kalıcı olur. React/Next.js için, betiği kök düzeninize (root layout) yerleştirin.
// app/layout.tsx (App Router)
import Script from 'next/script';
import { ReactNode } from 'react';
export default function RootLayout({ children }: { children: ReactNode }) {
return (
<html lang="en">
<body>
{children}
<Script id="respondo-init" strategy="afterInteractive">
{`
window.Respondo = window.Respondo || {};
Respondo.init = Respondo.init || function(c) { window.RespondoAIConfig = c; };
Respondo.q = Respondo.q || [];
Respondo.identify = Respondo.identify || function(d) { Respondo.q.push(['identify', d]); };
Respondo.init({
agentId: 'YOUR_AGENT_ID',
channelId: 'YOUR_CHANNEL_ID'
});
`}
</Script>
<Script src="https://api.respondo.ai/widget/widget.js" strategy="afterInteractive" />
</body>
</html>
);
}Bir konuşma çözüldüğünde ne olur?
Çözümden sonra gelen yeni bir mesaj, öncekine bağlı bir takip konuşmasını otomatik olarak açar (gelen kutunuzda "Continued from #N" olarak görünür). Dil gibi bağlam ve önceki döküm devralınır; ziyaretçi tek bir kesintisiz sohbet görür. Çözülen konuşmayı bir ekip arkadaşı yürütüyorduysa takip, yapay zeka yerine ekibinize yönlendirilir; aksi halde yapay zeka devralır.
Widget nasıl yüklenir?
Widget asenkron olarak yüklenir (async), bu nedenle sayfa render’ını asla engellemez. Çekirdek paket ~180KB’dir (gzip ile ~50KB); isteğe bağlı özellikler (kampanyalar, ürün turları) widget monte edildikten sonra ayrı lazy parçalar olarak yüklenir, bu yüzden ilk sayfa render’ı asla engellenmez.
Üst kademeye taşıma nasıl çalışır?
Kullanıcılar "İnsanla görüş" düğmesine tıklayabilir, bir insan talep eden bir ifade yazabilir ya da yapay zeka bilgi tabanınızdan yanıt veremediğinde konuşmayı kendiliğinden devreder. Taşındıktan sonra yapay zeka yanıt vermeyi durdurur ve sonraki tüm mesajlar destek ekibinize iletilir. Ayrıntılar için Üst Kademeye Taşıma ve Devir bölümüne bakın.
Kullanıcılar üst kademeye taşındıktan sonra yapay zeka ile sohbete devam edebilir mi?
Evet. Widget, kullanıcının üst kademeye taşımayı kapatıp yapay zeka ile konuşmasını sürdürmesini sağlayan bir "Yapay zeka ile devam et" düğmesi gösterir.
Bilgi tabanı ve web sitesi taraması#
Web sitemin taraması neden engellendi?
"Engellendi", sitenin — ya da koruma katmanının (Cloudflare, bir WAF, bir anti-bot eklentisi) — tarayıcımızı reddettiği anlamına gelir: başlangıç sayfası veya robots.txt her denemede bir erişim hatası ya da "tarayıcınız kontrol ediliyor" doğrulamasıyla yanıt verdi veya robots.txt tarayıcımızı açıkça yasaklıyor. Daha önce içe aktarılan sayfalar olduğu gibi kalır; site bizi içeri alana kadar yeniden eşitleme aynı şekilde başarısız olur. Site sahibinden koruma ayarlarında RespondoAI-Crawler User-Agent'ına (tam dize: Mozilla/5.0 (compatible; RespondoAI-Crawler/1.0; +https://respondo.ai/bot)) izin vermesini — Cloudflare'de bu Security → WAF → Custom rules altındadır — ve neden robots.txt ise User-agent: RespondoAI-Crawler için bir izin kuralı eklemesini isteyin. Respondo sabit bir tarayıcı IP adresi yayımlamaz; izin listesini User-Agent'a göre oluşturun; kaynakta gösterilen hata bir IP belirtiyorsa ona da izin verin. Site değiştirilemiyorsa aynı içeriği dosya veya yapıştırılmış metin olarak ekleyin.
Tarama bitti ama yalnızca birkaç sayfa buldu
Sayfaları sitenin site haritasından (robots.txt içindeki Sitemap: satırı veya /sitemap.xml gibi yaygın konumlar) ve başlangıç URL'sinden bağlantıları izleyerek buluruz — en fazla 10 bağlantı derinliği ve kaynak başına en fazla 5.000 sayfa. Yalnızca aynı sitedeki ve başlangıç URL'sinin yolu altındaki sayfalar içe aktarılır: https://example.com/help adresinden başlatılan bir tarama /blog bölümünü atlar; bu yüzden kökten başlayın ya da dahil edilecek yollar ekleyin. Hiçbir bağlantının veya site haritasının işaret etmediği sayfalar, robots.txt'nin yasakladığı sayfalar ve oturum açma gerektiren sayfalar bulunmaz. Neredeyse aynı olan sayfalar (yazdırma sürümleri, izleme parametreli varyantlar) tek sayfada birleştirilir. İçeriği tamamen JavaScript ile çizilen sayfalar algılanır ve tarayıcı tabanlı bir yedek mekanizmayla işlenir; dolayısıyla düşük sayfa sayısı genellikle işleme değil, kapsam veya site haritası sorununa işaret eder.
Taramayı sitenin tek bir bölümüyle nasıl sınırlarım?
Web sitesi ekleme penceresinde Advanced bölümünü açın ve Only crawl paths starting with (yalnızca şununla başlayan yolları tara) ve/veya Skip paths starting with (şununla başlayan yolları atla) alanlarını doldurun — her satıra bir yol, alan başına en fazla 50. Eşleştirme tam yol segmentlerine göre yapılır: /docs, /docs ve /docs/getting-started ile eşleşir ancak /docs-archive ile eşleşmez; sondaki eğik çizgi yok sayılır ve tam bir URL yapıştırabilirsiniz — yalnızca yolu kullanılır. Atlama kuralları dahil etme kurallarına üstün gelir. Aynı kurallar site haritasına ve bu kaynağın sonraki her yeniden eşitlemesine uygulanır.
Respondo web sitemi ne sıklıkla yeniden tarar?
Her web sitesi kaynağının sayfalar panelinde bir Auto-refresh zamanlaması vardır: Off (kapalı), Daily (her 24 saatte) veya Weekly (her 7 günde). Zamanlanmış tarama artımlıdır: site haritasındaki lastmod değeri önceki taramadan eski olan sayfalar atlanır, değişmeyen sayfalar yeniden dizinlenmez, değişen sayfalar yeniden dizinlenir ve kaybolan sayfalar kaldırılır. Hemen yenilemek için kaynak menüsündeki Re-sync seçeneğini veya Knowledge sayfasındaki Re-sync all düğmesini kullanın.
"Bu sefer siteyi okuyamadık" — ne oldu?
Bu genel hatadır: site zamanında yanıt vermedi, alan adı çözümlenemedi, sunucu hata döndürdü, başlangıç sayfasında okunabilir metin yoktu ya da adres bulunamadı. Ayrıntı kaynakta gösterilir. URL'nin gizli bir tarayıcı penceresinde açıldığını, alan adında yazım hatası olmadığını ve başlangıç sayfasının oturum açma ekranı değil gerçek bir içerik sayfası olduğunu kontrol edin. Sosyal ağlar ve mesajlaşma platformları (Facebook, Instagram, LinkedIn, X, YouTube ve benzerleri) hiç içe aktarılamaz — tarama başlamadan reddedilir. Mevcut sayfalarınız korunur; zamanlanmış bir kaynak bir sonraki çalıştırmada yeniden dener, aksi halde site yeniden erişilebilir olduğunda yeniden eşitleyin.
"Arama dizinimiz dolu" ve "bu kaynağı dizinleyemedik" ne anlama gelir?
İkisi de içerik başarıyla okunduktan sonra görünür. Dizin dolu, bu kaynağın kopyalandığı arama dizininde Respondo tarafında yer kalmadığı anlamına gelir — bu bir Respondo sınırıdır, içeriğinizle ilgili bir sorun değildir. Sayfalar saklanır, zaten dizinlenmiş her şey yanıt vermeye devam eder, ekibimiz otomatik olarak bilgilendirilir ve yer açıldığında kaynak dizinlenir; daha erken yeniden eşitleme aynı şekilde başarısız olur. Bu kaynağı dizinleyemedik, arama dizininin oluşturulmasının bu sefer başarısız olduğu anlamına gelir — bizim tarafımızda geçici bir hata; mevcut veriler sağlamdır ve iş otomatik olarak yeniden denenir. Mesajlardan biri devam ederse hatanın üzerindeki "Copilot'a Sor" düğmesini kullanın.
Uzun sayfalar yalnızca başlangıcından mı yanıtlanıyor?
Hayır. Taranan her sayfa yaklaşık 1.600 karakterlik örtüşen parçalara bölünür ve her parça sayfa başlığı eklenerek ayrı ayrı dizinlenir; böylece yanıt uzun bir makalenin herhangi bir bölümünden gelebilir. Alıntılar yine sayfa başına tek bağlantı gösterir. Bu değişiklikten önce içe aktarılan sayfalar sonraki yeniden eşitlemelerinde yeniden bölünür.
Bir tarama hatasıyla ilgili nasıl yardım alırım?
Knowledge sayfasındaki her tarama veya dizinleme hatasının yanında bir Copilot'a Sor düğmesi bulunur. Bu düğme Copilot'u hata ekli olarak açar ve Copilot, Respondo'nun kendi yardım belgelerinden yola çıkarak durumunuza özel somut adımlarla yanıt verir. Bu yardım ücretsizdir — AI isteklerinizden düşülmez. Adımlar sorunu çözmezse bunu söyleyin — "işe yaramadı" demeniz yeterli. Copilot bu durumda sorunu Respondo ekibine ileten bir kart önerir: kart tam olarak neyin gönderileceğini listeler, siz onaylamadan hiçbir şey gitmez ve ekibin yanıtı aynı Copilot dizisine gelir. Aktarma mümkün değilse Copilot bunu susmak yerine açıkça söyler.
Müşteriye ulaşmayan mesajlar#
Bir yanıtta "Not delivered" yazıyor — bu ne anlama gelir, önce ne yapmalıyım?
Gelen kutusundaki her giden mesaj bir teslim göstergesi taşır: Queued (kuyrukta — arka arkaya yazılan yanıtlar birleştirilir ve birkaç dakika içinde tek bir e-posta olarak çıkar), Sending… (gönderiliyor), Sent (gönderildi), Delivered (ulaştı) veya kırmızı bir hata. Hatalar üç biçimde gelir: Not delivered — kanal mesajı reddetti; yanında alt türü yazan Bounced — alıcının posta sunucusu e-postayı geri çevirdi; ve Marked as spam — alıcı mesajı şikâyet etti. Etiketin üzerine gelin ya da tıklayın: ipucu kutusunda sağlayıcının kendi ifadeleri, geri dönen bir e-posta için ham SMTP tanılaması da yer alır. Yanında en fazla iki eylem bulunur — gerçekten yeniden gönderen Retry / Send again ve hatayı ekleyerek Copilot'u açan Ask Copilot. Hiç yeniden deneme düğmesi yoksa adres engellidir ve yeniden göndermek aynı şekilde başarısız olur. Bir Sent ya da Delivered etiketinin yanında N files not delivered yazıyorsa metin ulaşmış ama bir ek ulaşmamıştır — o kanal dosyayı taşıyamadı.
E-postam müşteriye neden ulaşmadı?
Dört ayrı durum var ve hangisi olduğunu etiket söyler. Kalıcı bir geri dönme (hard bounce) adresin var olmadığı ya da posta kabul etmediği anlamına gelir — yeniden deneme düğmesi çıkmaz ve adres engelleme listesine eklenir. Geçici bir geri dönme (soft bounce) ise dolu bir posta kutusu veya alıcı sunucudaki gelip geçici bir sorundur; Send again sunulur ve genellikle bir süre sonra işe yarar. Tanılamasında SPF, DKIM, DMARC veya 5.7.515 geçen bir geri dönme farklıdır: alıcının posta sistemi mesajı, gönderen alan adınız kimlik doğrulamasından geçemediği için reddetmiştir. Alan adı düzeltilene kadar her yeni yanıt tıpatıp aynı şekilde geri döner; bu yüzden bu arada başka bir kanaldan yanıtlayın ve e-posta kanalının DNS kayıtlarını Settings → Channels altında onarın. Son olarak Marked as spam, alıcının "spam bildir" düğmesine bastığı anlamına gelir: adres engellenir ve o adrese göndermeyi durdururuz. Bir kampanya raporunda ayrıca The email provider rejected this message görülebilir — e-posta hiç yola çıkmadan önceki kalıcı bir ret, çoğunlukla doğrulanmamış bir gönderen alan adı ya da hatalı biçimli bir adres — ve The email provider rejected our credentials, ki bu tek bir kişiyle değil, çalışma alanının kurulumuyla ilgili bir sorundur.
Engelleme listesi nedir ve bir adres oradan nasıl çıkar?
Bu, yalnızca sizin çalışma alanınıza ait olan, Respondo'nun göndermeyi reddettiği e-posta adreslerinin listesidir. Bir adres bu listeye, mesaj kalıcı olarak geri döndüğünde (hard bounce, yani kalıcı bir ret), biri e-postalarınızdan birini spam olarak şikâyet ettiğinde ya da adres elle engellendiğinde girer. Geçici geri dönmeler bir adresi asla engellemez. Engel etkin olduğu sürece kampanya gönderimleri This address is blocked after an earlier bounce or complaint notuyla atlanır ve gelen kutusundan verilen bir yanıt daha çıkmadan reddedilir. Yalnızca mesajın gerçek alıcısı engellenir — bir geri dönme bildirimi rastgele bir adresi engelleyemez. Panoda bu liste için bir ekran yoktur: sahip ya da yönetici listeyi GET https://api.respondo.ai/api/v1/integrations/email/suppressions ile okuyabilir, tek bir kaydı DELETE https://api.respondo.ai/api/v1/integrations/email/suppressions/<email> ile kaldırabilir veya Respondo destek ekibinden bunu yapmasını isteyebilir. Kalıcı bir geri dönmeyi ancak posta kutusunun gerçekten düzeltildiğini biliyorsanız kaldırın — ölü bir adrese yeniden göndermek alan adınızın itibarına zarar verir.
WhatsApp yanıtımı kabul etmiyor — 24 saatlik pencere
WhatsApp, bir işletmenin serbest biçimli mesaj göndermesine yalnızca müşterinin son mesajından sonraki 24 saat içinde izin verir; Meta daha sonrasını 131047 hatasıyla reddeder. Respondo bu pencereyi kişi bazında izler ve pencerenin dolduğunu bildiğinde yanıtı gönderilmeden durdurur. Respondo'nun hiçbir pencere kaydı yoksa — içe aktarılmış bir kişi ya da size hiç yazmamış bir numara — engellemez: mesaj Meta'ya gider ve kararı Meta verir. İleriye dönük tam olarak iki yol vardır. Ya müşterinin yeniden yazmasını beklersiniz — mesajı pencereyi 24 saat daha açar ve yanıtınız o zaman geçer — ya da Meta'nın onayladığı bir şablon gönderirsiniz. Şablonlar sohbetin yazma alanından gönderilemez. Onları Outbound → WhatsApp templates altında yönetin: Sync numaranızda kayıtlı olanları çeker, New template Meta'ya yeni bir şablon sunar ve inceleme bir gün veya daha uzun sürer. Ardından onaylanmış şablonu, o kişiyi hedefleyen bir giden kampanyayla gönderin. Bir şablon, pencerenin içindeki ve dışındaki kişilere aynı şekilde ulaşır, ancak yalnızca durumu approved olduğu sürece.
"That channel is disconnected" / "That channel is not connected"
Disconnected (bağlantı kesildi), entegrasyonun var olduğu ama artık etkin olmadığı anlamına gelir — erişim belirteci iptal edilmiş veya süresi dolmuştur ya da biri bağlantıyı kesmiştir. Not connected (bağlı değil) ise kişinin adresinin arkasında hiçbir entegrasyon bulunmadığı anlamına gelir. İkisi de Settings → Channels altında düzeltilir; bağlantısı kesilen kanallar orada kendi başlıkları altında toplanır ve her kartta bir Reconnect düğmesi bulunur; yeniden bağlanın, sonra mesajı tekrar deneyin. Buna benzeyen ama aynı olmayan iki komşu durum vardır: gönderen alan adı doğrulanmamış bir e-posta kanalı Live durumuna alınamaz ve DKIM ile SPF onaylanana kadar hiçbir şey göndermez; yalnızca alım yapan bir kanal ise giden mesajları tasarımı gereği reddeder, dolayısıyla orada Retry hiçbir zaman başarılı olmaz.
"No channel to reach this person on" / "No email address on this contact"
İkisi de gelen kutusunda değil, bir kampanyanın teslim raporunda görünür. Birincisi, kişinin hiçbir adresinin kampanyanın gönderim yaptığı kanallarla eşleşmediği anlamına gelir; kişinin tek adresi yalnızca alım yapan bir kanaldaysa bu, bilinçli bir atlama olarak ayrıca raporlanır. İkincisi, kampanyanın e-posta gönderdiğini ama kişide kayıtlı bir adres bulunmadığını gösterir. Telegram'ın kendine özgü bir çeşidi vardır: kişi botunuza hiç yazmamışsa yazılacak bir sohbet de yoktur, çünkü Bot API bir botun ilk mesajı göndermesini yasaklar — ilk mesajı onların atması gerekir. Bunları, kişiye eksik adresi ekleyerek, kampanyanın hedeflediği kanalları genişleterek ya da kampanyanın e-postaya geri düşmesine izin vererek çözün.
Kişi abonelikten çıktı — ne gönderebilirim?
They had already unsubscribed, kişinin genel bir vazgeçme kaydı taşıdığı anlamına gelir — e-postalarınızdan birindeki abonelikten çıkma bağlantısıyla, bir içe aktarmayla ya da bir ekip arkadaşınızın işaretlemesiyle. Kampanyalar ve seriler bu kişileri yalnızca e-postada değil, her kanalda atlar ve gönderim, başarısızlık değil atlama olarak kaydedilir. Bir sohbet içinde ekip arkadaşınızın verdiği bire bir yanıt ise bundan bilinçli olarak etkilenmez: vazgeçme toplu gönderimlerle ilgilidir, size yazan birine yanıt vermek ise insani bir karardır. Durum, kişi kartında Outbound: Subscribed / Unsubscribed olarak gösterilir, kişi listesi buna göre filtrelenebilir ve kişi kartındaki Re-subscribe düğmesi bunu geri alır — bunu yalnızca kişi sizden istediğinde kullanın.
Kaç kez yeniden deniyorsunuz ve Retry düğmesine basmak güvenli mi?
Gelen kutusundan verilen bir yanıt, en fazla beş deneme yapan bir kuyruğa verilir; denemeler arasında yaklaşık 3, 10, 30 ve 30 dakika beklenir. Yalnızca geçici hatalar yeniden denenir — zaman aşımları, reddedilen bağlantılar, hız sınırları, sağlayıcının kendi sunucu hataları. Kalıcı bir ret (bilinmeyen adres, doğrulanmamış gönderen alan adı, reddedilen kimlik bilgileri) hemen başarısız olarak işaretlenir, çünkü tekrarı aynı yanıtı getirirdi. Kampanya gönderimleri kendi kuyruğunda, en fazla altı denemeyle ve daha kısa beklemelerle çalışır — 5 saniye, 30 saniye, 2 dakika, 10 dakika; bunlar tükendiğinde gönderim, sonsuza dek "queued" durumunda kalmak yerine Delivery kept failing and was stopped after several attempts ile kapatılır. Retry düğmesine elle basmak güvenlidir. Yalnızca gerçekten başarısız durumdaki bir mesaja etki eder ve e-posta için önce sağlayıcıya aslına ne olduğunu sorar: o e-posta gerçekten çıkmışsa satır, ikinci bir kopya göndermek yerine teslim edildi durumuna döner; gerçek bir yeniden gönderim ise yeni bir idempotency anahtarıyla yola çıkar. İkinci bir kopyanın yanlış olacağı yerlerde — kalıcı bir geri dönme, spam şikâyeti, hâlâ yolda olan bir gönderim — düğme ya hiç yoktur ya da yeniden deneme gerekçesiyle birlikte reddedilir.
Sebep hâlâ net değil — nasıl yardım alırım?
Başarısız her mesajın yanında bir Ask Copilot düğmesi bulunur. Düğme, Copilot'u hatayı, kanalı ve sohbeti ekleyerek açar; Copilot da Respondo'nun kendi yardım belgelerinden yola çıkıp tam olarak o hataya yönelik adımlar verir. Bu yardım ücretsizdir — AI isteklerinizden düşülmez. Adımlar sorunu çözmezse bunu söyleyin — "işe yaramadı" demeniz yeterli. Copilot bu durumda sorunu Respondo ekibine ileten bir kart önerir: kart tam olarak neyin gönderileceğini listeler, siz onaylamadan hiçbir şey gitmez ve ekibin yanıtı aynı Copilot dizisine gelir. Aktarma mümkün değilse Copilot bunu susmak yerine açıkça söyler.