تعيين رابط Webhook
إنشاء رابط Webhook جديد على النسخة أو تحديث رابط موجود، مع تحديد الأحداث المطلوب تفعيلها. (للمشتركين فقط)
تسجيل الدخول مطلوب
سجل الدخول لاستبدال المعرفات (Instance ID) ورمز الوصول (Access Token) بمعلومات حسابك الحقيقي لاختبار ال API مباشرة.
تسجيل الدخوللا توجد معاملات استعلام مطلوبة
هذه النهاية الطرفية لا تتوقع بيانات في الرابط.
توصيات
اشترك فقط في الأحداث التي يحتاجها تطبيقك لتقليل استهلاك الباندويث والمعالجة.
استجب دائماً برمز HTTP 200 من نقطة Webhook الخاصة بك قبل معالجة الحدث في الخلفية.
استخدم سراً فريداً في باراميتر URL أو حقل hmac للتحقق من أن الطلبات قادمة من Wawp.
تعيين رابط Webhook: /v2/webhook/set
تتيح لك نقطة النهاية /v2/webhook/set تسجيل رابط Webhook واحد على نسخة الواتساب واختيار الأحداث التي سيستقبلها بشكل دقيق. إذا كان الرابط موجوداً مسبقاً، يتم تحديثه؛ وإذا لم يكن موجوداً، يتم إضافته لقائمة الروابط المرتبطة بالنسخة.
[!IMPORTANT] هذه الميزة متاحة حصرياً للمشتركين في الباقات المدفوعة (Unlimited). محاولة الوصول إليها من حساب مجاني ستُرجع خطأ
403 Forbiddenمع رمزsubscription_required.
🎯 متى تستخدم هذه النقطة؟
استخدم هذه النقطة عندما تريد:
- ربط رابط خلفية جديد لاستقبال أحداث واتساب فورية.
- تحديث رابط موجود دون المساس بالروابط الأخرى المرتبطة.
- الاشتراك الانتقائي في فئات أحداث معينة لتقليل حمل السيرفر.
📦 جسم الطلب (Request Body)
url(مطلوب): رابط HTTPS متاح للعامة يقبل طلبات POST.events(مطلوب): مصفوفة بأسماء الأحداث التي سيرسلها الـ Webhook.is_active(اختياري):1لتفعيل الرابط أو0لتعطيله. الافتراضي1.retries(اختياري): كائن سياسة إعادة المحاولة يحتوي علىdelay(بالثواني) وattempts(عدد المحاولات). الافتراضي{ delay: 2, attempts: 15 }.hmac(اختياري): سلسلة سرية تُضاف إلى ترويسةX-Wawp-Signatureللتحقق الأساسي.
🚀 الأحداث المتاحة
تتوافق هذه الأحداث مع الخيارات المتاحة في لوحة تحكم Wawp:
| الفئة | الأحداث |
|---|---|
| الرسائل | message, message.any, message.ack, message.ack.group, message.waiting, message.revoked, message.edited, message.reaction, poll.vote, poll.vote.failed |
| المجموعات | group.join, group.leave, group.v2.join, group.v2.leave, group.v2.update, group.v2.participants |
| الجلسة والمكالمات | session.status, state.change, presence.update, chat.archive, call.received, call.accepted, call.rejected |
| التسميات | label.upsert, label.deleted, label.chat.added, label.chat.deleted |
| متقدم | event.response |
📡 عينات الطلبات
cURL
curl -X POST "https://api.wawp.net/v2/webhook/set" -H "Content-Type: application/json" -d '{
"access_token": "YOUR_ACCESS_TOKEN",
"instance_id": "Your_Instance_ID",
"url": "https://my-app.com/webhook",
"name": "Production CRM",
"events": ["message", "message.ack", "message.edited"],
"is_active": 1,
"retries": { "delay": 2, "attempts": 15 }
}'
JavaScript (Fetch)
const res = await fetch('https://api.wawp.net/v2/webhook/set', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
access_token: 'YOUR_ACCESS_TOKEN',
instance_id: 'Your_Instance_ID',
url: 'https://my-app.com/webhook',
events: ['message', 'message.ack', 'message.edited'],
is_active: 1,
retries: { delay: 2, attempts: 15 }
})
});
const data = await res.json();
console.log(data);
🔁 ملاحظة حول Webhook النظام
إذا كان الـ url المُرسل يطابق Webhook النظام للنسخة (https://app.wawp.net/api/webhook/{token})، فسيتم مزامنة فلتر الأحداث أيضاً إلى قاعدة بيانات Wawp لكي تعكس لوحة التحكم والصندوق الوارد نفس الإعدادات.
البارامترات
قم بتهيئة المعاملات المطلوبة للتفاعل مع نقطة النهاية هذه. جميع وسائط الاستعلام والبيانات مدرجة أدناه مع تفاصيلها.
محتوى الطلب
يرسل كـ JSONstring | معرف النسخة الفريد مثال: | ||
string | مفتاح الوصول الخاص بك مثال: | ||
string | رابط HTTPS عام يستقبل طلبات POST مثال: | ||
array | مصفوفة بأسماء الأحداث المراد الاشتراك فيها مثال: | ||
string | — | اسم عرضي اختياري للـ Webhook (مثلاً: 'Production CRM'، 'Staging Bot') مثال: | |
number | — | 1 لتفعيل الرابط، 0 لتعطيله. الافتراضي 1. مثال: | |
object | — | سياسة إعادة المحاولة: delay بالثواني و attempts بعدد المحاولات مثال: | |
string | — | مفتاح سري اختياري للتحقق من توقيع الطلبات مثال: |
أمثلة الكود
استخدم أمثلة الكود الجاهزة لدمج واجهة برمجة التطبيقات (API) في مشروعك بسرعة وكفاءة. اختر لغة البرمجة والمكتبة التي تفضلها.
الردود المتوقعة
استكشف كافة الردود والنتائج المحتملة من الخادم. قمنا بتوثيق كل كود حالة (Status Code) مع أمثلة للبيانات لتسهيل معالجة الأخطاء والنجاح.
Example
{
"status": "success",
"message": "Webhook set successfully.",
"webhook": {
"url": "https://my-app.com/webhook",
"events": {
"0": "message",
"1": "message.ack",
"2": "message.edited"
},
"is_active": 1,
"enabled": true,
"retries": {
"delay": 2,
"attempts": 15
}
}
}Command Palette
Search for a command to run...