تعيين تواجد الجلسة

يحدد التواجد للجلسة الحالية (متصل/غير متصل).

POST
https://api.wawp.net/v2/presence?access_token=YOUR_ACCESS_TOKEN&instance_id=123456789&presence=online

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

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

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

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

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

توصيات

  • لا تقم بتبديل هذا بسرعة لتجنب الإبلاغ عنك.

  • طابق حضورك مع ساعات عملك.

الظهور للآخرين: التحكم في هويتك الافتراضية

تمنحك نقطة النهاية /v2/presence تحكماً برمجياً في مؤشر "متصل" الذي يظهر تحت اسمك في محادثات واتساب. على الرغم من بساطته، إلا أن هذا المفتاح أداة قوية لإدارة توقعات المستخدمين وثقتهم.


🎭 الحالتان

يسمح لك هذا التطبيق بفرض جلستك في إحدى حالتين:

1. available (متصل)

  • بصرياً: يرى المستخدمون "متصل" تحت اسمك.
  • المعنى: "أنا هنا، التطبيق مفتوح، وأنا مستعد للرد."
  • سلوك النظام: يحافظ هاتفك/جلستك على اتصال socket نشط. تعطي خادومات واتساب الأولوية لتسليم الرسائل إليك فوراً.

2. unavailable (غير متصل)

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

🏗️ التنفيذ الاستراتيجي

السيناريو أ: بوت "ساعات العمل"

إذا كنت تبني بوت دعم عملاء لعيادة أسنان تفتح من 9 صباحاً إلى 5 مساءً.

  • في الساعة 09:00: تقوم مهمة مجدولة باستدعاء presence: available.
  • في الساعة 17:00: تقوم مهمة مجدولة باستدعاء presence: unavailable.
    • النتيجة: يرى العملاء "آخر ظهور اليوم الساعة 17:00". إذا أرسلوا رسالة، فإنهم يتوقعون لاشعورياً رداً متأخراً، مما يقلل الإحباط.

السيناريو ب: المحلل "المتخفي"

أنت تشغل بوتاً يسجل الرسائل لأغراض الامتثال في أحد البنوك. لا ينبغي له أبداً التفاعل مع المستخدمين.

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

البارامترات

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

محتوى الطلب

يرسل كـ JSON
string

WhatsApp Instance ID

مثال:
string

API Access Token

مثال:
string

حالة التواجد: online أو offline

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/presence";
3const params = new URLSearchParams({
4 "instance_id": "123456789",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7const body = {
8 "presence": "online"
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...