معلومات الجلسة

الحصول على الحالة التفصيلية وبيانات التعريف لجلسة واتساب نشطة.

POST
https://api.wawp.net/v2/session/info?access_token=YOUR_ACCESS_TOKEN&instance_id=Your_Instance_ID

تسجيل الدخول مطلوب

سجل الدخول لاستبدال المعرفات (Instance ID) ورمز الوصول (Access Token) بمعلومات حسابك الحقيقي لاختبار ال API مباشرة.

تسجيل الدخول
اختبار /v2/session/info
POST
POST

لا توجد معاملات استعلام مطلوبة

هذه النهاية الطرفية لا تتوقع بيانات في الرابط.

توصيات

  • استجوب نقطة النهاية هذه كل 3-5 ثوانٍ أثناء انتظار المستخدم لمسح رمز QR.

  • توقف عن الاستجواب بمجرد أن تصبح الحالة 'WORKING'.

  • استخدم نقطة النهاية هذه لبناء صفحة 'حالة النظام' في لوحة تحكم تطبيقك.

نبض النظام: الدليل الشامل لنقطة النهاية /v2/session/info

تعتبر نقطة النهاية /v2/session/info هي الأداة الأهم في ترسانة المطور عند التعامل مع Wawp. هي بمثابة "نبض القلب" (Heartbeat) الذي يخبرك بكل ما تحتاج معرفته عن الحالة الصحية والتقنية لجلستك في أي لحظة. الاستخدام الصحيح لهذه النقطة هو المفتاح لبناء واجهة مستخدم متجاوبة ونظام أتمتة مستقر.


تشريح استجابة الحالة (Status Breakdown)

حقل status في الاستجابة هو الموجه الرئيسي لمنطق تطبيقك. إليك الفهم العميق لكل حالة:

1. WORKING (فعال)

✅ تعني أن المحرك متصل بخوادم واتساب، وتمت المصادقة بنجاح.

  • الإجراء التقني: يمكنك الآن البدء في إرسال الرسائل، جلب جهات الاتصال، أو تحديث الحالة. لا توجد قيود برمجية في هذه المرحلة.

2. SCAN_QR_CODE (انتظار المسح)

⚠️ المحرك يعمل ولكنه يفتقر لبيانات الاعتماد.

  • الإجراء التقني: يجب عليك إظهار رمز QR للمستخدم. في هذه الحالة فقط، سيعود حقل qr في الاستجابة بقيمة نصية (Base64) يمكن تحويلها لصورة.
  • نصيحة: تنتهي صلاحية رمز QR بسرعة؛ لذا يجب تحديث الواجهة فور تغير قيمة الحقل في الاستجابات المتتالية.

3. STARTING (قيد التشغيل)

⏳ المحرك في مرحلة الإحماء (Warm-up).

  • الإجراء التقني: يمنع إرسال أي أوامر إرسال في هذه المرحلة. يجب على تطبيقك إظهار مؤشر "جاري الاتصال..." والانتظار حتى تتغير الحالة.

4. STOPPED (متوقف)

🛑 الجلسة في وضع السبات ولا تستهلك موارد.

  • الإجراء التقني: يجب استدعاء /v2/session/start لتنتقل الجلسة لدورة الحياة النشطة.

5. FAILED (فشل)

❌ حدث خلل غير متوقع يمنع المحرك من البدء.

  • الإجراء التقني: لا تستسلم! استدعِ /v2/session/restart لمحاولة إصلاح الخلل آلياً.

هندسة المراقبة الذكية (Monitoring Architecture)

استراتيجية "الاستجابة الفورية"

لتقديم أفضل تجربة مستخدم، لا تعتمد فقط على الاستدعاء اليدوي. نقترح النمط التالي:

  1. عندما يفتح العميل لوحة التحكم، استدعِ /v2/session/info.
  2. إذا كانت الحالة SCAN_QR_CODE، ابدأ "بولينج" (Polling) كل 3 ثوانٍ لتحديث رمز QR ومراقبة لحظة نجاح المسح.
  3. بمجرد تحول الحالة إلى WORKING، أوقف "البولينج" فوراً لتوفير موارد الشبكة.

استغلال بيانات "Me"

عندما تصبح الجلسة WORKING، لا تكتفِ بمعرفة الحالة، بل استفد من كائن me الذي يعود في الاستجابة:

  • التوثيق: خزن pushName والرقم المرتبط في قاعدة بياناتك لعرض اسم الحساب المتصل في واجهتك (مثلاً: "متصل بحساب: محمد أحمد").
  • التنبيهات: استلهم من نوع الجهاز (Platform) لتخصيص نصائح الأداء لعملائك.

أفضل الممارسات التقنية

🛡️ تجنب "عنق الزجاجة" (Rate Limiting)

