آلية العمل
- اشترك في حدث
telephony.incoming(الهاتف) أوweb.incoming(الودجت). كلاهما webhook حاجب: ينتظر ThunderPhone لمدة تصل إلى 10 ثوانٍ ردّك قبل متابعة المكالمة. - يرسل إليك ThunderPhone
{call_id, from_number, to_number}(تحمل جلسات الودجت حقولًا خاصة بالودجت بدلًا من الأرقام — راجع مخطط الطلب). - يستجيب خادمك بتكوين وكيل (الموجّه، الصوت، المنتج، الأدوات). يستخدم ThunderPhone هذا التكوين للمكالمة.
- إذا أرجعت
{}، أو انتهت المهلة، أو حدث خطأ، يُستخدم الوكيل المعيّن ثابتًا كبديل. إعداد افتراضي آمن.
يعمل بالطريقة نفسها للمكالمات الهاتفية (
telephony.incoming) وجلسات
الودجت (web.incoming)، سواء جرى تسليمه إلى نقطة نهاية webhook
أو إلى webhook القديم ذي عنوان URL الواحد.1. تكوين وجهة webhook
- مكالمات هاتفية
- ودجت الويب
بالنسبة إلى أرقام الهاتف، اشترك بنقطة النهاية الخاصة بك في يتضمن الرد
telephony.incoming:secret للاستخدام لمرة واحدة — احفظه؛ ستستخدمه
للتحقق من التوقيع.2. نفّذ المعالج
ثلاث قواعد عملية:- تحقّق من التوقيع في كل طلب (راجع التحقق من توقيعات webhook). لا تتجاوز هذه الخطوة في بيئة التطوير — نفّذها بشكل صحيح مرة واحدة وأعِد استخدامها.
- استجب بسرعة. عشر ثوانٍ هي الحد الأقصى الصارم، وكل ثانية هي صمت للمُتصل. أجرِ عمليات البحث في قاعدة البيانات عند الحاجة، لكن لا تستدعِ نماذج اللغة الكبيرة اللاحقة بشكل متزامن — إذا أردت إنشاء موجّه ديناميكيًا، فاحسبه مسبقًا وخزّنه مؤقتًا.
- استخدم بديلًا بسلاسة. يجب أن تعيد أي حالة غير متوقعة
{}لكي يتولى وكيل الصوت المعيّن ثابتًا معالجة المكالمة.
3. مخطط الاستجابة
يطابق نص الاستجابة مخطط استجابة المكالمات الواردة تمامًا. الحقول الشائعة الاستخدام:لا تتوفر إعدادات ترتيب التحدث لكل مكالمة و
max_hold_seconds في
استجابة webhook. اضبطها في
الوكيل الذي تشير إليه.الأنماط
سياق المستخدم المسجّل الدخول
في عناصر الواجهة المصغّرة بوضع webhook، تعرف صفحة الزائر مسبقًا من يكون. استدعِ webhook الخاص بك باستخدام مَعلمة سلسلة استعلام يمرّرها SDK عنصر الواجهة (?customer_id=123) وابحث عن العميل من جهة الخادم.
طرح موجّهات A/B تدريجيًا
قبل تنفيذ ذلك يدويًا، لاحظ أن ThunderPhone يوفر ميزة التجارب أصلية (/dashboard/experiments وعلامة التبويب A/B في منشئ الوكيل) التي
تعرّف المتغيرات، وتقسم الزيارات، وتقارن النتائج لكل متغير —
دون الحاجة إلى webhook.
إذا كنت تحتاج إلى التحكم من جهة webhook على أي حال: حوّل call_id إلى قيمة تجزئة → مجموعة؛
قدّم الموجّه A للقيم 0..49 والموجّه B للقيم 50..99. سجّل المجموعة التي
اخترتها في قاعدة البيانات الخاصة بك، واربطها لاحقًا بتقييم المكالمة المكتملة.
توجيه قائم على الوقت
ساعات العمل → وكيل “الدعم المباشر”؛ خارج ساعات العمل → وكيل “تسجيل رسالة”. تبديل بسيط يعتمد علىnew Date().getUTCHours() في معالجك.
الخطوات التالية
مرجع webhook للمكالمات الواردة
مخططات الطلب والاستجابة الدقيقة، بما في ذلك كل مفتاح إعداد.
التحقق من توقيعات webhook
اضبط HMAC بشكل صحيح مرة واحدة؛ وأعد استخدامه في كل مكان.
إنشاء تكامل أداة
اجمع بين التوجيه الديناميكي والأدوات الخاصة بكل وكيل.
دلالات التسليم
إعادة المحاولة، والترتيب، والمهلات.