أدخِل قوالب WhatsApp إلى Omni Octo

أنشئ القوالب في WhatsApp Manager من Meta أو بأن تطلب ذلك من Octo، واجلبها بزر Sync from Meta، واقرأ الحالة التي يعرضها كل قالب — بما في ذلك ما تفعله حين يغيب قالب معتمد.

آخر تحديث

ملاحظة: لا توجد واجهة عربية لهذه الميزة بعد، فواجهة المنصّة كلها تظهر بالإنجليزية. لذلك تُنقَل النصوص المقتبَسة من الواجهة أدناه بالإنجليزية كما تظهر فعليًا، بدل أن تُترجَم أو تُختلَق بالعربية.

لا يكتب Omni Octo القوالب من وراء ظهرك، وMeta تعتمد كل واحد منها. هناك طريقتان لإنشاء قالب وطريقة واحدة لإدخاله:

  • اكتبه في WhatsApp Manager من Meta، ثم زامِنه مع Omni Octo.
  • اطلب من Octo أن يكتبه. يرسله Octo إلى Meta نيابةً عنك، فيظهر في Omni Octo فورًا، بالحالة التي منحته إياها Meta عند التقديم.

في الحالتين يعيش القالب في /templates/whatsapp، ولا يمكن إرسال إلا قالب معتمد. إن لم تكن قد قرأت متى يجب أن تكون رسالة WhatsApp قالبًا، فابدأ منه — فهو يشرح الفئات وأجزاء القالب.

صفحة القوالب

تعرض /templates/whatsapp كل قالب يعرفه Omni Octo، مع Display name وName وStatus وCategory وLanguage وChannel ووقت إنشائه Created. وتحت العنوان:

Manage approved templates for outbound campaigns. Create new templates in Meta Manager.

صفحة قوالب WhatsApp لدى Tidewater Laundry Co.، تعرض ستة قوالب مع اسم العرض والاسم والحالة (Approved وPending وRejected) والفئة واللغة ورقم WhatsApp ووقت الإنشاء. في أعلى اليمين Sync from Meta وLast synced 5 minutes ago.
كل قوالب الرقم مع حالاتها. القوالب التي أنشأها Octo لها أسماء عرض مقروءة مثل Pickup confirmation؛ أما المُزامَنة فتظهر باسمها في Meta. لقطات الشاشة معروضة بالإنجليزية — التطبيق غير متوفر بهذه اللغة بعد.

Meta Manager رابط إلى WhatsApp Manager من Meta. لا يوجد محرّر في هذه الصفحة: لا يمكنك كتابة قالب هنا، ولا تغيير نص قالب هنا أيضًا. لتغيير الصياغة، عدّلها في WhatsApp Manager (فتراجعها Meta من جديد) ثم زامِن.

تضيّق عوامل التصفية القائمة حسب الحالة واللغة ورقم WhatsApp، وبحثٍ في اسم العرض والاسم. وسطر تحت العنوان — Showing templates for: — يذكر الرقم أو الأرقام التي تنظر إليها.

انقر صفًّا لفتح القالب: الترويسة، والمتن مع إبراز المتغيّرات، والتذييل، والأزرار، وتاريخ الإنشاء والاعتماد. في اللوحة Use in Campaign وView in Meta Manager وDelete.

الطريقة 1: اكتبه في WhatsApp Manager

هذه هي الطريقة حين يحتاج القالب إلى أكثر من نص — ترويسة صورة أو فيديو أو مستند، أو زر لنسخ رمز — أو حين يكون قالب Authentication تثبّت Meta صياغته. في WhatsApp Manager محرّر Meta ومعاينتها؛ وOmni Octo لا يحلّ محلّه.

قدّمه هناك وستراجعه Meta. لا يعرف Omni Octo بوجوده حتى تزامن — انظر أدناه.

الطريقة 2: اطلب من Octo أن يكتبه

يستطيع Octo بناء قالب وتقديمه انطلاقًا من جملة. لـ Tidewater Laundry Co.:

Create a utility template called pickup_reminder on our WhatsApp number:
"Hi {{customer_name}}, a reminder that your pickup is {{pickup_slot}}. Reply here if you need to change it."
Add a quick-reply button "Change time".

ما يستطيع Octo وضعه في قالب:

الجزءما يستطيع Octo بناءه
Headerنص فقط
Bodyنص، مع متغيّرات مسمّاة مثل {{customer_name}}
Footerنص
Buttonsرابط (يمكن أن ينتهي عنوان URL بمتغيّر واحد)، أو رقم هاتف، أو ردود سريعة

لا يستطيع إضافة ترويسة صورة أو فيديو أو مستند، ولا زرًّا لنسخ رمز — استخدم WhatsApp Manager لذلك.

