عن بيانات الواتساب

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

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

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

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

تسجيل الدخول
اختبار /v2/session/me
GET
GET

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

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

توصيات

  • قم بتخزين هذه الاستجابة محلياً لعرض 'متصل بـ +201XXXX' في واجهتك دون استدعاء API بشكل متكرر.

  • تحقق من صحة 'id' المرجع مقابل سجلات قاعدة البيانات لضمان أن المستخدم قام بمسح الرقم الصحيح.

مرآة الهوية: الدليل الشامل لنقطة النهاية /v2/session/me

تعد نقطة النهاية /v2/session/me نافذتك المباشرة على "الشخصية الرقمية" المرتبطة حالياً بنسخة Wawp الخاصة بك. بينما تخبرك /v2/session/info عن الحالة الصحية والتقنية للمحرك، توفر me تفاصيل الهوية لحساب واتساب الفعلي الذي تم مسحه. إتقان هذه النقطة ضروري لبناء لوحات تحكم مخصصة والتحقق من نوايا المستخدمين.

لفهم كامل لحالات الجلسة، راجع دليل دورة حياة الجلسة.


تشريح الهوية الرقمية

عند استدعاء هذه النقطة بنجاح، ستحصل على كائن يحتوي على الحقول المحورية التالية:

1. المعرف الفريد (JID - id)

هذا هو حجر الزاوية في نظام واتساب. لا يعود فقط كرقم هاتف، بل كمعرف شامل (مثلاً 966500000000@c.us).

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

2. الاسم التعريفي (Push Name - pushname)

هو الاسم الذي وضعه المستخدم في إعدادات واتساب الخاصة به.

  • أفضل استغلال: استلهم منه لتحية المستخدم في لوحة التحكم الخاصة بك (مثلاً: "أهلاً بك يا محمد، حسابك متصل الآن"). هذا يضفي لمسة احترافية وشخصية على تطبيقك.

3. المنصة الأم (Platform)

يوضح لك هذا الحقل ما إذا كان الحساب يعمل من جهاز android، ios packaging أو web.

  • رؤية الأداء: تساعدك هذه المعلومة في فهم قيود أو ميزات بعض المنصات، حيث توجد اختلافات طفيفة أحياناً في سرعة مزامنة البيانات بين أندرويد وآيفون.

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

🛡️ التحقق من "الهوية المقصودة"

في أنظمة الشركات الكبيرة، قد يخطئ الموظف ويمسح رمز QR برقم هاتفه الشخصي بدلاً من رقم العمل.

  • الحل الذكي: بمجرد نجاح الاتصال، استدعِ /v2/session/me وقارن الرقم العائد بالرقم الذي تتوقع ربطه في نظامك. إذا وجد تعارض، يمكنك إخطار المستخدم فوراً أو إنهاء الجلسة آلياً لمنع التداخل.

📊 تقارير "مركز الاتصال" (Call Center)

إذا كنت تدير عدة أرقام واتساب في لوحة واحدة، استخدم بيانات me لعرض قائمة بالأرقام المتصلة الآن مع أسمائها وصورها، مما يسهل على مدير النظام توزيع المهام بين الأرقام المختلفة.


هندسة التكامل وأفضل الممارسات

⚡ التخزين المؤقت (Caching Power)

بيانات الحساب الشخصي (الاسم، الرقم، نوع الجهاز) لا تتغير بشكل متكرر.

  • النصيحة الذهبية: لا تستدعِ /v2/session/me مع كل عملية إرسال رسالة. بدلاً من ذلك، استدعها "مرة واحدة" عند تحول حالة الجلسة إلى WORKING، وخزن البيانات في ذاكرة التخزين المؤقت (Cache) أو قاعدة البيانات الخاصة بك.

📸 مزامنة الصورة الشخصية

يمكنك دمج استدعاء me مع نقطة النهاية الخاصة بصورة الملف الشخصي لتكوين "بروفايل" كامل لموظفك أو عميلك داخل واجهتك البرمجية.


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

الخطأ 404: "Session not connected"

هذا هو الخطأ الأكثر شيوعاً. لا يمكنك الحصول على بيانات "Me" وجلسة الواتساب غير متصلة فعلياً بالخوادم.

  • الحل: تأكد دائماً من أن حالة الجلسة (عبر /v2/session/info) هي WORKING قبل محاولة جلب بيانات الهوية.

لماذا يظهر الـ pushname كـ "null"؟

في حالات نادرة جداً، قد لا يكون المستخدم قد عين اسماً شخصياً في إعدادات واتساب (رغم أن واتساب يفرض ذلك الآن). في هذه الحالة، اعتمد على رقم الهاتف (User ID) كمعرف بديل في واجهتك.


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

  • التحقق من الرقم المرتبط فعلياً بالجلسة.
  • الحصول على الاسم العام للمستخدم والمستخدم في التحيات آلياً.
  • تحديد نوع النظام المشغل للواتساب.
  • بناء واجهات مستخدم مخصصة تعكس هوية الحساب المرتبط.

البارامترات

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

بارامترات الرابط

جزء من مسار الرابط أو استعلام
string

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

مثال:
string

مفتاح الوصول

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/session/me";
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: "GET",
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 - Profile Data
النوع:
application/json
string *
string *
string *
object *

Example

{
"id": "201012345678@c.us",
"pushName": "John Doe",
"platform": "android",
"me": {
  "id": "201012345678@c.us",
  "name": "John Doe"
  }
}
طلب غير صالح - معاملات مطلوبة مفقودة
غير مصرح - مفتاح الوصول غير صالح أو مفقود
غير موجود - الجلسة غير موجودة
خطأ في الخادم الداخلي - فشل غير متوقع
بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي
الموضوع السابقمعلومات الجلسة
الموضوع التاليعن مصادقة تسجيل الدخول

Command Palette

Search for a command to run...