على الرغم من أن نظامنا سريع جداً، إلا أن استدعاء /session/info مئات المرات في الثانية لنفس الجلسة أمر غير محبذ.

  • القاعدة الذهبية: استفسر كل 3-5 ثوانٍ أثناء عمليات الربط، ومرة كل دقيقة (أو اعتمد كلياً على الويب هوك) لمراقبة الصحة العامة للجلسات المستقرة.

💡 بناء "لوحة مراقبة الصحة" (Health Dashboard)

استخدم هذه النقطة لبناء صفحة "حالة النظام" لشركتك. يمكنك رصد الجلسات التي انتقلت لحالة STOPPED بشكل مفاجئ وإعادة تشغيلها برمجياً لضمان عدم ضياع أي رسائل واردة من عملائك.


استكشاف الأخطاء وإصلاحها (Troubleshooting)

لماذا يعود حقل الـ QR فارغاً؟

حقل qr يمتلئ فقط عندما تكون الحالة SCAN_QR_CODE. في أي حالة أخرى (مثل STARTING أو WORKING) سيكون الحقل غير موجود أو قيمته null. تأكد دائماً من فحص status أولاً.

التأخير في تحديث الحالة

في حالات نادرة، قد يتأخر المحرك في تحديث حالته من STARTING إلى WORKING. إذا استغرق الأمر أكثر من 45 ثانية، فإننا ننصح بإعادة تشغيل الجلسة لضمان عدم وجود عملية عالقة.


ملخص الوظائف:

  • التحقق من جاهزية الإرسال.
  • الحصول على رمز QR للربط.
  • معرفة بيانات الحساب المرتبط حالياً.
  • مراقبة استهلاك الموارد وحالة المحرك.

البارامترات

قم بتهيئة المعاملات المطلوبة للتفاعل مع نقطة النهاية هذه. جميع وسائط الاستعلام والبيانات مدرجة أدناه مع تفاصيلها.

محتوى الطلب

يرسل كـ JSON
string

معرف النسخة الفريد

مثال:
string

مفتاح الوصول الخاص بـ API

مثال:

أمثلة الكود

استخدم أمثلة الكود الجاهزة لدمج واجهة برمجة التطبيقات (API) في مشروعك بسرعة وكفاءة. اختر لغة البرمجة والمكتبة التي تفضلها.

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/session/info";
3const params = new URLSearchParams({
4 "instance_id": "Your_Instance_ID",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7
8
9fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
10 method: "POST",
11 headers: { "Content-Type": "application/json" },
12
13})
14 .then(async (response) => {
15 if (response.ok) {
16 const data = await response.json();
17 console.log("Success:", data);
18 return data;
19 }
20
21 // Error Handling
22 if (response.status === 400) {
23 console.error("Error 400: طلب غير صالح - معاملات مطلوبة مفقودة");
24 }
25 if (response.status === 400) {
26 console.error("Error 400: طلب غير صالح (تنسيق XML)");
27 }
28 if (response.status === 400) {
29 console.error("Error 400: طلب غير صالح (نص عادي)");
30 }
31 if (response.status === 401) {
32 console.error("Error 401: غير مصرح - مفتاح الوصول غير صالح أو مفقود");
33 }
34 if (response.status === 401) {
35 console.error("Error 401: غير مصرح (تنسيق XML)");
36 }
37 if (response.status === 404) {
38 console.error("Error 404: غير موجود - الجلسة غير موجودة");
39 }
40 if (response.status === 404) {
41 console.error("Error 404: غير موجود (تنسيق XML)");
42 }
43 if (response.status === 500) {
44 console.error("Error 500: خطأ في الخادم الداخلي - فشل غير متوقع");
45 }
46 if (response.status === 500) {
47 console.error("Error 500: خطأ في الخادم الداخلي (HTML)");
48 }
49 if (response.status === 502) {
50 console.error("Error 502: بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي");
51 }
52 if (response.status === 502) {
53 console.error("Error 502: بوابة غير صالحة (تنسيق XML)");
54 }
55
56 const errorText = await response.text();
57 console.error(`Error ${response.status}: ${errorText}`);
58 })
59 .catch((error) => console.error("Network Error:", error));
عينات تفاعلية
Ln 59, Col 1javascript

الردود المتوقعة

استكشف كافة الردود والنتائج المحتملة من الخادم. قمنا بتوثيق كل كود حالة (Status Code) مع أمثلة للبيانات لتسهيل معالجة الأخطاء والنجاح.

Success - Session Info
النوع:
application/json
string *
string *
object *
object *

Example

{
"name": "wawp-84729105",
"status": "WORKING",
"config": {
  "webhooks": {
    },
  "proxy": null
  },
"me": {
  "id": "201012345678@c.us",
  "pushName": "John Doe"
  }
}
طلب غير صالح - معاملات مطلوبة مفقودة
غير مصرح - مفتاح الوصول غير صالح أو مفقود
غير موجود - الجلسة غير موجودة
خطأ في الخادم الداخلي - فشل غير متوقع
بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي
الموضوع السابقحذف الجلسة
الموضوع التاليعن بيانات الواتساب

Command Palette

Search for a command to run...