أشياء يفعلها Octo نيابةً عنك، وأخرى يرفضها:

  • المتغيّرات المسمّاة تصبح أرقامًا. يرسل Octo إلى Meta {{1}} و{{2}} ويتذكّر أن {{1}} كان customer_name. حين تطلب من Octo إرساله يمكنك إعطاء القيم بأسمائها. أما في أي مكان آخر — صندوق الوارد، والـ API، والحملة — فهو قالب موضعي: {{1}}، {{2}}.
  • الاسم يجب أن يتكوّن من أحرف صغيرة وأرقام وشرطات سفلية فقط — pickup_reminder، لا Pickup Reminder. ويمنحه Octo أيضًا اسم عرض مقروءًا لصفحة القوالب.
  • يرفض متنًا سترفضه Meta، قبل أن يُرسَل أي شيء إلى Meta: متن يبدأ بمتغيّر، أو فيه متغيّر في النهاية أو قبلها مباشرة، أو متغيّران لا يفصل بينهما إلا مسافة. ويخبرك Octo بالقاعدة التي خالفها المتن.
  • زر رقم الهاتف يحتاج إلى رقم حقيقي. ترفض Meta الأرقام المختلَقة.

حين ينتهي من تقديم القالب، يخبرك Octo بالحالة التي منحته إياها Meta ويضع رابطًا إلى القالب في /templates/whatsapp. لا حاجة إلى المزامنة: القالب الذي أنشأه Octo موجود في الصفحة بالفعل.

ويستطيع Octo أيضًا أن يسرد قوالبك، ويعرض أحدها كاملًا، ويزامن رقمًا، ويحذف قالبًا، إن طلبت منه.

Sync from Meta

Sync from Meta هو الزر في أعلى يمين /templates/whatsapp. لكل رقم WhatsApp يزامنه، يطلب من Meta كل القوالب في حساب WhatsApp Business الذي يقف خلف ذلك الرقم، ثم:

  • يضيف القوالب التي ليست لدى Omni Octo بعد،
  • يحدّث القوالب الموجودة — الحالة والفئة والمحتوى وسبب الرفض من Meta،
  • يزيل القوالب التي لم تعد في Meta، مثلًا لأن أحدًا حذفها في WhatsApp Manager. لا تخبرنا Meta بعمليات الحذف، لذا فالمزامنة هي الطريقة الوحيدة لاختفائها من هنا.

عند الانتهاء، يذكر سطرٌ ما حدث:

Synced from Meta — 2 new, 6 updated (8 total)

new تعدّ القوالب التي لم تكن هنا من قبل. وupdated تعدّ فقط القوالب التي تغيّر فيها شيء فعلًا — القالب الذي ما زال في Meta كما هو تمامًا لا يُمسّ ولا يُحتسب. وتُضاف N removed حين تحذف المزامنة شيئًا. وحين لا يتغيّر شيء، يقول السطر Synced from Meta — no changes متبوعًا بالمجموع.

تحت الزر، يذكر Last synced منذ متى جُلبت القوالب آخر مرة — Last synced 5 minutes ago.

القالب الذي تجلبه المزامنة يستخدم اسمه في Meta اسمًا للعرض، لأن Meta ليس فيها اسم منفصل.

أي الأرقام تُزامَن

القوالب تُحفظ لكل رقم WhatsApp على حدة، وعامل التصفية Channel يحدّد أي الأرقام يزامنها الزر:

  • All channels — كل رقم WhatsApp نشط في مساحة العمل، واحدًا تلو الآخر، مع سطر نتيجة واحد يجمعها. الرقم المعطّل أو الذي فيه خطأ أو ما زال قيد الإعداد يُتخطّى، لأنه لا يمكن سؤال Meta عنه.
  • رقم واحد مختار في عامل التصفية — ذلك الرقم وحده، أيًّا كانت حالته.

إذا فشل رقم ونجحت الأرقام الأخرى، تحصل على سطر النتيجة للأرقام التي نجحت، وعلى إشعار منفصل لكل فشل يذكر اسم الرقم: Couldn’t sync Tidewater main line: … متبوعًا بخطأ Meta.

يتبع Last synced عامل التصفية نفسه. مع رقم واحد، هو آخر مزامنة لذلك الرقم. ومع All channels، هو أقدم آخر مزامنة بين الأرقام النشطة — حتى لا يختفي رقم متأخّر خلف رقم زُومِن للتوّ. وإذا كان أي رقم معروض لم يُزامَن قطّ، لا يظهر السطر إطلاقًا.

من داخل محادثة

منتقي القوالب في /conversations فيه زر Sync from Meta نفسه، بجانب القائمة وفي حالتها الفارغة. يزامن الرقم الذي تجري عليه تلك المحادثة، ويعرض سطر النتيجة نفسه تحت الزر. استخدمه حين تكون قد أنهيت للتوّ قالبًا في WhatsApp Manager ولا تريد مغادرة المحادثة.

