إرسال رسائل Template مع Quick Reply Buttons عبر WhatChimp API

أرسل templates مع أزرار رد سريع تشغّل تدفقات bot

Updated 10 February 2026

تتيح أزرار Quick Reply للعملاء النقر على زر للرد على رسالة template الخاصة بك — ويمكنك ربط كل زر بـ Bot Flow، بحيث يؤدي النقر على الزر إلى تشغيل تسلسل chatbot محدد تلقائياً. هكذا تقوم بأتمتة المحادثات التي تبدأ من رسائل template الصادرة.

قبل البدء: تأكد من قراءة Send Template Messages via WhatChimp API لأساسيات إرسال رسائل template.

كيف يعمل

  1. تنشئ template مع أزرار Quick Reply في WhatChimp (مثل "معرفة المزيد"، "تتبع الطلب"، "التحدث مع الدعم")
  2. تنشئ Bot Flow لكل زر في Bot Manager
  3. تحصل على postback IDs لتدفقات bot الخاصة بك عبر API
  4. عند إرسال template، تمرر postback IDs المربوطة بكل زر باستخدام template_quick_reply_button_values
  5. عندما ينقر العميل على زر، يشغّل WhatChimp تلقائياً bot flow المقابل

بدون ربط postback: الزر يرسل فقط رد نصي (تسمية الزر). لا تحدث أتمتة.

مع ربط postback: الزر يشغّل تدفق chatbot كامل — قوائم، ردود، جمع بيانات، استدعاءات API — أياً كان ما بنيته في Bot Manager.

الخطوة 1: إنشاء Template مع Quick Reply Buttons

الخطوة A. انتقل إلى Bot Manager > Message Template وانقر على Create

الخطوة B. املأ تفاصيل template الخاص بك — الاسم، الفئة، الرأس، النص، التذييل

الخطوة C. تحت Button، اختر Quick Reply

الخطوة D. أدخل نص الزر (مثل "معرفة المزيد"). يمكنك إضافة حتى 3 أزرار Quick Reply.

الخطوة E. انقر على Save وانتظر موافقة Meta على template.

نموذج إنشاء template مع Quick Reply محدد — الزر الأرجواني يختار وضع Quick Reply، ويمكنك إضافة حتى 3 نصوص أزرار أدناه

نصيحة: حافظ على نص الزر قصيراً وموجهاً للإجراء — "تتبع الطلب"، "احصل على مساعدة"، "عرض Catalog". حد أقصى 25 حرفاً لكل زر.

Video: https://www.youtube.com/watch?v=A3evOF5xIho

الخطوة 2: إنشاء Bot Flow للربط

كل زر Quick Reply يحتاج bot flow لتشغيله عند النقر. ستنشئها في Bot Manager.

الخطوة A. انتقل إلى Bot Manager وانقر على Bot Reply

Bot Manager يعرض قسم Bot Reply — هنا حيث تنشئ وتدير تدفقات chatbot الخاصة بك

الخطوة B. انقر على Create لفتح Visual Flow Bot Builder

انقر على Create تحت إعدادات Bot Reply لبدء بناء bot flow جديد

الخطوة C. ابنِ bot flow الخاص بك — أضف الرسائل أو القوائم أو الإجراءات التي تريد تشغيلها عندما ينقر العميل على زر Quick Reply. على سبيل المثال، تدفق "معرفة المزيد" الذي يرسل تفاصيل المنتج، أو تدفق "تتبع الطلب" الذي يطلب رقم الطلب.

الخطوة D. احفظ bot flow. كرر لكل زر Quick Reply يحتاج تدفقه الخاص.

للحصول على دليل تفصيلي حول بناء bot flows، راجع How to Create a Keyword-Based WhatsApp Chatbot in WhatChimp.

الطريقة السهلة: استخدم API Console

الآن بعد أن أصبح لديك template الخاص بك (الخطوة 1) و bot flows (الخطوة 2)، تحتاج إلى ربطهما. API Developer Console هي أسهل طريقة — تكتشف تلقائياً أزرار Quick Reply وتتيح لك ربط كل واحد بـ bot flow من قائمة منسدلة.

الخطوة A. انتقل إلى Settings > API Developer Console > Send Message

الخطوة B. تحت Generate API End-point: Send Template Message، اختر WhatsApp Account الخاص بك، ثم اختر template الذي يحتوي على أزرار Quick Reply.

