قوالب الرسائل

أنشئ قوالب واتساب جاهزة لمراجعة Meta

أنشئ قوالب التسويق والخدمات والمصادقة مع معاينة مباشرة على الهاتف، ومثال لكل متغير، وفحوصات للأخطاء الشائعة قبل الإرسال. تراجع Meta كل قالب؛ وبعد الموافقة عليه أرسله من الحملات أو صندوق الوارد أو مسارات الشات بوت أو REST API.

✦ تجربة مجانية لمدة 14 يوماً · رقم واتساب للأعمال الخاص بك · تُصدر Meta فواتير الرسائل مباشرةً

كل أنواع القوالب، بـ16 لغة

اختر فئة (التسويق أو الخدمات أو المصادقة) ونوعًا: قياسي، أو عرض لفترة محدودة (عنوان للعرض وعدّ تنازلي اختياري حتى نهاية العرض)، أو مصادقة (رسالة كلمة مرور لمرة واحدة مع زر نسخ الرمز وانتهاء صلاحية اختياري)، أو دوّار (Carousel) من 2 إلى 10 بطاقات، لكل منها صورتها أو الفيديو الخاص بها، ونص اختياري حتى 160 حرفًا، وحتى زرّين. أضف رأسًا (بدون، أو نص، أو صورة، أو فيديو، أو مستند، أو موقع)، ونصًا أساسيًا حتى 1,024 حرفًا مع متغيرات مرقّمة {{1}} أو مسماة {{name}}، وتذييلًا. تحتفظ Meta بنمط المتغيرات بعد إنشاء القالب. اكتبه بأي من 16 لغة، من الإنجليزية والهندية والعربية والبرتغالية (البرازيل) والإسبانية والإندونيسية إلى التاميلية والبنغالية وغيرها.

  • أنواع قياسي وعرض لفترة محدودة ومصادقة ودوّار
  • رؤوس نصية أو صورة أو فيديو أو مستند أو موقع
  • معاينة مباشرة على الهاتف أثناء الكتابة
محرر قوالب واتساب مع معاينة مباشرة على الهاتف

مساعدة قبل مراجعة Meta وبعدها

ابدأ من معرض الأمثلة أو من قالب فارغ. يطلب المنشئ قيمة مثال لكل متغير، وينبّهك إذا بدأ النص الأساسي أو انتهى بمتغير، ويحذّرك عندما يخلو قالب التسويق من سطر إلغاء الاشتراك مثل "أرسل STOP لإلغاء الاشتراك". إذا رفضت Meta قالبًا، سترى السبب مشروحًا بكلمات بسيطة ويمكنك تصحيحه وإعادة إرساله. وإذا نقلت Meta قالبًا إلى فئة أخرى، يظهر لك إشعار بذلك، لأن الفئة تحدد ما تفرضه Meta من رسوم. ويمكن لأي عضو في الفريق تأكيد الاطلاع على هذا الإشعار نيابةً عن الجميع. وإذا أوقفت Meta قالبًا مؤقتًا بعد أن حظره العملاء أو أبلغوا عنه، يمكنك أن تطلب من Meta إعادة تفعيله من صفحة القالب.

  • معرض أمثلة للخدمات والتسويق والمصادقة
  • شرح أسباب الرفض ثم إعادة الإرسال
  • إحصاءات Meta لكل قالب: المرسلة والمسلّمة والمقروءة والنقرات على الأزرار (خطة Business)
إحصاءات القالب مع أعداد المرسلة والمسلّمة والمقروءة والنقرات
الأزرار والأدوات

حتى 10 أزرار وكل ما يحيط بها

