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

ضع علامة على محادثة بشكل صريح بأنها تحتوي على رسائل غير مقروءة.

POST
https://api.wawp.net/v2/chats/unread?access_token=YOUR_ACCESS_TOKEN&chatId=201234567890%40c.us&instance_id=123456789

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

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

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

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

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

توصيات

  • Include an 'Unread' filter in your dashboard to help agents find flagged conversations instantly.

  • Combined with Archiving, this can help create a 'Snooze' feature for support tickets.

  • Use this endpoint to restore visibility to conversations that were accidentally opened.

علم التذكير: إتقان حالة "غير المقروء"

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


🏗️ التأثير التقني لـ "وضع علامة كغير مقروء"

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

  1. تبديل الحالة: يتم ضبط unreadCount لمعرف chatId المحدد إلى حالة "مُشار إليها".
  2. تسوية العرض: في واتساب ويب والموبايل، تظهر نقطة خضراء/زرقاء بجوار المحادثة.
  3. لا يؤثر على علامات الصح: من المهم فهم أن هذا الإجراء لا يحول علامات الصح الزرقاء لدى المرسل إلى اللون الرمادي. يظل المرسل يرى الرسالة كمقروءة إذا تم تأكيدها مسبقاً.

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

1. "علم التصعيد"

في سيناريو مكتب المساعدة، قد يفتح الوكيل محادثة، ويدرك أنها تنتمي لقسم آخر، ويحتاج لنقلها.

  • سير العمل: ينقر الوكيل على "نقل"، ويقوم نظامك تلقائياً باستدعاء /v2/chats/unread. يضمن هذا أن يرى القسم الجديد المحادثة كعنصر "جديد/عاجل".

2. حلقة "التذكير"

إذا كان البوت يتعامل مع طلب ولكنه يحتاج إلى إنسان للتحقق من البيانات النهائية:

  • أفضل الممارسات: بعد انتهاء البوت من عمله، اجعله يستدعي /v2/chats/unread. هذا يبقي المحادثة في أعلى قائمة "يجب قراءتها" للمشرف البشري.

🛡️ أفضل الممارسات لفرز صندوق الوارد

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

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

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

البارامترات

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

محتوى الطلب

يرسل كـ 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).

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/chats/unread";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7const body = {
8 "chatId": "201234567890@c.us"
9};
10
11fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
12 method: "POST",
13 headers: { "Content-Type": "application/json" },
14 body: JSON.stringify(body)
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...