API Console — اختر Send Message من الشريط الجانبي، ثم اختر template Quick Reply الخاص بك من القائمة

الخطوة C. يفتح لوحة تفاصيل template. لكل زر Quick Reply، سترى قائمة منسدلة بجميع bot flows (postbacks). اختر أي bot flow يجب أن يُشغّل عندما ينقر العميل على ذلك الزر.

تفاصيل Template تعرض زر Quick Reply مع قائمة منسدلة لاختيار bot flow — اختر التدفق الذي تريد أن يشغله كل زر

الخطوة D. تولّد console رابط endpoint API الكامل مع template_quick_reply_button_values مملوءاً بالفعل بـ postback IDs الصحيحة. انسخه واستخدمه مباشرة.

هذا كل شيء! لمعظم المستخدمين، هذا كل ما تحتاجه. الأقسام أدناه تشرح النهج اليدوي — مفيد إذا كنت تبني تكاملات آلية وتحتاج إلى بناء استدعاءات API برمجياً.

النهج اليدوي: ابنِ استدعاء API بنفسك

إذا كنت تدمج WhatChimp في نظامك الخاص (CRM أو تجارة إلكترونية أو تطبيق مخصص)، ستحتاج إلى جلب postback IDs وبناء استدعاء API برمجياً. إليك كيف.

الخطوة 3: الحصول على Postback IDs المتاحة

Postback IDs تحدد bot flows الخاصة بك. تحتاجها لربط أزرار Quick Reply بتدفقات محددة.

Endpoint: GET /api/v1/whatsapp/get/post-back-list

https://app.whatchimp.com/api/v1/whatsapp/get/post-back-list?apiToken=API-TOKEN&phone_number_id=PHONE-NUMBER-ID

مثال على الاستجابة:

{
  "status": "1",
  "message": [
    {
      "id": 1234,
      "name": "Know More Flow",
      "postback_id": "pb_know_more_abc123"
    },
    {
      "id": 1235,
      "name": "Track Order Flow",
      "postback_id": "pb_track_order_def456"
    },
    {
      "id": 1236,
      "name": "Talk to Support",
      "postback_id": "pb_support_ghi789"
    }
  ]
}

لاحظ قيم postback_id — ستقوم بربطها بأزرار Quick Reply في الخطوة التالية.

الخطوة 4: إرسال Template مع Quick Reply Buttons عبر API

Endpoint: POST /api/v1/whatsapp/send/template

Content-Type: application/x-www-form-urlencoded

المعاملات

المعاملمطلوبالوصف
apiTokenنعمAPI token الخاص بك
phone_number_idنعمWhatsApp phone number ID الخاص بك
template_idنعمID template الداخلي (من template list API، وليس template ID من Meta)
phone_numberنعمرقم هاتف المستلم مع رمز البلد، بدون علامة +
template_quick_reply_button_valuesنعممصفوفة JSON من postback IDs، واحد لكل زر Quick Reply
templateVariable-{Name}-{Index}إذا كان template يحتوي متغيراتقيم متغيرات (راجع دليل Variables)
template_header_media_urlإذا كان template يحتوي رأس وسائطURL الصورة/الفيديو/المستند للرأس

المعامل الرئيسي: template_quick_reply_button_values

هذه مصفوفة JSON حيث كل عنصر هو postback ID. يجب أن يطابق الترتيب ترتيب أزرار Quick Reply في template:

  • أول postback ID → أول زر Quick Reply
  • ثاني postback ID → ثاني زر Quick Reply
  • ثالث postback ID → ثالث زر Quick Reply
["pb_know_more_abc123", "pb_track_order_def456", "pb_support_ghi789"]

مثال كامل

لنفترض أن template order_confirmation الخاص بك يحتوي:

  • النص: "مرحباً {{1}}، طلبك {{2}} مؤكد!"
  • زر Quick Reply 1: "تتبع الطلب"
  • زر Quick Reply 2: "معرفة المزيد"

cURL:

curl -X POST "https://app.whatchimp.com/api/v1/whatsapp/send/template" \
  -d "apiToken=YOUR-API-TOKEN" \
  -d "phone_number_id=YOUR-PHONE-NUMBER-ID" \
  -d "template_id=123" \
  -d "phone_number=919999999999" \
  -d "templateVariable-CustomerName-1=أحمد" \
  -d "templateVariable-OrderID-2=ORD-12345" \
  -d 'template_quick_reply_button_values=["pb_track_order_def456","pb_know_more_abc123"]'