امنح العملاء طريقة للتفاعل، ثم شاهد ما فعلوه.

  • أزرار الرد والروابط

    ردود سريعة، وأزرار URL برابط ثابت أو ديناميكي، وزر رقم هاتف، وأزرار مكالمة صوتية أو مكالمة فيديو عبر واتساب.

  • أزرار التجارة والقسائم

    نسخ الرمز للقسائم (حتى 15 حرفًا، وهو حد واتساب) وكلمات المرور لمرة واحدة، وأزرار الكتالوج والمنتجات المتعددة التي تفتح كتالوج منتجاتك في Meta، وطلب معلومات الاتصال.

  • أزرار نماذج واتساب

    اربط نموذج واتساب (Meta Flow) تمت مزامنته من Meta بزر Flow. تصل الإجابات كحقول منظمة في صندوق الوارد وواجهة API والـwebhooks.

  • فحوصات قبل الإرسال

    أمثلة إلزامية لكل متغير، ولا متغير في بداية النص الأساسي أو نهايته، وتحذير إلغاء الاشتراك في قوالب التسويق.

  • إحصاءات لكل قالب

    اعرف عدد الرسائل المرسلة والمسلّمة والمقروءة، والأزرار التي نقر عليها العملاء، لكل قالب. أرقام Meta الخاصة بكل قالب متاحة ضمن خطة Business.

  • لوحة الإرسال عبر API

    يعرض كل قالب المعاملات التي يحتاجها بالضبط وطلبًا يمكنك نسخه. ويُعلمك webhook ‏template.status_updated عندما توافق Meta على القالب أو ترفضه أو توقفه مؤقتًا.

الفئات

قوالب التسويق مقابل الخدمات مقابل المصادقة

تحدد Meta السعر حسب الفئة وتفوترها مباشرة على حساب واتساب للأعمال الخاص بك. لا تفرض StartMessaging أي رسوم على كل رسالة.

المقارنة التسويق الخدمات المصادقة
استخدمها من أجل العروض الترويجية والتخفيضات والإعلانات وإعادة التفاعل تحديثات حول أمر بدأه العميل: الطلبات والحجوزات والمدفوعات وتنبيهات الحساب كلمات المرور لمرة واحدة ورموز تسجيل الدخول
تفوترها Meta على حسابك WABA كل رسالة مسلّمة كل رسالة يتم تسليمها، حتى داخل نافذة 24 ساعة المفتوحة (منذ 1 أكتوبر 2026) كل رسالة مسلّمة
أنواع القوالب المعتادة قياسي، عرض لفترة محدودة، دوّار قياسي مصادقة (نسخ الرمز، انتهاء صلاحية اختياري)
من يكتب النص الأساسي أنت أنت Meta (نص ثابت للرمز، وتحذير أمني اختياري)
سطر إلغاء الاشتراك ينبّهك المنشئ إذا كان مفقودًا لا يتم التحقق لا يتم التحقق
الإرسال عبر API

تحقق من الموافقة على القالب ثم أرسله

تُنشأ القوالب في لوحة التحكم وتكون للقراءة فقط عبر API: اعرضها باستخدام GET /api/v1/templates وأرسل المعتمدة منها باستخدام POST /api/v1/messages.

# 1. Check that the template is approved
curl "https://waba-api.startmessaging.com/api/v1/templates?status=APPROVED&name=order_confirmation&language=en_US" \
  -H "Authorization: Bearer sm_live_your_api_key"

# 2. Send it (body: "Hi {{1}}, your order {{2}} is confirmed.")
curl -X POST https://waba-api.startmessaging.com/api/v1/messages \
  -H "Authorization: Bearer sm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042-confirmed" \
  -d '{
    "to": "+919812345678",
    "type": "template",
    "template": {
      "name": "order_confirmation",
      "language": "en_US",
      "parameters": [
        { "text": "Asha" },
        { "text": "#1042" }
      ]
    },
    "clientReference": "order-1042"
  }'
const BASE = 'https://waba-api.startmessaging.com/api/v1';
const headers = {
  'Authorization': 'Bearer ' + process.env.SM_API_KEY, // sm_live_your_api_key
  'Content-Type': 'application/json',
};

// 1. Check that the template is approved (needs the templates:read scope)
const list = await fetch(
  `${BASE}/templates?status=APPROVED&name=order_confirmation&language=en_US`,
  { headers },
);
const { data: templates } = await list.json();
if (templates.items.length === 0) throw new Error('order_confirmation is not approved yet');

// 2. Send it (needs the messages:send scope)
const res = await fetch(`${BASE}/messages`, {
  method: 'POST',
  headers: { ...headers, 'Idempotency-Key': 'order-1042-confirmed' },
  body: JSON.stringify({
    to: '+919812345678',
    type: 'template',
    template: {
      name: 'order_confirmation',
      language: 'en_US',
      parameters: [{ text: 'Asha' }, { text: '#1042' }],
    },
    clientReference: 'order-1042',
  }),
});

