Keptly
القنوات

المكالمات الصوتيّة الواردة عبر Twilio

العملاء يتّصلون برقم Twilio ← التسجيل ← التفريغ عبر Whisper ← الاستخراج الآلي ← الجهة في نظام إدارة العملاء. نفس تدفّق الرسائل الصوتيّة في WhatsApp.

المكالمات الصوتيّة قناة ثالثة عالية القيمة بجوار ويدجت الموقع و WhatsApp. البنية تشبه تفريغ رسائل WhatsApp الصوتيّة: تُسجَّل المكالمة، تُفرَّغ، ثمّ يمرّ النص في خطّ الاستخراج نفسه.

كيف يعمل (تسجيل بعد المكالمة، لا في الزمن الحقيقي)

١. العميل يتّصل برقم Twilio المخصّص لحسابك ٢. Twilio يشغّل إخطاراً عربيّاً قصيراً ("هذه المكالمة مسجّلة") ٣. Twilio يسجّل حتّى ١٠ دقائق ٤. بعد انتهاء المكالمة، Twilio يُرسل webhook إلى وَصل برابط التسجيل ٥. وَصل يحمّل التسجيل، ويفرّغه عبر OpenAI Whisper (يدعم العربيّة والإنجليزيّة) ٦. النص المُفرَّغ يصبح Message على Conversation بقناة CALL ٧. المستخرِج يعمل — تُنشَأ الجهة، وتُحدَّد درجة العميل، ويُدفَع لنظام إدارة العملاء

اخترنا التسجيل بعد المكالمة (لا الـ Real-time Media Streams) في النسخة الأولى لأنّ القيمة في النص، لا التدخّل المباشر. الزمن الحقيقي يضيف تعقيداً كبيراً مقابل فائدة هامشيّة، إلّا إن كان عندك أشخاص يتابعون المكالمات مباشرة.

المتطلّبات

  • حساب Twilio مع إعداد الفوترة
  • رقم Twilio مشترى (محلّي أو دولي، بحسب عملائك)

الخطوة الأولى: ضبط Twilio

في لوحة Twilio:

١. Phone Numbers ← Active Numbers ← اضغط رقمك ٢. اضبط A Call Comes In على Webhook، بالرابط: `` https://wasl.sa/api/twilio/voice `` الطريقة: HTTP POST.

٣. اضبط Call Status Callback على: `` https://wasl.sa/api/twilio/status `` الطريقة: HTTP POST.

الرابطان يتعاملان مع المكالمة المباشرة وحدث "اكتمل التسجيل" على الترتيب.

الخطوة الثانية: الربط في وَصل

في لوحة تحكّم وَصل:

١. الموصلات ← Twilio ← اربط ٢. الصق Account SID ٣. الصق Auth Token ٤. الصق رقم Twilio بصيغة E.164 (مثلاً +966555123456) ٥. احفظ

وَصل يتحقّق من البيانات باستدعاء Twilio API. الرقم الآن مرتبط بحسابك — كلّ المكالمات الواردة إليه تصل صندوق الوارد عندك.

الخطوة الثالثة: التجربة

اتّصل برقم Twilio من جوّال آخر. تكلّم بضع جمل:

"السلام عليكم، أتّصل بخصوص الفيلا ٣ غرف في حي الياسمين. ميزانيّتي ٢.٤ مليون كاش. اسمي محمّد الأحمدي، اتّصلوا بي رجاءً."

اقفل الخطّ.

خلال ~٣٠–٦٠ ثانية (بحسب طول المكالمة)، تظهر المحادثة في صندوق الوارد. اضغط عليها:

  • النص المُفرَّغ يظهر كرسالة مع شارة 🎙️ ومدّة المكالمة
  • الجهة المستخرَجة فيها الاسم، والجوّال (caller ID)، والنيّة
  • درجة العميل تعكس إشارات الشراء
  • إذا ربطت نظام إدارة عملاء، فالجهة وصلت إليه أصلاً
wasl/dashboard
MO
Mohammed Al-Otaibi
+966 50 123 4567
🔥 HOT 78
Hi, looking for a 3-bedroom in Al-Yasmeen, budget 750k
Welcome! We have 4 units matching that. When are you free for a viewing?
This weekend. Cash buyer.
✨ AI-suggested reply

"Excellent — cash purchases close fast. Saturday 11am or Sunday 4pm work for a viewing of all 4? I'll send the addresses and a parking note."

الخطوة الخامسة — عميل جديد يصل مع ردّ مقترَح بالذكاء الاصطناعي
wasl/dashboard
MO
Mohammed Al-Otaibi
+966 50 123 4567 · mohammed@example.com
🔥 HOT78
Reasoning: Specific budget (750k SAR), specific neighbourhood, asked about viewing this weekend, mentioned cash purchase.
Real estate3BR aptAl-Yasmeen750k SARCash buyerThis weekend
جهة مستخرَجة مع الدرجة والتحليل والوسوم

إخطار التسجيل

