الأسئلة الشائعة
هل يحتاج المستخدمون إلى تثبيت أي شيء؟
لا. يكتفي المستخدمون بلصق وسم سكربت واحد في HTML لديهم — دون حزم npm، ودون خطوات بناء، ودون تبعيات. تُحمَّل الميزات الإضافية تلقائياً من المصدر (origin) نفسه.
هل ستتعارض مع CSS الخاص بي؟
لا. تُعرَض الأداة داخل Shadow DOM، مما يعزل أنماطها تماماً عن صفحتك.
هل يدعم التطبيقات أحادية الصفحة (React، Vue، Next.js)؟
نعم. يُحمَّل السكربت مرة واحدة ويبقى عبر تغييرات المسارات. في React/Next.js، ضع السكربت في التخطيط الجذري لديك.
// 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>
);
}ماذا يحدث عند حل المحادثة؟
تفتح الرسالة الجديدة بعد الحلّ تلقائياً محادثة متابعة مرتبطة بالمحادثة السابقة (تظهر بعلامة "Continued from #N" في صندوق الوارد). ينتقل السياق مثل اللغة والنص السابق للمحادثة، ويرى الزائر دردشة واحدة متواصلة. إذا كان أحد أعضاء الفريق يتولى المحادثة المحلولة، تُوجَّه المتابعة إلى فريقك بدلاً من الذكاء الاصطناعي؛ وإلا يتولاها الذكاء الاصطناعي.
كيف تُحمَّل الأداة؟
تُحمَّل الأداة بشكل غير متزامن (async)، لذا فهي لا تعيق أبداً عرض الصفحة. حزمة النواة نحو 180 كيلوبايت (نحو 50 كيلوبايت بعد ضغط gzip)؛ تُحمَّل الميزات الاختيارية (الحملات، جولات المنتج) كأجزاء كسولة منفصلة بعد تركيب الأداة، لذا لا يُعاق عرض الصفحة الأولي أبداً.
كيف يعمل التصعيد؟
يمكن للمستخدمين النقر على زر "Talk to human"، أو كتابة عبارة تطلب وكيلاً بشرياً، أو يحوّل الذكاء الاصطناعي المحادثة من تلقاء نفسه حين يتعذّر عليه الإجابة من قاعدة معرفتك. بمجرد التصعيد، يتوقف الذكاء الاصطناعي عن الرد وتُحوَّل جميع الرسائل اللاحقة إلى فريق الدعم لديك. راجع قسم التصعيد والتحويل للتفاصيل.
هل يمكن للمستخدمين متابعة الدردشة مع الذكاء الاصطناعي بعد التصعيد؟
نعم. تعرض الأداة زر "Continue with AI" يتيح للمستخدم تجاهل التصعيد واستئناف محادثة الذكاء الاصطناعي.
قاعدة المعرفة وزحف الموقع الإلكتروني#
لماذا تم حظر زحف موقعي الإلكتروني؟
«محظور» يعني أن الموقع — أو طبقة الحماية الخاصة به (Cloudflare أو WAF أو إضافة مكافحة الروبوتات) — رفض زاحفنا: فقد ردّت الصفحة الأولى أو robots.txt في كل محاولة بخطأ وصول أو بتحدٍ من نوع «جارٍ التحقق من متصفحك»، أو أن robots.txt يمنع زاحفنا صراحةً. الصفحات التي استوردتها سابقًا تبقى سليمة، وستفشل إعادة المزامنة بالطريقة نفسها إلى أن يسمح لنا الموقع بالدخول. اطلب من مالك الموقع السماح لوكيل المستخدم User-Agent RespondoAI-Crawler (السلسلة الكاملة: Mozilla/5.0 (compatible; RespondoAI-Crawler/1.0; +https://respondo.ai/bot)) في إعدادات الحماية — في Cloudflare يكون ذلك في Security → WAF → Custom rules — وإذا كان السبب هو robots.txt، فأضف قاعدة سماح لـ User-agent: RespondoAI-Crawler. لا تنشر Respondo عنوان IP ثابتًا للزاحف — أضِف إلى قائمة السماح حسب User-Agent؛ وإذا ذكر الخطأ المعروض على المصدر عنوان IP، فاسمح به أيضًا. وإذا تعذّر تعديل الموقع، فأضف المحتوى نفسه كملفات أو نص ملصق بدلًا من ذلك.
انتهى الزحف لكنه لم يعثر إلا على صفحات قليلة
نكتشف الصفحات من خريطة الموقع (سطر Sitemap: في robots.txt أو المواقع الشائعة مثل /sitemap.xml) وبتتبّع الروابط من عنوان URL الأولي — حتى عمق 10 روابط وحتى 5,000 صفحة لكل مصدر. تُستورد فقط الصفحات الموجودة على الموقع نفسه وتحت مسار عنوان URL الأولي: فالزحف الذي يبدأ من https://example.com/help يتخطى /blog، لذا ابدأ من الجذر أو أضف مسارات التضمين. الصفحات التي لا يشير إليها أي رابط أو خريطة موقع، والصفحات التي يمنعها robots.txt، والصفحات خلف تسجيل الدخول لا يُعثر عليها. الصفحات شبه المتطابقة (نسخ الطباعة، والمتغيرات ذات معلمات التتبع) تُدمج في صفحة واحدة. الصفحات التي يُرسم محتواها بالكامل بواسطة JavaScript تُكتشف وتُعرض عبر آلية احتياطية قائمة على المتصفح، لذا فإن قلة عدد الصفحات تعني عادةً مشكلة في النطاق أو خريطة الموقع وليس في العرض.
كيف أقصر الزحف على قسم واحد من الموقع؟
افتح Advanced في مربع حوار إضافة الموقع واملأ Only crawl paths starting with (الزحف فقط للمسارات التي تبدأ بـ) و/أو Skip paths starting with (تخطي المسارات التي تبدأ بـ) — مسار واحد في كل سطر، وحتى 50 مسارًا في كل حقل. تتم المطابقة على مقاطع المسار الكاملة: /docs يطابق /docs و/docs/getting-started لكنه لا يطابق /docs-archive؛ تُتجاهل الشرطة المائلة الختامية، ويمكنك لصق عنوان URL كامل — يُستخدم مساره فقط. قواعد التخطي لها الأولوية على قواعد التضمين. تنطبق القواعد نفسها على خريطة الموقع وعلى كل إعادة مزامنة لاحقة لذلك المصدر.
كم مرة تعيد Respondo الزحف إلى موقعي؟
لكل مصدر موقع إلكتروني جدول Auto-refresh في لوحة صفحاته: Off (إيقاف) أو Daily (كل 24 ساعة) أو Weekly (كل 7 أيام). الزحف المجدول تزايدي: تُتخطى الصفحات التي يكون lastmod الخاص بها في خريطة الموقع أقدم من الزحف السابق، ولا تُعاد فهرسة الصفحات غير المتغيرة، وتُعاد فهرسة الصفحات المتغيرة، وتُحذف الصفحات التي اختفت. للتحديث فورًا، استخدم Re-sync من قائمة المصدر أو Re-sync all في صفحة Knowledge.
«لم نتمكن من قراءة الموقع هذه المرة» — ماذا حدث؟
هذا هو الفشل العام: لم يستجب الموقع في الوقت المناسب، أو تعذّر تحليل النطاق، أو أعاد الخادم خطأً، أو لم تحتوِ الصفحة الأولى على نص قابل للقراءة، أو لم يُعثر على العنوان. تظهر التفاصيل على المصدر. تحقق من أن عنوان URL يُفتح في نافذة تصفح خاصة، وأن النطاق خالٍ من الأخطاء الإملائية، وأن الصفحة الأولى صفحة محتوى حقيقية وليست شاشة تسجيل دخول. لا يمكن استيراد الشبكات الاجتماعية ومنصات المراسلة (Facebook وInstagram وLinkedIn وX وYouTube وما شابهها) إطلاقًا — فهي تُرفض قبل بدء الزحف. تبقى صفحاتك الحالية محفوظة؛ ويعيد المصدر المجدول المحاولة في تشغيله التالي، وإلا فأعد المزامنة عندما يصبح الموقع متاحًا مرة أخرى.
ماذا تعني «فهرس البحث لدينا ممتلئ» و«لم نتمكن من فهرسة هذا المصدر»؟
تظهر الرسالتان بعد قراءة المحتوى بنجاح. الفهرس ممتلئ تعني أن فهرس البحث الذي يُنسخ إليه هذا المصدر لم يعد فيه مساحة على جانب Respondo — وهو حدّ خاص بـ Respondo وليس مشكلة في محتواك. الصفحات مخزّنة، وكل ما تمت فهرسته سابقًا يواصل الإجابة، ويُخطَر فريقنا تلقائيًا، وستُفهرس المصدر فور توفر مساحة؛ وإعادة المزامنة قبل ذلك ستفشل بالطريقة نفسها. لم نتمكن من فهرسة هذا المصدر تعني أن بناء فهرس البحث فشل هذه المرة — خطأ مؤقت من جانبنا؛ البيانات الحالية سليمة وتُعاد محاولة المهمة تلقائيًا. إذا استمرت أي من الرسالتين، فاستخدم «اسأل Copilot» على الخطأ.
هل تُجاب الصفحات الطويلة من بدايتها فقط؟
لا. تُقسَّم كل صفحة تم الزحف إليها إلى مقاطع متداخلة بطول نحو 1,600 حرف، ويُفهرس كل مقطع على حدة مع إرفاق عنوان الصفحة، بحيث يمكن أن تأتي الإجابة من أي جزء من مقال طويل. ولا تزال الاستشهادات تعرض رابطًا واحدًا لكل صفحة. الصفحات المستوردة قبل هذا التغيير يُعاد تقسيمها في عمليات إعادة المزامنة التالية.
كيف أحصل على مساعدة بشأن خطأ في الزحف؟
يأتي كل خطأ زحف أو فهرسة في صفحة Knowledge مع زر اسأل Copilot. يفتح هذا الزر Copilot مع إرفاق الخطأ، فيجيب Copilot من وثائق مساعدة Respondo نفسها بخطوات ملموسة لحالتك. هذه المساعدة مجانية — ولا تُحتسب ضمن طلبات الذكاء الاصطناعي الخاصة بك. إذا لم تحلّ الخطوات المشكلة، فقل ذلك — يكفي «لم يفدني هذا». عندها يعرض Copilot بطاقة تُحيل المشكلة إلى فريق Respondo: تعرض البطاقة بالضبط ما سيُرسَل، ولا يخرج شيء قبل أن تؤكده، ويصل ردهم في سلسلة Copilot نفسها. وإذا تعذّرت الإحالة من هنا، يخبرك Copilot بذلك صراحةً بدل أن يصمت.
الرسائل التي لا تصل إلى العميل#
رد يظهر عليه «Not delivered» — ماذا يعني ذلك، وما أول ما أفعله؟
كل رسالة صادرة في صندوق الوارد تحمل مؤشر تسليم: Queued (في الانتظار — الردود المكتوبة بفارق قصير تُدمج وتخرج كرسالة بريد واحدة خلال دقيقتين)، ثم Sending…، ثم Sent، ثم Delivered، أو إخفاق باللون الأحمر. وللإخفاق ثلاثة أشكال: Not delivered — رفضت القناة الرسالة؛ Bounced ومعه نوع الارتداد الفرعي بجانبه — رفض خادم بريد المستلم الرسالة؛ وأخيرًا Marked as spam — أبلغ عنها المستلم. مرّر المؤشر فوق التسمية أو انقر عليها: تعرض التلميحة كلام المزوّد نفسه، بما في ذلك تشخيص SMTP الخام في حالة الارتداد. وبجانبها يظهر إجراءان على الأكثر — Retry / Send again اللذان يعيدان الإرسال فعليًا، وزر Ask Copilot الذي يفتح Copilot مع إرفاق الخطأ. وإذا لم يظهر زر إعادة المحاولة إطلاقًا، فالعنوان محظور وإعادة الإرسال ستفشل بالطريقة نفسها. أما Sent أو Delivered الذي يحمل بجانبه N files not delivered فيعني أن النص وصل لكن أحد المرفقات لم يصل — تلك القناة لم تستطع حمل الملف.
لماذا لم يصل بريدي الإلكتروني إلى العميل؟
أربعة أمور مختلفة، والتسمية تميّز بينها. الارتداد الدائم يعني أن العنوان غير موجود أو يرفض البريد — لا يوجد زر إعادة محاولة، ويُضاف العنوان إلى قائمة الحظر. والارتداد المؤقت هو صندوق بريد ممتلئ أو مشكلة عابرة على الخادم المستقبِل؛ يُعرض Send again وينجح عادةً لاحقًا. أما الارتداد الذي يذكر تشخيصه SPF أو DKIM أو DMARC أو 5.7.515 فمختلف: رفض نظام بريد المستلم الرسالة لأن نطاق الإرسال الخاص بك لم يجتز فحص المصادقة. وأي رد جديد سيرتد بالطريقة نفسها تمامًا إلى أن يُصلَح النطاق، فأجب عبر قناة أخرى في هذه الأثناء وأصلح سجلات DNS لقناة البريد في Settings → Channels. وأخيرًا، Marked as spam يعني أن المستلم ضغط «الإبلاغ عن رسالة مزعجة»: يُحظر العنوان ونتوقف عن الإرسال إليه. وقد يُظهر تقرير الحملة إضافةً إلى ذلك The email provider rejected this message — رفض نهائي قبل أن تغادر الرسالة أصلًا، وسببه غالبًا نطاق إرسال غير مُتحقق منه أو عنوان مُشوَّه — وكذلك The email provider rejected our credentials، وهي مشكلة في إعداد مساحة العمل لا علاقة لها بجهة الاتصال تلك بعينها.
ما هي قائمة الحظر، وكيف يخرج منها عنوان بريد؟
هي قائمة خاصة بمساحة عملك تضم عناوين البريد التي يرفض Respondo الإرسال إليها. ويُضاف العنوان إليها عندما ترتد الرسالة ارتدادًا دائمًا (hard bounce، أي رفض نهائي)، أو عندما يبلّغ أحدهم عن إحدى رسائلك بوصفها مزعجة، أو عند حظره يدويًا. أما الارتدادات المؤقتة فلا تحظر عنوانًا أبدًا. وما دام الحظر ساريًا، تُتخطى إرسالات الحملات إليه مع This address is blocked after an earlier bounce or complaint، ويُرفض الرد في صندوق الوارد قبل خروجه. ولا يُحظر إلا المستلم الفعلي للرسالة — فإشعار الارتداد لا يمكنه حظر عنوان عشوائي. ولا توجد شاشة للقائمة في لوحة التحكم: يمكن للمالك أو المسؤول قراءتها عبر GET https://api.respondo.ai/api/v1/integrations/email/suppressions ورفع أحد المدخلات عبر DELETE https://api.respondo.ai/api/v1/integrations/email/suppressions/<email>، أو الطلب من دعم Respondo فعل ذلك. ولا ترفع الحظر عن ارتداد دائم إلا إذا كنت متأكدًا أن صندوق البريد أُصلح فعلًا — فالإرسال مجددًا إلى عنوان ميت يضر بسمعة نطاقك.
واتساب يرفض ردي — نافذة الـ 24 ساعة
يسمح واتساب للشركة بإرسال رسائل حرة الصياغة خلال 24 ساعة فقط من آخر رسالة للعميل؛ وترفض Meta أي شيء بعد ذلك بالخطأ 131047. تتتبع Respondo هذه النافذة لكل شخص، وعندما تعلم أن النافذة انتهت توقف الرد قبل إرساله. وعندما لا يكون لدى Respondo أي سجل عن النافذة أصلًا — جهة اتصال مستوردة، أو رقم لم يراسلك قط — فإنها لا تحظر: تذهب الرسالة إلى Meta وتقرر Meta. وأمامك طريقان اثنان لا ثالث لهما. انتظر أن يكتب العميل مجددًا — فرسالته تعيد فتح النافذة 24 ساعة أخرى ويمر ردك حينها — أو أرسل قالب template معتمدًا من Meta. ولا يمكن إرسال القوالب من محرِّر الرسائل داخل المحادثة. أدِرها من Outbound → WhatsApp templates: يجلب Sync ما هو مسجّل بالفعل على رقمك، ويقدّم New template قالبًا إلى Meta، وتستغرق مراجعته يومًا أو أكثر. ثم أرسل القالب المعتمد عبر حملة صادرة موجهة إلى جهة الاتصال تلك. ويصل القالب إلى الناس داخل النافذة وخارجها على حد سواء، لكن فقط ما دامت حالته approved.
«That channel is disconnected» / «That channel is not connected»
Disconnected يعني أن التكامل موجود لكنه لم يعد نشطًا — أُبطل رمز الوصول الخاص به أو انتهت صلاحيته، أو فصله أحدهم. أما Not connected فيعني أنه لا يوجد أي تكامل خلف نقطة اتصال جهة الاتصال إطلاقًا. وكلاهما يُعالَج في Settings → Channels، حيث تُجمَّع القنوات المفصولة تحت عنوان خاص بها مع زر Reconnect على كل بطاقة؛ أعد الاتصال ثم أعد محاولة الرسالة. وهناك حالتان مجاورتان تبدوان متشابهتين لكنهما ليستا كذلك: قناة بريد نطاق إرسالها غير مُتحقق منه لا يمكن تحويلها إلى Live ولا ترسل شيئًا حتى يُؤكَّد DKIM وSPF، وقناة الاستقبال فقط ترفض الرسائل الصادرة بحكم تصميمها، لذا لن ينجح Retry فيها أبدًا.
«No channel to reach this person on» / «No email address on this contact»
كلاهما يظهر في تقرير تسليم الحملة لا في صندوق الوارد. الأول يعني أن أيًا من نقاط اتصال جهة الاتصال لم يطابق القنوات التي ترسل عليها الحملة؛ وإذا كانت نقطة اتصالها الوحيدة على قناة استقبال فقط، فيُبلَّغ عن ذلك منفصلًا بوصفه تخطيًا متعمدًا. والثاني يعني أن الحملة ترسل بريدًا إلكترونيًا ولا يوجد عنوان مسجل لجهة الاتصال. ولتيليجرام صيغته الخاصة: إذا لم يراسل الشخص بوتك من قبل فلا توجد محادثة يمكن الكتابة إليها، لأن Bot API تمنع البوت من بدء المراسلة — عليه هو أن يرسل الرسالة الأولى. عالِج ذلك بإضافة العنوان الناقص إلى جهة الاتصال، أو بتوسيع القنوات التي تستهدفها الحملة، أو بالسماح لها بالرجوع إلى البريد الإلكتروني.
ألغى جهة الاتصال اشتراكه — ماذا يمكنني أن أرسل؟
They had already unsubscribed يعني أن جهة الاتصال تحمل إلغاء اشتراك عامًا — عُيّن عبر رابط إلغاء الاشتراك في إحدى رسائلك، أو جاء مع استيراد، أو بدّله أحد أعضاء الفريق. وتتخطى الحملات والسلاسل هذه الجهات على كل قناة، لا البريد وحده، ويُسجَّل التسليم بوصفه تخطيًا لا إخفاقًا. أما الرد الفردي من عضو فريق داخل محادثة فلا يحظره ذلك عمدًا على الإطلاق: فإلغاء الاشتراك يخص الرسائل الجماعية، والرد على شخص راسلك قرار بشري. وتظهر الحالة على جهة الاتصال بصيغة Outbound: Subscribed / Unsubscribed، ويمكن تصفية قائمة جهات الاتصال بها، ويعكسها زر Re-subscribe على جهة الاتصال — ولا تستخدمه إلا إذا طلب منك الشخص ذلك.
كم مرة تُعاد المحاولة، وهل الضغط على Retry آمن؟
يُسلَّم الرد الصادر من صندوق الوارد إلى طابور يقوم بما يصل إلى خمس محاولات، منتظرًا نحو 3 و10 و30 و30 دقيقة بينها. ولا تُعاد المحاولة إلا للإخفاقات العابرة — انتهاء المهلات، ورفض الاتصالات، وحدود المعدل، وأخطاء خادم المزوّد نفسه. أما الرفض النهائي (عنوان مجهول، نطاق إرسال غير مُتحقق منه، بيانات اعتماد مرفوضة) فيُوسم بالفشل فورًا، لأن التكرار سيعيد الجواب نفسه. وتعمل إرسالات الحملات على طابور خاص بها بما يصل إلى ست محاولات وبفترات انتظار أقصر — 5 ثوانٍ، و30 ثانية، ودقيقتان، و10 دقائق؛ وعند نفادها يُغلق التسليم برسالة Delivery kept failing and was stopped after several attempts بدلًا من بقائه في «queued» إلى الأبد. والضغط على Retry يدويًا آمن. فهو لا يعمل إلا على رسالة في حالة الفشل فعلًا، وفي حالة البريد يسأل المزوّد أولًا عمّا حدث للرسالة الأصلية: فإن كانت قد خرجت بالفعل، يتحول السطر إلى «تم التسليم» بدلًا من إرسال نسخة ثانية، وأي إعادة إرسال حقيقية تخرج بمفتاح idempotency جديد. وحيث تكون النسخة الثانية خطأً — ارتداد دائم، أو شكوى رسالة مزعجة، أو إرسال ما زال جاريًا — يختفي الزر أو تُرفض إعادة المحاولة مع بيان السبب.
السبب ما زال غير واضح — كيف أحصل على مساعدة؟
كل رسالة فاشلة تحمل بجانبها زر Ask Copilot. يفتح هذا الزر Copilot مع إرفاق الخطأ والقناة والمحادثة، ويجيب Copilot من وثائق مساعدة Respondo نفسها بخطوات لهذا الإخفاق بالذات. هذه المساعدة مجانية — ولا تُحتسب ضمن طلبات الذكاء الاصطناعي الخاصة بك. وإذا لم تحلّ الخطوات المشكلة، فقل ذلك — يكفي «لم يفدني هذا». عندها يعرض Copilot بطاقة تُحيل المشكلة إلى فريق Respondo: تعرض البطاقة بالضبط ما سيُرسَل، ولا يخرج شيء قبل أن تؤكده، ويصل ردهم في سلسلة Copilot نفسها. وإذا تعذّرت الإحالة من هنا، يخبرك Copilot بذلك صراحةً بدل أن يصمت.