const { data } = await res.json();
console.log(data.id, data.status);
import os, requests

BASE = 'https://waba-api.startmessaging.com/api/v1'
HEADERS = {'Authorization': f"Bearer {os.environ['SM_API_KEY']}"}  # sm_live_your_api_key

# 1. Check that the template is approved
templates = requests.get(
    f'{BASE}/templates',
    headers=HEADERS,
    params={'status': 'APPROVED', 'name': 'order_confirmation', 'language': 'en_US'},
).json()['data']
if not templates['items']:
    raise RuntimeError('order_confirmation is not approved yet')

# 2. Send it
res = requests.post(
    f'{BASE}/messages',
    headers={**HEADERS, 'Idempotency-Key': 'order-1042-confirmed'},
    json={
        'to': '+919812345678',
        'type': 'template',
        'template': {
            'name': 'order_confirmation',
            'language': 'en_US',
            'parameters': [{'text': 'Asha'}, {'text': '#1042'}],
        },
        'clientReference': 'order-1042',
    },
)

data = res.json()['data']
print(data['id'], data['status'])
<?php
$base = 'https://waba-api.startmessaging.com/api/v1';
$auth = 'Authorization: Bearer ' . getenv('SM_API_KEY'); // sm_live_your_api_key

// 1. Check that the template is approved
$ch = curl_init($base . '/templates?status=APPROVED&name=order_confirmation&language=en_US');
curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [$auth]]);
$templates = json_decode(curl_exec($ch), true)['data'];
if (count($templates['items']) === 0) {
    exit('order_confirmation is not approved yet');
}

// 2. Send it
$body = json_encode([
    'to' => '+919812345678',
    'type' => 'template',
    'template' => [
        'name' => 'order_confirmation',
        'language' => 'en_US',
        'parameters' => [['text' => 'Asha'], ['text' => '#1042']],
    ],
    'clientReference' => 'order-1042',
]);

$ch = curl_init($base . '/messages');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        $auth,
        'Content-Type: application/json',
        'Idempotency-Key: order-1042-confirmed',
    ],
    CURLOPT_POSTFIELDS => $body,
]);
$data = json_decode(curl_exec($ch), true)['data'];
echo $data['id'] . ' ' . $data['status'];
# A carousel template: body "Hi {{1}}, picks for you", each card with text "{{1}}"
# and a link button whose URL ends in a variable. Send every card, in order,
# each with its image or video.
curl -X POST https://waba-api.startmessaging.com/api/v1/messages \
  -H "Authorization: Bearer sm_live_your_api_key" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: festive-picks-919812345678" \
  -d '{
    "to": "+919812345678",
    "type": "template",
    "template": {
      "name": "festive_picks",
      "language": "en",
      "parameters": [{ "text": "Asha" }],
      "carouselCards": [
        {
          "headerMediaUrl": "https://cdn.example.com/products/kurta-blue.jpg",
          "parameters": [{ "text": "₹1,299" }],
          "buttonParameters": [{ "index": 0, "subType": "url", "text": "kurta-blue" }]
        },
        {
          "headerMediaUrl": "https://cdn.example.com/products/kurta-red.jpg",
          "parameters": [{ "text": "₹1,499" }],
          "buttonParameters": [{ "index": 0, "subType": "url", "text": "kurta-red" }]
        }
      ]
    }
  }'
الأسئلة الشائعة

قوالب واتساب — الأسئلة الشائعة

كم تستغرق Meta لمراجعة قالب؟

تراجع Meta كل قالب وتحدد وقت المراجعة؛ ولا تعتمد StartMessaging القوالب. يبقى القالب قيد الانتظار حتى تقرر Meta. اشترك في webhook ‏template.status_updated، أو تابع صفحة القوالب، لتعرف لحظة تغيّر حالته.

ماذا يحدث إذا رفضت Meta قالبي؟

تعرض صفحة القالب سبب Meta مشروحًا بكلمات بسيطة. أصلح سبب الرفض واحفظ لإعادة إرسال القالب إلى Meta، أو انسخه وابدأ من جديد.

