JavaScript API
طرق عامة متاحة بعد تحميل سكربت الأداة.
Respondo.init(config)#
تهيّئ الأداة وتركّبها. يجب استدعاؤها مرة واحدة. تُعيد نسخة الأداة (instance).
const widget = Respondo.init({
agentId: 'YOUR_AGENT_ID'
});Respondo.identify(identity)#
تُرفق هوية المستخدم بالجلسة الحالية. استدعِها بعد تسجيل الدخول.
Respondo.identify({
email: 'user@example.com',
name: 'John Doe',
userId: 'usr_123',
userHash: 'hmac_sha256_signature', // اختياري، للتحقق من الهوية
metadata: { plan: 'pro' },
properties: { // خصائص جهة اتصال مخصصة
account_type: 'enterprise', // مفاتيح معرّفة في إعدادات الوكيل
region: 'eu-west'
}
});Respondo.track(name, properties?)#
تسجّل حدثاً على جانب العميل للزائر الحالي (مثل عملية شراء أو ترقية خطة). يمكن للأحداث أن تُطلق جولات (Tours) مُشغَّلة بالأحداث وأن تُحتسب ضمن أهداف الجولات. التسليم بأفضل جهد عبر keepalive، لذا تصل حتى الأحداث المُطلَقة قبيل الانتقال مباشرة (تحويلة الدفع). استدعِها بعد init().
تفتح الأحداث أيضًا الاستبيانات المنبثقة التي تنتظرها (When and where): فورًا على صفحة مطابقة، أو عند الوصول إلى صفحة مطابقة خلال 30 دقيقة، مثلًا بعد إعادة توجيه.
Respondo.track('purchase_completed', {
plan: 'pro',
amount: 49
});Respondo.startSurvey(surveyId)#
يفتح استبيانًا منبثقًا نشطًا الآن، على أي صفحة، متجاوزًا Show on وقواعد الصفحات والوقت على الصفحة والحدث المشغِّل والجمهور. انسخ المعرّف من محرر الاستبيان (Additional ways to share). لا يُعرض مجددًا استبيان أجاب عنه الزائر. يمكن استدعاؤه قبل اكتمال تحميل الأداة.
Respondo.startSurvey('<survey-id>');Respondo.destroy()#
تزيل الأداة من الصفحة. مفيدة لتطبيقات SPA عند الانتقال إلى صفحات لا ينبغي أن تظهر فيها الأداة. لا تمسح هوية الزائر ولا المحادثة المخزّنة — لتسجيل الخروج، استخدم Respondo.reset().
// أزل الأداة من الصفحة
Respondo.destroy();
// أعد التهيئة لاحقاً عند الحاجة (تستأنف المحادثة نفسها)
Respondo.init({ agentId: 'YOUR_AGENT_ID' });Respondo.reset()#
لتسجيل الخروج / تسليم جهاز مشترك. تمسح معرّف الزائر المجهول والمحادثة المخزّنة ورمز الجلسة من المتصفح، وتُبطل رمز الجلسة على جانب الخادم بحيث تتوقف نُسَخه عن العمل، ثم تعيد تركيب أداة مجهولة جديدة. استدعِها من خطّاف تسجيل الخروج في تطبيقك.
// عند تسجيل الخروج — امسح الهوية والمحادثة والجلسة وابدأ من جديد
Respondo.reset();جمع البيانات التلقائي
تلتقط الأداة وتخزّن ما يلي تلقائياً مع كل محادثة:
| البيانات | المصدر |
|---|---|
| عنوان IP للعميل | ترويسات HTTP |
| المتصفح / نظام التشغيل | ترويسة User-Agent |
| اللغة | ترويسة Accept-Language |
| المنطقة الزمنية | Intl API (JavaScript) |
| رابط الصفحة | window.location |
| المُحيل (Referrer) | ترويسة Referer |