الأزرار التفاعلية والبديل بالأرقام
أزرار الرد وقوائم الاختيار وأزرار الروابط من رقم مربوط — وليه كل عميل يقدر يرد حتى لو الأزرار ما ظهرتش.
POST /v2/messages بيبعت تلات أنواع تفاعلية: buttons (لحد 3 أزرار رد) و list (قائمة لحد 10 اختيارات) و cta_url (زرار رابط واحد).
{
"numberId": "cm1abcd2345efgh6789ijkl",
"to": "201001234567",
"type": "buttons",
"body": {
"text": "طلبك رقم 1042 جاهز. نأكد التوصيل النهارده؟"
},
"footer": {
"text": "متجر مرسلات"
},
"buttons": [
{
"id": "confirm",
"title": "تأكيد"
},
{
"id": "cancel_order",
"title": "إلغاء"
}
],
"reference": "order-1042"
}| الحقل | الحدود |
|---|---|
body.text | الحدود1–1024 (إجباري) |
header.text / footer.text | الحدود≤ 60 |
buttons[] | الحدود1–3 · id ≤ 64 (A-Z a-z 0-9 _ . : -، مش متكرر) · title ≤ 20 (مش متكرر) |
list.buttonText | الحدود≤ 20 |
list.sections[] | الحدود1–10 أقسام، title ≤ 24 · الصفوف: 1–10 إجمالي، id ≤ 64، title ≤ 24، description ≤ 72 |
cta.title / cta.url | الحدود≤ 20 · رابط https:// عام |
expiresInMinutes | الحدود5–10080 (الافتراضي 1440): الردود بتتطابق لحد إمتى |
البديل بالأرقام
واتساب بيعرض الرسايل التفاعلية من الأجهزة المربوطة على أغلب الموبايلات، مش كلها. عشان كده مرسلات بتضيف نسخة مرقّمة من الاختيارات للنص افتراضيًا (fallback: "numbered"). العميل اللي شايف نص عادي بيرد بالرقم أو بالاسم:
طلبك رقم 1042 جاهز. نأكد التوصيل النهارده؟
1) تأكيد
2) إلغاء
اكتب رقم اختياركفي الحالتين بيوصلك ويب هوك interactive.reply واحد. reply.source بيقولك إزاي: button / list (داس) أو number / title (كتب). أول رد صحيح بس لكل رسالة؛ ورسالة العميل نفسها بتوصل كمان كـ message.received.
{
"interactionId": "int_8f2c1d9a7b3e4f56a1b2c3d4",
"messageId": "3EB0A1B2C3D4E5F60718",
"reference": "order-1042",
"from": {
"phone": "201099887766",
"lid": null,
"name": "منى"
},
"reply": {
"id": "confirm",
"title": "تأكيد",
"index": 1,
"source": "number"
},
"replyMessageId": "3EB0FFEE0011223344",
"timestamp": "2026-10-10T12:03:00.000Z"
}نصايح
خلّي أسماء الأزرار قصيرة ومختلفة (بتتطابق لما تتكتب). استخدم reference عشان تربط الرد بالأوردر. في الحملات، GET /v2/campaigns/{id}/recipients?reply=ANY بيعرض مين رد بإيه.