جلب جميع جهات الاتصال

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

GET
https://api.wawp.net/v2/contacts/all?access_token=123456789&instance_id=123456789&limit=50&offset=0&sortBy=name&sortOrder=ASC

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

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

تسجيل الدخول
اختبار /v2/contacts/all
GET
GET

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

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

توصيات

  • اتصل بهذا فقط عند بدء التشغيل لتمهيد قاعدة بياناتك المحلية.

  • قم بتصفية جهات الاتصال التي ليس لديها حسابات واتساب (isWAContact: false).

البحث عن الذهب: استرجاع دفتر عناوينك

نقطة النهاية /v2/contacts/all هي الأداة الأقوى في واجهة جهات الاتصال. فهي تقوم بتحميل وتصفية وتقسيم قائمة الكيانات التي يعرفها حسابك على واتساب.


🏗️ ماذا تعني "الكل"؟

عندما تطلب "جميع جهات الاتصال"، لا يعيد واتساب فقط دفتر العناوين المحفوظ، بل مزيجاً من:

  1. جهات الاتصال المحفوظة: الأشخاص في دفتر عناوين هاتفك (مع أسمائهم).
  2. تفاعلات غير محفوظة: الأشخاص الذين راسلوك ولكن لم تقم بحفظهم رسمياً.
  3. هويات الأعمال: حسابات الأعمال الرسمية التي تفاعلت معها.

المعرفات المختلطة

سترى نوعين من المعرفات في الاستجابة:

  • @c.us (قياسي): رقم هاتف عادي.
  • @lid (معرف بحث): معرف يحافظ على الخصوصية تستخدمه ميزات واتساب الحديثة.
    • نصيحة: إذا رأيت @lid، فخزنه بجانب @c.us إذا أمكن، ولكن اجعل واجهتك تعتمد أساساً على رقم الهاتف (@c.us) لسهولة القراءة البشرية.

⚡ التقسيم (Pagination) والأداء

إذا كان البوت الخاص بك يعمل لسنوات، فقد تحتوي هذه القائمة على 50,000 إدخال.

  • الحد الافتراضي: تعيد الواجهة مجموعة صغيرة (مثلاً 50 أو 100).
  • الحد الأقصى: يمكنك طلب ما يصل إلى 1000 جهة اتصال في كل استدعاء، لكن هذا يزيد من وقت الاستجابة.

🛡️ أفضل الممارسات

1. لا تكرر الاستدعاء دون داعٍ

  • خطأ: استدعاء /v2/contacts/all كل 5 دقائق "للاحتياط".
  • لماذا: هو إجراء مكلف برمجياً.
  • صح: استدعِها مرة واحدة عند التشغيل لتعبئة الذاكرة المؤقتة (Cache)، ثم استمع لأحداث التحديث (contact.update) لتحديث حالتك المحلية تدريجياً.

2. مطابقة الأسماء

  • الهدف: معرفة اسم صاحب الرقم +12345.
  • الطريقة: لا تستدعِ /v2/contacts/all وتبحث في القائمة الكبيرة؛ فهذا بطيئ.
  • الطريقة: استدعِ /v2/contacts/+12345@c.us مباشرة؛ فهو أسرع بكثير. استخدم قائمة "الكل" فقط لبناء "دليل" كامل.

البارامترات

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

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

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

Your unique WhatsApp Instance ID

مثال:
string

Your API Access Token

مثال:
string

أقصى عدد من جهات الاتصال للإرجاع (1-1000)

مثال:
string

عدد جهات الاتصال التي سيتم تخطيها

مثال:
string

الحقل المراد الفرز حسبه (مثلاً name)

مثال:
string

ترتيب الفرز (ASC أو DESC)

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/contacts/all";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "123456789",
6 "limit": "50",
7 "offset": "0",
8 "sortBy": "name",
9 "sortOrder": "ASC"
10}).toString();
11
12
13fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
14 method: "GET",
15 headers: { "Content-Type": "application/json" },
16
17})
18 .then(async (response) => {
19 if (response.ok) {
20 const data = await response.json();
21 console.log("Success:", data);
22 return data;
23 }
24
25 // Error Handling
26 if (response.status === 401) {
27 console.error("Error 401: غير مصرح - مفتاح الوصول غير صالح أو مفقود");
28 }
29 if (response.status === 400) {
30 console.error("Error 400: طلب غير صالح - تنسيق المعامل غير صالح");
31 }
32 if (response.status === 500) {
33 console.error("Error 500: خطأ في الخادم الداخلي - فشل غير متوقع");
34 }
35
36 const errorText = await response.text();
37 console.error(`Error ${response.status}: ${errorText}`);
38 })
39 .catch((error) => console.error("Network Error:", error));
عينات تفاعلية
Ln 39, Col 1javascript

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

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

List of contacts retrieved successfully
application/json
object *
object *

Example

{
"0": {
  "id": "1234567890@c.us",
  "name": "John Doe",
  "pushname": "John"
  },
"1": {
  "id": "0987654321@lid",
  "name": "Business Contact",
  "pushname": "Business"
  }
}
طلب غير صالح - تنسيق المعامل غير صالح
غير مصرح - مفتاح الوصول غير صالح أو مفقود
خطأ في الخادم الداخلي - فشل غير متوقع
الموضوع السابقإدارة جهات الاتصال
الموضوع التاليجلب معلومات جهة الاتصال

Command Palette

Search for a command to run...