إدارة الـ Webhook

تكوين الـ Webhooks المخصصة وتفعيل تصفية الأحداث للجلسة الحالية. (للمشتركين فقط)

GET
https://api.wawp.net/v2/session/webhook?access_token=YOUR_ACCESS_TOKEN&instance_id=Your_Instance_ID&webhooks=%5B%7B%22url%22%3A+%22https%3A%2F%2Fmy-app.com%2Fwebhook%22%2C+%22events%22%3A+%5B%22message%22%2C+%22message.ack%22%2C+%22message.edited%22%5D%2C+%22is_active%22%3A+1%7D%5D

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

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

تسجيل الدخول
اختبار /v2/session/webhook
GETPOST

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

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

توصيات

  • تأكد من أن خوادمك تستجيب بسرعة برمز HTTP 200 لتجنب قيام المحرك بإعادة المحاولة وتعطيل الترتيب.

  • عند تحديث الـ Webhooks عبر POST، تأكد من إدراج كافة الـ Webhooks التي تريد إبقاءها مفعلة.

موجه الـ Webhook: الدليل الشامل لنقطة النهاية /v2/session/webhook

تتيح لك نقطة النهاية /v2/session/webhook (للمشتركين في الباقات المدفوعة) إمكانية التحكم البرمجي الكامل بالـ Webhooks الخاصة بنسختك. من خلال هذا الرابط، يمكنك ربط تطبيقاتك وسيرفراتك بالأحداث الفورية التي تحدث على حساب الواتساب الخاص بك (كالرسائل الواردة، وتقارير القراءة، وحركات المجموعات، والمكالمات، وغيرها).

[!IMPORTANT] هذه الميزة متاحة حصرياً للمشتركين في الباقات المدفوعة (باقات Unlimited). محاولة الوصول إليها من خلال حساب مجاني (Free) ستؤدي لخطأ 403 Forbidden مع رمز subscription_required.


🏗️ الطرق المدعومة (Methods)

1. GET - جلب الإعدادات الحالية

تقوم بجلب كافة الـ Webhooks المخصصة والمربوطة حالياً بمحرك الواتساب، بجانب إعدادات وحالة الـ Webhook الأساسي للنظام (System Webhook).


2. POST - تعيين وتحديث الإعدادات

تمكنك من تعيين وتحديث مصفوفة الـ Webhooks، أو إضافة روابط إضافية، وتفعيل وتصفية الأحداث لكل رابط على حدة.


🚀 الأحداث المتاحة للاشتراك

يمكنك تصفية وتحديد الأحداث التي ترغب باستلامها لتوفير موارد خوادمك:

  • message: الرسائل النصية والوسائط الواردة.
  • message.any: كافة الرسائل الواردة والصادرة.
  • message.ack: تقارير استلام وقراءة الرسائل.
  • message.edited: تعديل الرسائل بشكل فوري.
  • poll.vote: التصويت على الاستبيانات.
  • group.join / group.leave: انضمام أو مغادرة المجموعات.
  • call.received: المكالمات الواردة.

البارامترات

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

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

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

معرف النسخة الفريد

مثال:
string

مفتاح الوصول الخاص بك

مثال:
array

مصفوفة إعدادات الـ Webhook المراد تعيينها (في طلبات POST)

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/session/webhook";
3const params = new URLSearchParams({
4 "instance_id": "Your_Instance_ID",
5 "access_token": "YOUR_ACCESS_TOKEN",
6 "webhooks": "[{\"url\": \"https://my-app.com/webhook\", \"events\": [\"message\", \"message.ack\", \"message.edited\"], \"is_active\": 1}]"
7}).toString();
8
9
10fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
11 method: "GET",
12 headers: { "Content-Type": "application/json" },
13
14})
15 .then(async (response) => {
16 if (response.ok) {
17 const data = await response.json();
18 console.log("Success:", data);
19 return data;
20 }
21
22 // Error Handling
23 if (response.status === 400) {
24 console.error("Error 400: طلب غير صالح - معاملات مطلوبة مفقودة");
25 }
26 if (response.status === 400) {
27 console.error("Error 400: طلب غير صالح (تنسيق XML)");
28 }
29 if (response.status === 400) {
30 console.error("Error 400: طلب غير صالح (نص عادي)");
31 }
32 if (response.status === 401) {
33 console.error("Error 401: غير مصرح - مفتاح الوصول غير صالح أو مفقود");
34 }
35 if (response.status === 401) {
36 console.error("Error 401: غير مصرح (تنسيق XML)");
37 }
38 if (response.status === 404) {
39 console.error("Error 404: غير موجود - الجلسة غير موجودة");
40 }
41 if (response.status === 404) {
42 console.error("Error 404: غير موجود (تنسيق XML)");
43 }
44 if (response.status === 500) {
45 console.error("Error 500: خطأ في الخادم الداخلي - فشل غير متوقع");
46 }
47 if (response.status === 500) {
48 console.error("Error 500: خطأ في الخادم الداخلي (HTML)");
49 }
50 if (response.status === 502) {
51 console.error("Error 502: بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي");
52 }
53 if (response.status === 502) {
54 console.error("Error 502: بوابة غير صالحة (تنسيق XML)");
55 }
56
57 const errorText = await response.text();
58 console.error(`Error ${response.status}: ${errorText}`);
59 })
60 .catch((error) => console.error("Network Error:", error));
عينات تفاعلية
Ln 60, Col 1javascript

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

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

Success - Webhook Configuration Synced
النوع:
application/json
string *
array *
object *

Example

{
"status": "success",
"webhooks": {
  "0": {
    "url": "https://my-app.com/webhook",
    "events": {
      "0": "message",
      "1": "message.ack"
      },
    "is_active": 1,
    "enabled": true
    }
  },
"systemConfig": {
  "url": "https://app.wawp.net/api/webhook/xxxxxxxxx",
  "is_active": 1,
  "events": {
    "0": "message",
    "1": "message.ack",
    "2": "message.edited"
    }
  }
}
طلب غير صالح - معاملات مطلوبة مفقودة
غير مصرح - مفتاح الوصول غير صالح أو مفقود
غير موجود - الجلسة غير موجودة
خطأ في الخادم الداخلي - فشل غير متوقع
بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي
الموضوع السابقعن بيانات الواتساب
الموضوع التاليعن مصادقة تسجيل الدخول

Command Palette

Search for a command to run...