إرسال رسالة قائمة (Menu)

إرسال رسالة قائمة تفاعلية (قائمة خيارات) إلى الدردشة. يعرض هذا النوع من الرسائل زراً يفتح قائمة خيارات عند النقر عليه.

POST
https://api.wawp.net/v2/send/list?instance_id=YOUR_INSTANCE_ID&access_token=YOUR_ACCESS_TOKEN&chatId=447441429009&message=%7B%0A++%22title%22%3A+%22Simple+Menu%22%2C%0A++%22description%22%3A+%22Please+choose+an+option%22%2C%0A++%22footer%22%3A+%22Thank+you%21%22%2C%0A++%22button%22%3A+%22Open+Menu%22%2C%0A++%22sections%22%3A+%5B%0A++++%7B%0A++++++%22title%22%3A+%22Main+Options%22%2C%0A++++++%22rows%22%3A+%5B%0A++++++++%7B%0A++++++++++%22title%22%3A+%22Option+1%22%2C%0A++++++++++%22rowId%22%3A+%22opt1%22%2C%0A++++++++++%22description%22%3A+%22Description+for+1%22%0A++++++++%7D%2C%0A++++++++%7B%0A++++++++++%22title%22%3A+%22Option+2%22%2C%0A++++++++++%22rowId%22%3A+%22opt2%22%0A++++++++%7D%0A++++++%5D%0A++++%7D%0A++%5D%0A%7D&message.title=Simple+Menu&message.description=Please+select+an+option+below&message.footer=Powered+by+Wawp&message.button=Open+Menu&message.sections=%5B%7B+title%3A+%27Section+1%27%2C+rows%3A+%5B...%5D+%7D%5D&reply_to=false_111...AAAA

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

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

تسجيل الدخول
اختبار /v2/send/list
POSTGET

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

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

توصيات

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

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

البارامترات

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

محتوى الطلب

يرسل كـ JSON
string

المعرف الفريد لجلسة واتساب

مثال:
string

رمز وصول API

مثال:
string

رقم واتساب للمستلم

مثال:
object

هيكل رسالة القائمة التفاعلية.

مثال:
string

عنوان رأس رسالة القائمة.

مثال:
string

نص متن الرسالة.

مثال:
string

نص صغير في الأسفل.

مثال:
string

النص الموجود على الزر الذي يفتح القائمة.

مثال:
array

مصفوفة من الأقسام، يحتوي كل منها على عنوان وصفوف.

مثال:
string

معرف الرسالة التي تقوم بالرد عليها

مثال:

أمثلة الكود

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

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/send/list";
3const params = new URLSearchParams({
4 "instance_id": "YOUR_INSTANCE_ID",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7const body = {
8 "chatId": "447441429009",
9 "message": {
10 "title": "Simple Menu",
11 "description": "Please choose an option",
12 "footer": "Thank you!",
13 "button": "Open Menu",
14 "sections": [
15 {
16 "title": "Main Options",
17 "rows": [
18 {
19 "title": "Option 1",
20 "rowId": "opt1",
21 "description": "Description for 1"
22 },
23 {
24 "title": "Option 2",
25 "rowId": "opt2"
26 }
27 ]
28 }
29 ]
30 },
31 "message.title": "Simple Menu",
32 "message.description": "Please select an option below",
33 "message.footer": "Powered by Wawp",
34 "message.button": "Open Menu",
35 "message.sections": "[{ title: 'Section 1', rows: [...] }]",
36 "reply_to": "false_111...AAAA"
37};
38
39fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
40 method: "POST",
41 headers: { "Content-Type": "application/json" },
42 body: JSON.stringify(body)
43})
44 .then(async (response) => {
45 if (response.ok) {
46 const data = await response.json();
47 console.log("Success:", data);
48 return data;
49 }
50
51 // Error Handling
52 if (response.status === 400) {
53 console.error("Error 400: طلب غير صالح - معاملات مطلوبة مفقودة");
54 }
55 if (response.status === 400) {
56 console.error("Error 400: Bad Request - Invalid Number (Egypt)");
57 }
58 if (response.status === 400) {
59 console.error("Error 400: Bad Request - Invalid Number (Saudi Arabia)");
60 }
61 if (response.status === 400) {
62 console.error("Error 400: Bad Request - Invalid Number (Unknown)");
63 }
64 if (response.status === 400) {
65 console.error("Error 400: طلب غير صالح (تنسيق XML)");
66 }
67 if (response.status === 400) {
68 console.error("Error 400: طلب غير صالح (نص عادي)");
69 }
70 if (response.status === 401) {
71 console.error("Error 401: غير مصرح - مفتاح الوصول غير صالح أو مفقود");
72 }
73 if (response.status === 401) {
74 console.error("Error 401: غير مصرح (تنسيق XML)");
75 }
76 if (response.status === 404) {
77 console.error("Error 404: غير موجود - الجلسة غير موجودة");
78 }
79 if (response.status === 404) {
80 console.error("Error 404: غير موجود (تنسيق XML)");
81 }
82 if (response.status === 429) {
83 console.error("Error 429: طلبات كثيرة جداً - تم تجاوز حد المعدل");
84 }
85 if (response.status === 500) {
86 console.error("Error 500: خطأ في الخادم الداخلي - فشل غير متوقع");
87 }
88 if (response.status === 500) {
89 console.error("Error 500: خطأ في الخادم الداخلي (HTML)");
90 }
91 if (response.status === 502) {
92 console.error("Error 502: بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي");
93 }
94 if (response.status === 502) {
95 console.error("Error 502: بوابة غير صالحة (تنسيق XML)");
96 }
97
98 const errorText = await response.text();
99 console.error(`Error ${response.status}: ${errorText}`);
100 })
101 .catch((error) => console.error("Network Error:", error));
عينات تفاعلية
Ln 101, Col 1javascript

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

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

