الحصول على صورة المحادثة

استرجع رابط صورة الملف الشخصي لمحادثة (فرد أو مجموعة).

GET
https://api.wawp.net/v2/chats/picture?access_token=YOUR_ACCESS_TOKEN&chatId=201234567890%40c.us&instance_id=123456789&refresh=true

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

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

تسجيل الدخول
اختبار /v2/chats/picture
GET
GET

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

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

توصيات

  • استخدم 'contacts-profile-picture' لجهات الاتصال الفردية.

  • تعامل مع أخطاء 404/401 بمرونة في واجهة المستخدم الخاصة بك.

صورة ملف المحادثة

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

الهوية البصرية: إتقان استرجاع صورة ملف المحادثة

في بيئة المراسلة المهنية، يعد السياق البصري مفتاحاً لتقليل إجهاد الوكيل وتحسين دقة الاستجابة. تسمح لك نقطة النهاية /v2/chats/picture بجلب أحدث صورة ملف شخصي عالية الدقة لأي فرد (@c.us) أو مجموعة (@g.us). يضمن ذلك أن يبدو نظام CRM أو لوحة التحكم الخاصة بك متكاملاً ومحدثاً مع تواجد المستخدم على واتساب.


🏗️ دورة حياة جلب صورة الملف الشخصي

عندما تستدعي هذه النقطة، يتعامل محرك Wawp مع عملية معقدة متعددة الخطوات:

  1. التحقق من التخزين المؤقت: يتحقق المحرك من التخزين المؤقت المحلي لمدة 24 ساعة بحثاً عن رابط موجود.
  2. فحص الخصوصية: يستعلم المحرك من شبكة واتساب. إذا كانت إعدادات خصوصية المستخدم (مثل "صورة الملف الشخصي: جهات اتصالي") تمنع مثيلك من رؤية الصورة، فستعيد الشبكة استجابة null.
  3. الاستحواذ عالي الدقة: إذا كانت الصورة متاحة، يحاول Wawp جلب أعلى دقة توفرها الشبكة.

🚀 الأداء وإدارة التخزين المؤقت

للحفاظ على واجهة مستخدم سريعة الاستجابة مع احترام حدود معدل طلبات واتساب، نقوم بتنفيذ تخزين مؤقت ذكي لمدة 24 ساعة.

1. علامة التجاوز (refresh)

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

🛡️ أفضل الممارسات لمزامنة الهوية

  • المجموعات مقابل الأفراد: عادة ما تكون أيقونات المجموعات أسهل في الجلب لأنها تستخدم رؤية المجموعة العمومية. صور الأفراد أكثر عرضة للإخفاء بسبب إعدادات الخصوصية.
  • صلاحية CDN: الروابط التي يتم إرجاعها غالباً ما تستضيفها CDNs واتساب ولها عمر محدود (TTL). لا تقم بتخزين هذه الروابط بشكل دائم في قاعدة بياناتك. بدلاً من ذلك، قم بتخزين بيانات الصورة الثنائية أو أعد جلب الرابط في كل مرة تبدأ فيها جلسة المستخدم.

البارامترات

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

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

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

WhatsApp Instance ID

مثال:
string

API Access Token

مثال:
string

Target Chat ID (phone@c.us or group@g.us)

مثال:
boolean

فرض التحديث (تجاوز ذاكرة التخزين المؤقت لمدة 24 ساعة)

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/chats/picture";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "YOUR_ACCESS_TOKEN",
6 "chatId": "201234567890@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 === 400) {
25 console.error("Error 400: طلب غير صالح - معاملات مطلوبة مفقودة");
26 }
27 if (response.status === 400) {
28 console.error("Error 400: طلب غير صالح (تنسيق XML)");
29 }
30 if (response.status === 400) {
31 console.error("Error 400: طلب غير صالح (نص عادي)");
32 }
33 if (response.status === 401) {
34 console.error("Error 401: غير مصرح - مفتاح الوصول غير صالح أو مفقود");
35 }
36 if (response.status === 401) {
37 console.error("Error 401: غير مصرح (تنسيق XML)");
38 }
39 if (response.status === 404) {
40 console.error("Error 404: غير موجود - الجلسة غير موجودة");
41 }
42 if (response.status === 404) {
43 console.error("Error 404: غير موجود (تنسيق XML)");
44 }
45 if (response.status === 500) {
46 console.error("Error 500: خطأ في الخادم الداخلي - فشل غير متوقع");
47 }
48 if (response.status === 500) {
49 console.error("Error 500: خطأ في الخادم الداخلي (HTML)");
50 }
51 if (response.status === 502) {
52 console.error("Error 502: بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي");
53 }
54 if (response.status === 502) {
55 console.error("Error 502: بوابة غير صالحة (تنسيق XML)");
56 }
57
58 const errorText = await response.text();
59 console.error(`Error ${response.status}: ${errorText}`);
60 })
61 .catch((error) => console.error("Network Error:", error));
عينات تفاعلية
Ln 61, Col 1javascript

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

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

ناجح - تم إكمال الطلب بنجاح
النوع:
application/json
boolean *
string *

Example

{
"success": true,
"message": "Operation completed successfully"
}
طلب غير صالح - معاملات مطلوبة مفقودة
غير مصرح - مفتاح الوصول غير صالح أو مفقود
غير موجود - الجلسة غير موجودة
خطأ في الخادم الداخلي - فشل غير متوقع
بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي
الموضوع السابقالحصول على نظرة عامة للمحادثات
الموضوع التاليالحصول على الرسائل في المحادثة

Command Palette

Search for a command to run...