تسجيل الخروج من الجلسة

تسجيل الخروج من جلسة واتساب نشطة.

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

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

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

تسجيل الدخول
اختبار /v2/session/logout
POSTGET

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

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

توصيات

  • استخدم نقطة النهاية هذه للسماح للمستخدمين بتغيير الحسابات بسهولة.

  • أكد دائماً مع المستخدم قبل تسجيل الخروج، حيث سيحتاجون لوجود الهاتف فعلياً لإعادة الاتصال.

البداية من جديد: الدليل الشامل لنقطة النهاية /v2/session/logout

تعد نقطة النهاية /v2/session/logout مكوناً حيوياً في إدارة دورة حياة الجلسة. هي ليست مجرد زر "قطع اتصال"؛ بل هي أمر متخصص يتواصل مباشرة مع خوادم واتساب الرسمية للإشارة إلى فك ارتباط (Unlinking) نظيف للجهاز. إتقان هذه النقطة هو المفتاح لبناء منصات أتمتة آمنة، متعددة الحسابات، وسهلة الاستخدام.


كيف تتم عملية تسجيل الخروج تقنياً؟

عندما تقوم باستدعاء أمر تسجيل الخروج، يقوم نظام Wawp بتنفيذ سلسلة من الخطوات المنسقة:

  1. إشارة فك الارتباط: يرسل المحرك رسالة "فك ارتباط" محددة إلى خادم واتساب. يضمن هذا إزالة الجهاز فوراً من قائمة "الأجهزة المرتبطة" (Linked Devices) في هاتف المستخدم المحمول.
  2. تطهير الحالة: تقوم الحاوية المعزولة بمسح مفاتيح التشفير ورموز الجلسة الحالية من ذاكرتها النشطة، مما يضمن عدم استمرار أي وصول غير مصرح به.
  3. الانتقال لغرض المسح: لا يتم حذف الجلسة. بدلاً من ذلك، تنتقل فوراً من حالة WORKING إلى SCAN_QR_CODE، مما يعيد الجلسة إلى نقطة الصفر وجعلها جاهزة لربط جديد.
  4. الاحتفاظ بالإعدادات: بشكل هام، تظل جميع إعداداتك على مستوى النسخة (مثل روابط الويب هوك أو إعدادات البروكسي) سليمة. يتم فقط إزالة هوية الواتساب.

أفضل الممارسات الاستراتيجية

1. نمط "تبديل الحسابات"

تسجيل الخروج هو الطريقة الصحيحة للتعامل مع المواقف التي يريد فيها المستخدم تغيير رقم الواتساب المرتبط بالنسخة.

  • سير العمل: لا تقم بحذف النسخة وإنشاء واحدة جديدة. ببساطة استدعِ logout. هذا يحافظ على instance_id وهيكل الروابط البرمجية في نظامك الخلفي مع السماح للمستخدم بمسح هاتف مختلف.

2. الأمن وخصوصية البيانات

في أي منصة SaaS، يعتبر الأمن أمراً بالغ الأهمية.

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

3. التعامل مع قطع الاتصال المفاجئ

يمكن للمستخدمين تسجيل الخروج من جلستك يدوياً مباشرة من تطبيق واتساب على هواتفهم (إعدادات الأجهزة المرتبطة).

  • الاستراتيجية: يجب أن يستمع تطبيقك لحدث DISCONNECTED أو LOGOUT عبر الويب هوك الخاص بالحالة. عندما يحدث هذا، قم بتحديث واجهتك لتظهر حالة "غير متصل" واطلب من المستخدم إعادة مسح رمز QR.

حالات استخدام معيارية

أ- لوحات توزيع المهام بين الفرق

إذا كنت تدير عملاً حيث يستخدم وكلاء مختلفون نفس رقم الواتساب في أوقات مختلفة، يمكنك استخدام logout لضمان إنهاء جلسة الوكيل السابق تماماً قبل أن يتسلم الوكيل التالي العمل.

ب- استكشاف الأخطاء ذاتياً

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


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

تأخر المزامنة

أحياناً، قد يستمر تطبيق واتساب على الهاتف في إظهار "الجهاز المرتبط" كنشط لبضع ثوانٍ بعد استدعاء API. هذا يرجع إلى تأخر المزامنة الداخلي في واتساب. اطمئن، لقد قامت API بقطع الرابط، وستقوم واجهة الهاتف بتحديث نفسها في النهاية.

تسجيل الخروج من جلسة متوقفة

لا يمكنك تنفيذ تسجيل خروج نظيف إذا كان المحرك في حالة STOPPED.

  • الحل: يجب أن يكون المحرك في حالة STARTING أو WORKING لإرسال إشارة تسجيل الخروج لواتساب. إذا كانت الجلسة متوقفة، يجب استدعاء /v2/session/start أولاً، أو القيام بعملية /v2/session/delete إذا كنت ترغب في مسح كل شيء.

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

  • قطع الرابط الآمن مع تطبيق واتساب على الهاتف.
  • نقل النسخة إلى حالة جاهزة لمسح رمز QR جديد.
  • ضمان خصوصية البيانات بتطهير مفاتيح التشفير من الذاكرة.
  • توفير آلية "البدء من جديد" دون فقدان إعدادات النسخة.

البارامترات

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

محتوى الطلب

يرسل كـ JSON
string

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

مثال:
string

مفتاح الوصول

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/session/logout";
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 - Logged Out
النوع:
application/json
string *
string *
string *

Example

{
"name": "wawp-84729105",
"status": "SCAN_QR_CODE",
"instance_id": "3EB0BCB2E3D4"
}
طلب غير صالح - معاملات مطلوبة مفقودة
غير مصرح - مفتاح الوصول غير صالح أو مفقود
غير موجود - الجلسة غير موجودة
خطأ في الخادم الداخلي - فشل غير متوقع
بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي
الموضوع السابقإعادة تشغيل الجلسة
الموضوع التاليحذف الجلسة

Command Palette

Search for a command to run...