وضع علامة كمقروء

وضع علامة على الرسائل غير المقروءة كمقروءة لمحادثة معينة.

POST
https://api.wawp.net/v2/chats/read?access_token=YOUR_ACCESS_TOKEN&chatId=201234567890%40c.us&days=1&instance_id=123456789&messages=10

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

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

تسجيل الدخول
اختبار /v2/chats/read
POST
POST

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

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

توصيات

  • أضف تأخيرات عشوائية بين الرسائل لمحاكاة السلوك البشري.

  • تحقق من أرقام الهواتف قبل الإرسال لضمان التسليم.

فن العلامة الزرقاء: إتقان حالات القراءة

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


🏗️ سير العمل التقني لحدث القراءة

عندما تضع علامة على محادثة كمقروءة عبر Wawp، يقوم المحرك بـ "مصافحة إقرار" متخصصة:

  1. الاختيار: بناءً على بارامترات messages أو days، يحدد المحرك مجموعة الرسائل غير المقروءة في chatId المحدد.
  2. بث الشبكة: يتم إرسال حزمة "تمت الرؤية" عبر WhatsApp WebSocket.
  3. مزامنة واجهة المستخدم: ينتشر هذا الحدث عبر جميع الأجهزة الأخرى المرتبطة بالحساب (واتساب ويب، الهاتف، سطح المكتب)، مما يؤدي فوراً إلى مسح شارات "غير المقروء" وتحويل علامات الصح لدى المرسل إلى اللون الأزرق.

🚀 أنماط التنفيذ الاستراتيجي

1. مزامنة "الوكيل البشري"

إذا كنت تبني لوحة تحكم مخصصة للوكلاء:

  • المحفز: رصد متى ينقر الوكيل على سلسلة محادثات لفتحها.
  • الإجراء: استدعاء /v2/chats/read فوراً لهذا المعرف JID. يرسل هذا إشارة للعميل بأن "شخصاً ما ينظر إلى رسالتك"، مما يحسن بشكل كبير الجودة المتصورة للخدمة.

2. نهج "البوت أولاً"

إذا كان بوت الذكاء الاصطناعي يتعامل مع الفرز الأولي:

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

🛡️ أفضل الممارسات لإدارة تجربة المستخدم

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

🧩 حالة استخدام متقدمة: منطق إكمال الجلسة

عندما يقوم وكيل بحل تذكرة دعم:

  1. استدعِ /v2/chats/read للتأكد من وضع علامة "تمت الرؤية" على كل شيء.
  2. أرسل رسالة إغلاق "شكراً لك".
  3. أرشفة المحادثة.

⚠️ اعتبارات هامة

  • إعدادات الخصوصية: إذا قام مرسل الرسالة بإيقاف "إيصالات القراءة" في إعدادات واتساب الخاصة به، فلن تظهر علاماتك الزرقاء له، ولكن سيتم مسح عدد الرسائل غير المقروءة داخل Wawp.
  • حالة المحرك: تتطلب هذه النقطة أن تكون الجلسة في حالة WORKING.
  • عدم القابلية للتراجع: بمجرد وضع علامة على الرسالة كمقروءة، لا يمكن جعلها "غير مقروءة" (إعادتها للون الرمادي) على جهاز المرسل.

البارامترات

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

محتوى الطلب

يرسل كـ JSON
string

WhatsApp Instance ID

مثال:
string

API Access Token

مثال:
string

Recipient's WhatsApp ID (JID). Supports Individuals (@c.us), Groups (@g.us), and Newsletters (@newsletter).

مثال:
number

عدد أحدث الرسائل المراد قراءتها

مثال:
number

عدد أحدث الأيام المراد قراءتها

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/chats/read";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7const body = {
8 "chatId": "201234567890@c.us",
9 "messages": "10",
10 "days": "1"
11};
12
13fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
14 method: "POST",
15 headers: { "Content-Type": "application/json" },
16 body: JSON.stringify(body)
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 === 400) {
27 console.error("Error 400: طلب غير صالح - معاملات مطلوبة مفقودة");
28 }
29 if (response.status === 400) {
30 console.error("Error 400: طلب غير صالح (تنسيق XML)");
31 }
32 if (response.status === 400) {
33 console.error("Error 400: طلب غير صالح (نص عادي)");
34 }
35 if (response.status === 401) {
36 console.error("Error 401: غير مصرح - مفتاح الوصول غير صالح أو مفقود");
37 }
38 if (response.status === 401) {
39 console.error("Error 401: غير مصرح (تنسيق XML)");
40 }
41 if (response.status === 404) {
42 console.error("Error 404: غير موجود - الجلسة غير موجودة");
43 }
44 if (response.status === 404) {
45 console.error("Error 404: غير موجود (تنسيق XML)");
46 }
47 if (response.status === 500) {
48 console.error("Error 500: خطأ في الخادم الداخلي - فشل غير متوقع");
49 }
50 if (response.status === 500) {
51 console.error("Error 500: خطأ في الخادم الداخلي (HTML)");
52 }
53 if (response.status === 502) {
54 console.error("Error 502: بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي");
55 }
56 if (response.status === 502) {
57 console.error("Error 502: بوابة غير صالحة (تنسيق XML)");
58 }
59
60 const errorText = await response.text();
61 console.error(`Error ${response.status}: ${errorText}`);
62 })
63 .catch((error) => console.error("Network Error:", error));
عينات تفاعلية
Ln 63, Col 1javascript

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

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

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

Example

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

Command Palette

Search for a command to run...