النظام السعودي (والأخلاقيّات الأساسيّة) يتطلّب إعلام العميل بأنّ المكالمة مسجّلة. ردّ TwiML الذي نقدّمه يشغّل إخطاراً عربيّاً قصيراً:

"هذه المكالمة مسجّلة لأغراض جودة الخدمة"

يُشغَّل قبل بدء التسجيل. العملاء يستطيعون قطع المكالمة إن لم يوافقوا.

إن أردت رسالة إخطار مخصّصة (بلهجتك أو باسم علامتك التجاريّة)، تواصل مع الدعم — يمكننا ضبط TwiML خاص بحسابك.

الاحتفاظ بالصوت

تماشياً مع موقف تقليل البيانات في بيان الشركة + المادّة ٦ من نظام حماية البيانات الشخصيّة:

  • ملفّ الصوت يُحمَّل من Twilio
  • يُفرَّغ في الذاكرة عبر Whisper
  • يُخزَّن النص المُفرَّغ كـ Message
  • ملفّ الصوت لا يُحفَظ أبداً على خوادم وَصل

إن احتجت الصوت الأصلي (مثلاً لنزاع)، فهو ما زال في تخزين تسجيلات Twilio بحسب إعدادات الاحتفاظ عندك (قابل للضبط من لوحة Twilio).

الخصوصيّة ونظام حماية البيانات الشخصيّة

  • caller ID (رقم الجوّال) يُخزَّن في حقل جوّال الجهة
  • النص المُفرَّغ يُخزَّن كمحتوى الرسالة (يُسجَّل تدقيقاً بالمادّة ٢٢ج عبر READ.MESSAGE)
  • بايتات الصوت لا تُخزَّن
  • الإخطار المُشغَّل للعميل يغطّي شقّ الموافقة على التسجيل

من جانب امتثالك: تأكّد أنّ سياسة الخصوصيّة المنشورة عندك تذكر أنّ مكالمات العملاء تُسجَّل وتُفرَّغ لجودة الخدمة، وتُعالَج عبر مزوّد طبقة الذكاء الاصطناعي (وَصل).

التكلفة

كلّ دقيقة مكالمة واردة تكلّف:

  • إيجار رقم Twilio: ~٥–٨ ر.س / شهر
  • دقائق Twilio الواردة: ~٠.٠٣ ر.س / دقيقة لأرقام السعوديّة (تختلف بحسب الدولة)
  • تفريغ Whisper: ~٠.٠٢ ر.س / دقيقة
  • استخراج مزوّد الذكاء الاصطناعي: ~٠.٠٤ ر.س / تفريغ (مكالمة واحدة بصرف النظر عن الطول حتّى ٣٠ دقيقة)

التكلفة التقريبيّة لمكالمة: ~٠.٢٠ ر.س لمكالمة ٥ دقائق. حصص خطط وَصل تحسب التفريغات الصوتيّة ضمن مخصّص الاستخراج الشهري (تفريغ واحد = استخراج واحد).

القيود الحاليّة

  • المكالمات الصادرة غير مدعومة بعد (نستمع، لا نتّصل)
  • المكالمات المتزامنة فوق ٥٠ قد تنتظر في طابور Twilio — كافٍ للحجم الاعتيادي للأعمال الصغيرة والمتوسّطة
  • البريد الصوتي غير مفصول عن مكالمة حقيقيّة — كلاهما يتدفّقان كقناة CALL. التمييز البصري على قائمة الانتظار.
  • عدّة موظّفين على مكالمة واحدة — إن نُقل العميل بين طوابير Twilio، يلتقط التسجيل المكالمة كاملة كنصّ واحد

استكشاف الأعطال

المكالمات لا تظهر في الصندوق.

  • راجع سجلّ مكالمات Twilio — هل أُجيب على المكالمة؟ هل سُجّلت؟
  • تأكّد أنّ روابط webhook في Twilio تطابق ما ورد أعلاه (بدون شرطة مائلة في النهاية، بدون تعارض http/https)
  • راجع سجلّ التدقيق في إدارة وَصل ← ابحث عن أحداث READ.MESSAGE حول وقت المكالمة

النص المُفرَّغ غير مفهوم.

  • دقّة Whisper تتفاوت بحسب جودة الصوت (ضوضاء خلفيّة، مكبّر صوت الجوّال)
  • إذا كان العميل على speakerphone في بيئة صاخبة، تنخفض الدقّة
  • للّهجة السعوديّة تحديداً، Whisper جيّد على الكلام القريب من الفصحى، أقلّ كفاءة على اللهجة العاميّة الثقيلة

لم تُستخرَج الجهة.

  • المستخرِج يعمل على كلّ نص مُفرَّغ؛ تحقّق من حدث EXTRACTION_DONE في سجلّ التدقيق
  • إن كانت المكالمة مجرّد "السلام عليكم" بدون إشارات شراء، فالدرجة ستكون منخفضة (تحت ٢٠) لكنّ الجهة موجودة

التالي


هل تحتاج مساعدة؟

إذا لم تجد إجابة سؤالك في الوثائق، تواصل مع فريق الدعم مباشرة.

support@keptly.net
Inbound voice calls via Twilio — Keptly docs