جلب صورة الملف الشخصي

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

GET
https://api.wawp.net/v2/contacts/profile-picture?access_token=123456789&contactId=123456789%40c.us&instance_id=123456789&refresh=true

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

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

تسجيل الدخول
اختبار /v2/contacts/profile-picture
GET
GET

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

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

توصيات

  • لا تستخدم صور الملف الشخصي للتحقق من الهوية.

  • اعرض أفاتار عام إذا فشل الجلب.

وجه المستخدم: صور الملف الشخصي

تسمح لك نقطة النهاية /v2/contacts/profile-picture باسترداد الصورة الشخصية بدقة عالية لأي مستخدم واتساب أو مجموعة أو نشاط تجاري.


🖼️ منطق الصور

عندما تطلب صورة، لا يرسل واتساب البيانات الثنائية مباشرة، بل يقدم رابطاً موقعاً (Signed URL) مستضافاً على شبكة توصيل المحتوى (CDN) الخاصة بهم.

  • صلاحية الرابط: هذه الروابط مؤقتة. تنتهي صلاحيتها بعد فترة معينة (عادةً 24-48 ساعة) أو إذا قام المستخدم بتغيير صورته.
  • أفضل ممارسة: لا تقم بتخزين سلسلة الرابط فقط في قاعدة بياناتك. إما أن تعيد جلب الرابط عند الحاجة، أو قم بتحميل الصورة وتخزينها في خادمك الخاص.

🛡️ الخصوصية والصور "المفقودة"

غالباً ما ستحصل على خطأ 404 Not Found أو رابط فارغ.

السبب 1: إعدادات الخصوصية (الأكثر شيوعاً)

قام المستخدم بضبط "صورة الملف الشخصي" على "جهات اتصالي" أو "لا أحد".

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

السبب 2: لا توجد صورة

المستخدم لم يقم ببساطة بوضع صورة شخصية.


🔄 التخزين المؤقت والتحديث

عمليات الجلب مكلفة برمجياً.

  • السلوك الافتراضي: تقوم الواجهة بتخزين رابط الصورة مؤقتاً لمدة 24 ساعة لتسريع الطلبات اللاحقة.
  • فرض التحديث: إذا شككت في أن المستخدم غير صورته للتو، مرر refresh=true لتجاوز الذاكرة المؤقتة.

📸 الدقة والجودة

  • المعيار: تحاول الواجهة جلب حجم "المعاينة" (حوالي 96x96 أو 640x640 حسب التوفر).
  • المجمواعات: تعمل أيقونات المجموعات بنفس الطريقة؛ المعرف سيكون 123456@g.us.

البارامترات

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

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

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

Your unique WhatsApp Instance ID

مثال:
string

Your API Access Token

مثال:
string

المعرف الفريد لجهة الاتصال

مثال:
boolean

ما إذا كان سيتم تجاوز الذاكرة المؤقتة وتحديث الصورة

مثال:

أمثلة الكود

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

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

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

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

Profile picture retrieved
application/json
string *
string *

Example

{
"id": "123456789@c.us",
"url": "https://pps.whatsapp.net/v/t61.24694-24/..."
}
طلب غير صالح - تنسيق المعامل غير صالح
غير مصرح - مفتاح الوصول غير صالح أو مفقود
خطأ في الخادم الداخلي - فشل غير متوقع
الموضوع السابقالتحقق من رقم على واتساب
الموضوع التاليإنشاء/تحديث جهة اتصال

Command Palette

Search for a command to run...