تم إرسال الرسالة بنجاح
النوع:
application/json
object *
string *
object *
number *
boolean *
string *
string *
number *
string *
string *
string *
boolean *
number *
boolean *
boolean *
boolean *
boolean *
boolean *
array *
array *
array *
boolean *
array *

Example

{
"_data": {
  "id": {
    "fromMe": true,
    "remote": "000000000000@c.us",
    "id": "MSG_ID_123456",
    "_serialized": "true_000000000000@c.us_MSG_ID_123456"
    },
  "viewed": false,
  "body": "BASE64_IMAGE_DATA",
  "type": "image",
  "t": 1759108866,
  "from": {
    "server": "c.us",
    "user": "111111111111",
    "_serialized": "111111111111@c.us"
    },
  "to": {
    "server": "c.us",
    "user": "000000000000",
    "_serialized": "000000000000@c.us"
    },
  "ack": 0,
  "isNewMsg": true,
  "star": false,
  "kicNotified": false,
  "caption": "Here's your requested image.",
  "deprecatedMms3Url": "https://example.com/media-url",
  "directPath": "/media/direct/path/example",
  "mimetype": "image/jpeg",
  "filehash": "FILE_HASH_PLACEHOLDER",
  "encFilehash": "ENC_FILE_HASH_PLACEHOLDER",
  "size": 192487,
  "mediaKey": "MEDIA_KEY_PLACEHOLDER",
  "mediaKeyTimestamp": 1759108865,
  "streamable": false,
  "mediaHandle": null,
  "isFromTemplate": false,
  "pollInvalidated": false,
  "isSentCagPollCreation": false,
  "latestEditMsgKey": null,
  "latestEditSenderTimestampMs": null,
  "mentionedJidList": {
    },
  "groupMentions": {
    },
  "isEventCanceled": false,
  "eventInvalidated": false,
  "isVcardOverMmsDocument": false,
  "isForwarded": false,
  "isQuestion": false,
  "questionReplyQuotedMessage": null,
  "questionResponsesCount": 0,
  "readQuestionResponsesCount": 0,
  "labels": {
    },
  "hasReaction": false,
  "disappearingModeInitiator": "chat",
  "disappearingModeTrigger": "chat_settings",
  "productHeaderImageRejected": false,
  "lastPlaybackProgress": 0,
  "isDynamicReplyButtonsMsg": false,
  "isCarouselCard": false,
  "parentMsgId": null,
  "callSilenceReason": null,
  "isVideoCall": false,
  "callDuration": null,
  "callCreator": null,
  "callParticipants": null,
  "isCallLink": null,
  "callLinkToken": null,
  "isMdHistoryMsg": false,
  "stickerSentTs": 0,
  "lastUpdateFromServerTs": 0,
  "invokedBotWid": null,
  "bizBotType": null,
  "botResponseTargetId": null,
  "botPluginType": null,
  "botPluginReferenceIndex": null,
  "botPluginSearchProvider": null,
  "botPluginSearchUrl": null,
  "botPluginSearchQuery": null,
  "botPluginMaybeParent": false,
  "botReelPluginThumbnailCdnUrl": null,
  "botMessageDisclaimerText": null,
  "botMsgBodyType": null,
  "requiresDirectConnection": false,
  "bizContentPlaceholderType": null,
  "hostedBizEncStateMismatch": false,
  "senderOrRecipientAccountTypeHosted": false,
  "placeholderCreatedWhenAccountIsHosted": false,
  "galaxyFlowDisabled": false,
  "links": {
    }
  },
"mediaKey": "MEDIA_KEY_PLACEHOLDER",
"id": {
  "fromMe": true,
  "remote": "000000000000@c.us",
  "id": "MSG_ID_123456",
  "_serialized": "true_000000000000@c.us_MSG_ID_123456"
  },
"ack": 0,
"hasMedia": true,
"body": "Here's your requested image.",
"type": "image",
"timestamp": 1759108866,
"from": "111111111111@c.us",
"to": "000000000000@c.us",
"deviceType": "android",
"isForwarded": false,
"forwardingScore": 0,
"isStatus": false,
"isStarred": false,
"fromMe": true,
"hasQuotedMsg": false,
"hasReaction": false,
"vCards": {
  },
"mentionedIds": {
  },
"groupMentions": {
  },
"isGif": false,
"links": {
  }
}
طلب غير صالح - معاملات مطلوبة مفقودة
غير مصرح - مفتاح الوصول غير صالح أو مفقود
غير موجود - الجلسة غير موجودة
طلبات كثيرة جداً - تم تجاوز حد المعدل
خطأ في الخادم الداخلي - فشل غير متوقع
بوابة غير صالحة - فشل الاتصال بالخادم الرئيسي
الموضوع السابقإرسال ملف PDF
الموضوع التاليإرسال حدث (Event)

Command Palette

Search for a command to run...