بدء الجلسة
تشغيل جلسة واتساب وتجهيزها للاتصال.
تسجيل الدخول مطلوب
سجل الدخول لاستبدال المعرفات (Instance ID) ورمز الوصول (Access Token) بمعلومات حسابك الحقيقي لاختبار ال API مباشرة.
تسجيل الدخوللا توجد معاملات استعلام مطلوبة
هذه النهاية الطرفية لا تتوقع بيانات في الرابط.
توصيات
استخدم نقطة النهاية /v2/session/info لجلب رمز QR بمجرد انتقال الحالة إلى 'SCAN_QR_CODE'.
إذا تلقيت خطأ 404، فمن المحتمل أن يكون 'instance_id' غير صحيح أو أن النسخة قد حذفت.
تشغيل المحرك: الدليل الكامل لنقطة النهاية /v2/session/start
إذا كان إنشاء الجلسة هو "حجز السيارة"، فإن استدعاء /v2/session/start هو "تشغيل المحرك". بدون هذه الخطوة، تظل الجلسة مجرد سجل في قاعدة البيانات، غير قادرة على الاتصال بواتساب أو معالجة أي بيانات.
ماذا يحدث تقنياً عند النقر على "بدء"؟
عملية البدء هي عملية كثيفة الموارد تتضمن عدة مراحل تقنية دقيقة:
- استدعاء الحاوية (Container Awakening): نقوم بإيقاظ البيئة المعزولة المخصصة لجلستك.
- تحميل نظام ملفات واتساب (WhatsApp FileSystem): يتم تحميل قاعدة بيانات الـ SQLite المحلية والبيانات التعريفية للمتصفح (Headless Browser) التي تحاكي بيئة واتساب ويب.
- مصافحة الشبكة (Network Handshake): يبدأ المحرك في محاولة الاتصال بخوادم واتساب الموزعة عالمياً.
- تحديد الحالة التالية:
- إذا كانت الجلسة مرتبطة مسبقاً برقم هاتفك، فسينتقل المحرك مباشرة إلى حالة
WORKING. - إذا كانت جلسة جديدة، فسيقوم المحرك بتوليد أول رمز QR وينتقل إلى حالة
SCAN_QR_CODE.
- إذا كانت الجلسة مرتبطة مسبقاً برقم هاتفك، فسينتقل المحرك مباشرة إلى حالة
الأوركسترا البرمجية: كيف تدمج "البدء" في تطبيقك؟
التعامل مع الحالات الانتقالية
أحد الأخطاء الشائعة هو توقع تغير الحالة فوراً بعد استدعاء start. تذكر أن الحالة ستكون STARTING لعدة ثوانٍ.
أفضل ممارسة:
- أرسل طلب
start. - ابدأ "بولينج" (Polling) خفيف على نقطة النهاية
/v2/session/infoكل 3 ثوانٍ. - بمجرد رصد انتقال الحالة إلى
SCAN_QR_CODEأوWORKING، قم بتحديث واجهة المستخدم فوراً.
استراتيجية "الإحماء التلقائي" (Auto-Warmup)
لتحسين تجربة العميل (UX)، يمكنك البدء بتشغيل المحرك بمجرد دخول المستخدم إلى صفحة الربط، حتى قبل أن يطلب ذلك صراحة. هذا يوفر عليه 10-15 ثانية من وقت الانتظار.
[!TIP] لا تقم أبداً بتلقيم استدعاء
startفي كل مرة يفتح فيها المستخدم التطبيق إذا كانت الجلسة في حالةWORKINGبالفعل؛ فهذا قد يسبب قطع الاتصال النشط وإعادة الاتصال بلا داعٍ.
الأمان والمرونة (Resilience)
التعامل مع حالات الفشل عند التشغيل
في بعض الأحيان، قد يفشل المحرك في البدء بسبب "تضارب الجلسات" (Session Conflict) - وهو أن يحاول المحرك العمل بينما هناك نسخة أخرى منه لا تزال عالقة في الذاكرة.
الحل: إذا ظل المحرك في حالة STARTING لأكثر من 60 ثانية، استخدم استراتيجية "الإجبار على الإغلاق ثم البدء" عبر استدعاء /v2/session/stop ثم /v2/session/start.
استمرارية الجلسة (Session Persistence)
تتميز Wawp بقدرتها العالية على الحفاظ على الربط. بمجرد استدعاء start والوصول لحالة WORKING، سيحاول النظام إعادة تشغيل نفسه تلقائياً إذا حدث خلل في الخادم المضيف، دون تدخل منك. ومع ذلك، ننصح دائماً بمراقبة الويب هوك الخاص بحالة الجلسة.
حالات استخدام متقدمة
أ- البوتات المجدولة (Scheduled Bots)
إذا كان لديك بوت يرسل تقارير صباحية في الساعة 8:00 صباحاً، يمكنك جدولة كود برمجي يستدعي start في الساعة 7:55 لضمان أن المحرك "دافئ" وجاهز للإرسال في الموعد المحدد.
ب- أنظمة توفير التكلفة (Cost Efficiency)
إذا كنت تستخدم Wawp لإرسال حملات تسويقية شهرية فقط، يمكنك إبقاء الجلسات في حالة STOPPED طوال الشهر، وتشغيلها فقط في يوم الحملة. هذا يقلل من الاستهلاك العام للموارد ويحافظ على صحة حسابك.
استكشاف الأخطاء (Troubleshooting)
"Instance is already starting" (400 Bad Request)
هذا يعني أن هناك طلب start قيد المعالجة حالياً. لا تقم بإرسال طلبات متكررة؛ فقط انتظر وراقب الحالة عبر /session/info.
"Session data corrupted"
في حالات نادرة جداً، قد تفشل الجلسة في البدء بسبب تلف ملفات التعريف المحلية. إذا واجهت هذا، الحل الوحيد هو استدعاء /v2/session/logout ثم /v2/session/start من جديد لمسح البيانات التالفة.
ملخص الخطوات
- تأكد أن الحالة
STOPPED. - استدعِ
/v2/session/start. - انتظر انتقالات الحالة (
STARTING->SCAN_QR_CODE/WORKING). - ابدأ في استخدام وظائف المراسلة.
البارامترات
قم بتهيئة المعاملات المطلوبة للتفاعل مع نقطة النهاية هذه. جميع وسائط الاستعلام والبيانات مدرجة أدناه مع تفاصيلها.
محتوى الطلب
يرسل كـ JSONstring | معرف النسخة الفريد مثال: | ||
string | مفتاح الوصول الخاص بـ API مثال: |
أمثلة الكود
استخدم أمثلة الكود الجاهزة لدمج واجهة برمجة التطبيقات (API) في مشروعك بسرعة وكفاءة. اختر لغة البرمجة والمكتبة التي تفضلها.
الردود المتوقعة
استكشف كافة الردود والنتائج المحتملة من الخادم. قمنا بتوثيق كل كود حالة (Status Code) مع أمثلة للبيانات لتسهيل معالجة الأخطاء والنجاح.
Example
{
"name": "wawp-84729105",
"status": "STARTING",
"config": {
"webhooks": {
},
"proxy": null
}
}Command Palette
Search for a command to run...