ماذا تعني كل حالة

الحالةمعناهاهل يمكن إرساله؟
Pendingما زالت Meta تراجعهلا
Approvedاعتمدته Metaنعم
Rejectedرفضته Metaلا
Pausedأوقفته Meta مؤقتًالا
Disabledعطّلته Metaلا

لا يمكن إرسال إلا Approved — من محادثة، أو عبر الـ API، أو بواسطة Octo، أو في حملة. القالب في أي حالة أخرى لا يظهر في منتقي المحادثة إطلاقًا، وفي لوحته يكون Use in Campaign رماديًا مع السطر:

Template must be approved by Meta before launching a campaign. Current status: Pending.

إذا أبلغت Meta عن حالة ليس لها اسم في Omni Octo، يظهر القالب بحالة Pending حتى تنقله Meta إلى غيرها.

حين ترفض Meta قالبًا

افتح القالب. إن ذكرت Meta سببًا، تعرضه اللوحة في مربّع عنوانه Rejected by Meta، فوق محتوى القالب. سبب Meta رمز قصير لا جملة — INCORRECT_CATEGORY مثلًا، حين ترى Meta أن عرضًا ترويجيًا قُدِّم على أنه Utility. يعرض Omni Octo الرمز كما أرسلته Meta، ولا يفسّره.

لوحة قالب تسويقي مرفوض: مربّع عنوانه Rejected by Meta يعرض سبب Meta وهو INCORRECT_CATEGORY، فوق متن القالب وتذييله، وزر Use in Campaign رمادي مع سطر يقول إن القالب يجب أن يُعتمد أولًا.
سبب Meta كما أرسلته Meta بالضبط — هنا الرمز INCORRECT_CATEGORY — وUse in Campaign رمادي حتى يُعتمد القالب. لقطات الشاشة معروضة بالإنجليزية — التطبيق غير متوفر بهذه اللغة بعد.

لا يمكن إصلاح قالب مرفوض داخل Omni Octo. عدّله في WhatsApp Manager وأعِد تقديمه هناك، أو اطلب من Octo إنشاء نسخة مصحَّحة باسم جديد.

متابعة اعتماد القالب

اترك /templates/whatsapp مفتوحة ولن تحتاج إلى تحديثها. حين تخبرنا Meta أنها اعتمدت أو رفضت أو أوقفت مؤقتًا أو عطّلت قالبًا موجودًا لدى Omni Octo، يتغيّر الصف من تلقاء نفسه ويظهر إشعار: Template is now Approved.

لا يعمل ذلك إلا مع قالب يعرفه Omni Octo بالفعل — قالب أنشأه Octo، أو قالب زامنته حين كان ما زال Pending. أما القالب الذي كتبته في WhatsApp Manager ولم تزامنه قطّ فليس في الصفحة بعد، فلا شيء لتحديثه: زامِنه.

حذف قالب

يسأل Delete في لوحة القالب أولًا:

Delete template “pickup_confirmation”? This removes it from Meta as well.

لا يُزال من Omni Octo فحسب — بل يُحذف في Meta نفسها. أما الحذف من WhatsApp Manager فيزيله في Meta، ثم يختفي من Omni Octo عند مزامنتك التالية.

«اعتمدته في Meta وليس هنا»

راجع القائمة بالترتيب:

  1. زامِن. اضغط Sync from Meta. القالب المكتوب في WhatsApp Manager لا يُجلب من تلقاء نفسه أبدًا.
  2. تحقّق أن الرقم نشط. مع All channels لا تُزامَن إلا الأرقام النشطة. إن كان القالب يخص رقمًا فيه خطأ أو ما زال قيد الإعداد، فاختر ذلك الرقم في عامل التصفية Channel وزامِنه وحده — والخطأ الذي تعيده Meta سيقول ما المشكلة. داخل محادثة، يزامن المنتقي رقم تلك المحادثة فقط.
  3. تحقّق من عوامل التصفية. قد يخفيه عامل تصفية للحالة أو اللغة أو البحث. مع تفعيل عوامل التصفية وعدم وجود تطابق، تقول الصفحة No templates match your filters.
  4. تحقّق من حساب WhatsApp Business. تقرأ المزامنة الحساب الذي يتصل الرقم من خلاله. القالب المُنشأ في حساب أعمال آخر في WhatsApp Manager لن يُجلب.
  5. اقرأ الخطأ. إن رفضت Meta المزامنة، يظهر الخطأ حيث ضغطت الزر — في الصفحة إشعارًا (مع All channels، إشعار لكل رقم فشل، باسم الرقم)، وفي المنتقي تحت الزر.

حين يظهر Approved، يكون جاهزًا لأي من طرق الإرسال الأربع.

إلى أين بعد ذلك