استجابة ناجحة:

{
  "status": "1",
  "wa_message_id": "wamid.HBgNODgwMTcyMzMwOTAwMxUCABEYEjlGQkY3MEFEMEVGODhCNDkxNQA=",
  "message": "Message sent successfully."
}

عندما ينقر المستلم على "تتبع الطلب"، يشغّل WhatChimp bot flow مع postback pb_track_order_def456. عندما ينقرون على "معرفة المزيد"، يشغّل pb_know_more_abc123.

الحصول على Template ID

للحصول على template_id الداخلي (وليس template ID من Meta)، استخدم endpoint قائمة templates:

GET /api/v1/whatsapp/template/list?apiToken=API-TOKEN&phone_number_id=PHONE-NUMBER-ID

ابحث عن templates حيث button_type هو "quick_reply" و status هو "Approved". استخدم حقل id (وليس template_id) عند الإرسال.

الخطوة 5: التحقق من التدفق

بعد الإرسال، اختبر التدفق الكامل:

  1. تحقق من التسليم — تُرجع API wa_message_id عند النجاح
  2. انقر على الزر على هاتف المستلم — يجب أن يُشغّل bot flow فوراً
  3. تحقق في Live Chat — انتقل إلى Omnichannel Inbox لرؤية المحادثة مع نقرة الزر ورد bot

أمثلة على الكود

Node.js

const axios = require('axios');
const qs = require('querystring');

const data = {
  apiToken: 'YOUR-API-TOKEN',
  phone_number_id: 'YOUR-PHONE-NUMBER-ID',
  template_id: '123',
  phone_number: '919999999999',
  'templateVariable-CustomerName-1': 'أحمد',
  'templateVariable-OrderID-2': 'ORD-12345',
  template_quick_reply_button_values: JSON.stringify([
    'pb_track_order_def456',
    'pb_know_more_abc123'
  ])
};

const response = await axios.post(
  'https://app.whatchimp.com/api/v1/whatsapp/send/template',
  qs.stringify(data)
);

console.log(response.data);

Python

import requests
import json

data = {
    'apiToken': 'YOUR-API-TOKEN',
    'phone_number_id': 'YOUR-PHONE-NUMBER-ID',
    'template_id': '123',
    'phone_number': '919999999999',
    'templateVariable-CustomerName-1': 'أحمد',
    'templateVariable-OrderID-2': 'ORD-12345',
    'template_quick_reply_button_values': json.dumps([
        'pb_track_order_def456',
        'pb_know_more_abc123'
    ])
}

response = requests.post(
    'https://app.whatchimp.com/api/v1/whatsapp/send/template',
    data=data
)

print(response.json())

PHP

$data = [
    'apiToken' => 'YOUR-API-TOKEN',
    'phone_number_id' => 'YOUR-PHONE-NUMBER-ID',
    'template_id' => '123',
    'phone_number' => '919999999999',
    'templateVariable-CustomerName-1' => 'أحمد',
    'templateVariable-OrderID-2' => 'ORD-12345',
    'template_quick_reply_button_values' => json_encode([
        'pb_track_order_def456',
        'pb_know_more_abc123'
    ])
];

$ch = curl_init('https://app.whatchimp.com/api/v1/whatsapp/send/template');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

حل المشكلات

المشكلةالحل
نقرة الزر لا تشغّل bot flowتحقق من أن postback ID صحيح. احصل على قائمة جديدة من /whatsapp/get/post-back-list وتحقق من الربط.
خطأ "Template not found"أنت تستخدم template_id من Meta بدلاً من id الداخلي لـ WhatChimp. استخدم حقل id من endpoint قائمة templates.
ترتيب الأزرار خاطئترتيب مصفوفة JSON يجب أن يطابق ترتيب الأزرار في template. أول عنصر في المصفوفة = أول زر.
المتغيرات تظهر كـ {{1}}ينقصك معاملات templateVariable-{Name}-{Index}. راجع دليل Variables.
أزرار quick reply لا تظهرقد لا يكون template معتمداً بعد، أو button_type ليس quick_reply. تحقق من استجابة template list API.

مقالات ذات صلة

More in WhatChimp APIs