من يدفع مقابل رسائل القوالب؟

تُصدر Meta فاتورة كل قالب يتم تسليمه، حسب فئته، مباشرة على حساب واتساب للأعمال (WABA) الخاص بك. ومنذ 1 أكتوبر 2026 يشمل ذلك قوالب الخدمات المرسلة داخل نافذة 24 ساعة المفتوحة. أما ردود خدمة العملاء الحرة فمجانية حتى حصة شهرية لكل رقم، ثم تُفرض عليها رسوم. تتقاضى StartMessaging اشتراكًا ثابتًا ولا تضيف أبدًا رسومًا على كل رسالة.

لماذا غيّرت Meta فئة قالبي؟

يمكن لـMeta نقل قالب معتمد بين فئتي الخدمات والتسويق عندما يبدو محتواه ترويجيًا، مما يغيّر تكلفة كل رسالة. تعرض StartMessaging إشعارًا في صفحة القوالب عند حدوث ذلك أو جدولته، وتعيد API دائمًا الفئة الحالية لدى Meta. ويمكن لأي عضو في الفريق تأكيد الاطلاع على الإشعار، فيختفي عن الجميع حتى التغيير التالي.

هل يمكنني إنشاء القوالب عبر API؟

لا. تُنشأ القوالب وتُرسل للمراجعة من لوحة التحكم، حيث يتم فحص الأمثلة والوسائط قبل وصولها إلى Meta. تعرض الـ API قائمة القوالب (GET /api/v1/templates بنطاق templates:read) وترسل القوالب المعتمدة عبر POST /api/v1/messages، بما في ذلك قوالب الدوّار والعروض محدودة الوقت: يأخذ الدوّار template.carouselCards، إدخالًا واحدًا لكل بطاقة بالترتيب مع صورتها أو الفيديو الخاص بها في كل إرسال؛ ويأخذ العرض محدود الوقت ذو العدّ التنازلي template.offerExpiresAt، أي وقت انتهاء العرض. أما القوالب ذات ترويسة الموقع فلا يمكن إرسالها عبر الـ API بعد.

بأي لغات يمكنني إنشاء القوالب؟

16 لغة: الإنجليزية (الولايات المتحدة)، والإنجليزية (المملكة المتحدة)، والهندية، والعربية، والبرتغالية (البرازيل)، والإسبانية، والإندونيسية، والملايوية، والتاميلية، والتيلوغوية، والكانادية، والمالايالامية، والماراثية، والبنغالية، والغوجاراتية، والبنجابية. يوجد اسم القالب مرة واحدة لكل لغة، لذا عند الإرسال عبر API ترسل الاسم ورمز اللغة الدقيق معًا.

هل يمكنني تحويل قالب بين المتغيرات المرقّمة والمسمّاة؟

ليس في القالب نفسه. تحتفظ Meta بنمط متغيرات القالب — مرقّمة {{1}} أو مسمّاة {{first_name}} — بعد إنشائه. للتبديل، انسخ القالب واكتب النسخة بالنمط الآخر؛ ويظل القالب الأصلي يعمل بينما تراجع Meta النسخة. وإذا سجّلت Meta قالبًا دون متغيراته، فلا يمكن إرساله حتى تصلحه أو تنسخه.

ماذا يحدث عندما توقف Meta قالبًا مؤقتًا؟

توقف Meta القالب مؤقتًا عندما يحظره العملاء أو يبلغون عنه. يظهر القالب بحالة "متوقف مؤقتًا"، وتتوقف الحملات التي تستخدمه أيضًا، ثم تُستأنف تلقائيًا عندما تُفرج Meta عن القالب ما لم تظل جودته منخفضة. ويمكنك أيضًا أن تطلب من Meta إعادة تفعيله من صفحة القالب؛ فيظهر بحالة "معتمد" بعد تأكيد Meta. أما القالب الذي تعطّله Meta بعد إيقافات متكررة فلا يعود.

واجهة برمجة تطبيقات واتساب

أنشئ أول قالب واتساب لك

اربط حساب واتساب للأعمال الخاص بك، وابدأ من مثال، وأرسله إلى Meta خلال تجربتك المجانية لمدة 14 يومًا.