التواجد والتوفر
إدارة حالة اتصالك بالإنترنت والتحقق من توفر جهات الاتصال الخاصة بك.
توصيات
استخدم متغيرات البيئة لبيانات الاعتماد الحساسة مثل رموز الوصول.
قم بتنفيذ معالجة قوية للأخطاء ومنطق إعادة المحاولة.
الشبح في الآلة: إتقان التواجد على واتساب
معلومات التواجد — الرقصة الدقيقة بين "متصل"، "يكتب..."، و "آخر ظهور" — هي نبض الاتصال في الوقت الفعلي. في سياق واجهة برمجة تطبيقات Wawp، لا تتعلق إدارة التواجد بمجرد مقاييس الغرور؛ بل هي مكون حاسم في هندسة الثقة و صحة الجلسة.
تتضمن فئة /v2/presence-overview الأدوات التي تحتاجها للإشارة إلى مدى توفر البوت الخاص بك للعالم، وبالعكس، لفهم مدى توفر مستخدميك.
🧠 سيكولوجية "متصل الآن"
قبل الغوص في الأكواد، من الضروري فهم كيفية إدراك البشر للتواجد على واتساب.
1. توقع الفورية
عندما يرى المستخدم أن حساب عملك متصل، فإنه يتوقع رداً في غضون ثوانٍ.
- الخطر: إذا ميز البوت نفسه كمتصل بشكل مستمر (24/7) ولكنه يستغرق 5 دقائق لمعالجة الطلب بسبب الانتظار، فسيشعر المستخدمون أن الخدمة "معطلة" أو "تتجاهلهم".
- الاستراتيجية: استخدم نقطة نهاية تعيين التواجد لتبديل حالتك إلى
availableفقط عندما يكون استهلاك الويب هوك الخاص بك سليماً ويعمل بأقصى سرعة. إذا كان نظامك تحت الصيانة، فقم بتعيين تواجدك صراحةً علىunavailable.
2. أهمية "آخر ظهور"
بالنسبة للحسابات الشخصية، يعد "آخر ظهور" ميزة خصوصية عادية. أما بالنسبة لأتمتة الأعمال، فهو اختبار حياة (Liveness Probe).
- إشارة الثقة: حساب الأعمال الذي "شوهد آخر مرة اليوم الساعة 10:00 صباحاً" يشعر المستخدم أنه نشط. أما الحساب الذي "شوهد آخر مرة في 12 ديسمبر 2023" فيبدو مهجوراً أو ميتاً.
- الأتمتة: يمكنك استخدام مهمة مجدولة لتبديل تواجدك للحظات إلى متصل ثم العودة إلى غير متصل مرة كل بضع ساعات. هذا يحدث طابع "آخر ظهور" الخاص بك، مما يطمئن المستخدمين بأن الخط لا يزال نشطاً حتى لو لم يتم إرسال أي رسائل.
🏗️ البنية التقنية للتواجد
يعتمد نظام التواجد في واتساب على نموذج النشر والاشتراك (Publish-Subscribe)، والذي يختلف بشكل كبير عن نموذج HTTP القياسي (طلب-استجابة).
1. نموذج الاشتراك (/subscribe)
لا يمكنك ببساطة "جلب" حالة أي رقم عشوائي على واتساب. سيكون ذلك انتهاكاً كبيراً للخصوصية ومستحيلاً تقنياً بالنظر إلى مليارات المستخدمين.
- الآلية: لتلقي تحديثات التواجد لمستخدم معين (مثلاً، لمعرفة متى يصبح متصلاً)، يجب على جهازك الاشتراك صراحةً في موجز تواجده.
- المدة: هذه الاشتراكات مؤقتة. تستمر عادةً لمدة تتراوح بين 20-60 ثانية. بعد ذلك، يتوقف خادم واتساب عن إرسال التحديثات لتقليل استهلاك البيانات.
- النتيجة: يجب عليك تنفيذ حلقة "نبضات القلب" إذا كنت بحاجة إلى تتبع مستخدم بشكل مستمر خلال جلسة دعم مباشرة.
2. قاعدة المعاملة بالمثل
في إعدادات الخصوصية الصارمة، قد لا يشارك المستخدم حالته معك ما لم تشارك حالتك معه.
- سلوك الواجهة: إذا قمت بفرض حالة تواجدك على
offline(وضع التخفي)، فقد تجد أن واجهة برمجة التطبيقات تعيدnullأو بيانات قديمة عندما تحاول الاستعلام عن المستخدمين. - أفضل ممارسة: حافظ على تكوين "واحدة بواحدة". إذا كنت تريد رؤيتهم، فاجعلهم يروك.
3. مؤشر "يكتب الآن"
على الرغم من أنه ليس حالة "تواجد" بالمعنى الدقيق (فهو حدث مؤقت)، إلا أن مؤشر "يكتب..." مرتبط به وثيقاً.
- سد الفجوة: إنه يربط الفجوة بين "تمت القراءة" (العلامات الزرقاء المزدوجة) والرد الفعلي.
- نصيحة تجربة المستخدم: قم دائماً بتشغيل
/v2/send/start-typingقبل أن يبدأ البوت الخاص بك في مهمة معالجة طويلة (مثل إنشاء صورة بالذكاء الاصطناعي). هذا يمنحك 5-10 ثوانٍ من صبر المستخدم.
🛡️ مكافحة الحظر وتحديد المعدل
يعد المسح بحثاً عن التواجد أحد أخطر الأنشطة لبوت واتساب.
لماذا هو خطر؟
يستخدم الفاعلون الخبثاء "التحقق من التواجد" لبناء قواعد بيانات لأرقام الهواتف النشطة. تستخدم الدفاعات الذكية لواتساب عدوانية شديدة ضد هذا النمط.
القواعد الذهبية:
- لا تتحقق من الغرباء: قم فقط بالاستعلام عن تواجد المستخدمين الذين راسلواك أولاً.
- لا للمسح الجماعي: لا تقم أبداً بالمرور عبر قاعدة بيانات جهات الاتصال بالكامل للتحقق من الحالة.
- مراعاة السياق: اشترك في التواجد فقط عندما تكون المحادثة نشطة (أي خلال نافذة الخدمة لمدة 24 ساعة).
- حدود المعدل: ستعيد واجهة برمجة التطبيقات الخطأ
429 Too Many Requestsإذا قمت بالاشتراك في أكثر من ~50 مستخدماً في الدقيقة.
🚀 أنماط التنفيذ الاستراتيجية
النمط أ: تسليم "العميل المباشر"
عندما يطلب مستخدم التحدث إلى إنسان:
- التحقق من المستخدم: استدعِ
/v2/presence/{chatId}لمعرفة ما إذا كان المستخدم ينظر حالياً إلى الدردشة. - التوجيه:
- إذا كان متصلاً: وجهه إلى زمام الأولوية القصوى للاستلام الفوري.
- إذا كان غير متصل: وجهه إلى نظام التذاكر القياسي وأرسل إشعاراً بالبريد الإلكتروني بدلاً من ذلك.
النمط ب: التنبيه المتفائل
تكون معدلات تحويل الرسائل التسويقية أعلى عندما يتم تسليمها بينما يكون الهاتف في يد المستخدم.
- المراقبة: لمجموعة صغيرة من كبار العملاء (VIPs)، استمع إلى أحداث الويب هوك الصالحة لـ
presence_update. - التشغيل: إذا أصبح العميل متصلاً، فقم بتشغيل رسالة العرض المعلقة فوراً.
🧩 التكامل مع الويب هوك
بينما تسمح لك نقاط نهاية HTTP هذه بـ القيام بفعل، فإن الطريقة الأساسية لـ استهلاك بيانات التواجد هي عبر الويب هوك.
- الحدث:
presence_update - الحمولة: تحتوي على
id(الموضوع) وstatus(متوفر/غير متوفر). - ملاحظة: ستتلقى هذه الويب هوكات فقط للمستخدمين الذين اشتقت فيهم مؤخراً أو لديك دردشة مفتوحة معهم حالياً. لن تحصل على تدفق نشاط للعالم أجمع. (راجع توثيق الويب هوك للحصول على أمثلة للحمولات).
Command Palette
Search for a command to run...