Messenger Storefront (Mini App مدمج داخل التطبيق)
حوّل صفحة Facebook الخاصة بك إلى متجر كامل داخل التطبيق. ابنِ كتالوج منتجات أنيقًا متعدّد الصفحات — مع صور وفيديوهات وصفحات مُنسّقة ومساعد ذكي لكل منتج وأخذ طلبات بسيط — يُفتح داخل Messenger في اللحظة التي ينقر فيها العميل على زر “Open Storefront” في القائمة الثابتة (Persistent Menu) لصفحتك. لا متجر تطبيقات، لا موقع منفصل، لا عملية دفع لإدارتها. مجرّد نقرة، ويصبح عميلك يتصفّح.
مجانًا على كل خطة، بما في ذلك الفترة التجريبية. مبني في نفس المُؤلّف البصري بالسحب والإفلات الخاص بـ Telegram Storefront — نفس أنواع الكتل الـ 11، ونفس الثيمات الـ 6، ونفس الدردشة الذكية لكل منتج، ونفس دعوات إجراء الطلب البسيطة — في Integrations ← صفحة Facebook ← Configure mini app.
تتناول هذه الصفحة الـ Storefront Mini App الموجّه للعملاء الذي يأتي مع كل عملية دمج Meta (Facebook). يُشارَك محرّك الـ Storefront مع Telegram Storefront — نفس المُؤلّف، ونفس الكتل، ونفس الثيمات. يختلف المُطلِق (launcher) فقط وبعض السلوكيات الخاصة بـ Messenger.
ما يمكنك بناؤه
نفس أشكال Telegram Storefront — يُنقَل كل نوع كتلة وثيم:
- متجر بوتيك — لافتة hero + شبكة منتجات + دردشة لكل منتج + نموذج استفسار طلب. تصل الطلبات إلى صندوق الوارد لديك؛ يردّ أحد أعضاء الفريق من هناك.
- قائمة مطعم — متعدّد الصفحات (المقبّلات / الأطباق الرئيسية / المشروبات) + معرض صور + دفع في وضع cart مع حقل عنوان توصيل.
- كتالوج دورات أو خدمات — بطاقات منتجات مع كتلة Video تمهيدية وشهادات عملاء ودعوة إجراء “احجز مكالمة” تعود إلى الروبوت.
- صفحة كتيّب — hero + “حول” + معرض + بطاقة اتصال + أسئلة شائعة. بلا منتجات على الإطلاق. كتيّب أنيق للهاتف المحمول يعيش داخل صفحة Facebook الخاصة بك.
- صفحة هبوط لجمع العملاء المحتملين — صفحة واحدة، hero واحد، نموذج واحد، دعوة إجراء واحدة. أخفّ قمع Messenger ممكن.
لماذا يهمّ
- لا يغادر العملاء Messenger أبدًا. لا تثبيت تطبيق، لا نطاق يجب تذكّره، لا تدفّق دفع لتركه. يُفتح الـ Storefront في عارض الويب (WebView) الخاص بـ Messenger ويرث ثيم المستخدم ولغته.
- نقرة واحدة من محادثة صفحتك. يُبذَر إدخال “Open Storefront” واحد تلقائيًا في القائمة الثابتة في اللحظة التي تربط فيها صفحتك — بلا إعداد في Meta Business Suite، بلا مراجعة تطبيق، بلا توصيل webhook.
- دردشة منتجات ذكية بطبيعتها. الدردشة لكل منتج محصورة في المستندات التي تربطها أنت بذلك المنتج — يجيب المساعد عن “ما سياسة الإرجاع لهذا الفستان؟” دون تسريب حقائق من منتجات أخرى.
- تحويل الطلبات إلى إنسان حقيقي. نماذج الطلب البسيطة (وضع استفسار أو سلّة) تصل إلى صندوق الوارد لديك كتحويل منظّم، مع إبقاء الرسالة المباشرة في Messenger للعميل مفتوحة للمتابعة.
- مجانًا على كل خطة. حدّ الفترة التجريبية (5 صفحات / 25 كتلة لكل صفحة / 100 مستند منتج) يُرفَع على كل خطة مدفوعة. التسعير لكل مؤسّسة — إضافة صفحة Facebook ثانية لا تغيّر سعر فئتك.
لمحة سريعة
- متعدّد الصفحات، بالسحب والإفلات. ينقر المستخدمون النهائيون على رمز الهامبرغر (أعلى اليسار) للتبديل بين الصفحات. إذا نشرت صفحة واحدة، تُحمَّل بملء الشاشة.
- 11 نوع كتلة — Hero، Product card، Product grid، Carousel، Gallery، FAQ، Testimonial، CTA back-to-bot، Contact، Video، Rich text. (السلّة صفحة افتراضية تُحقَن تلقائيًا عند استخدامك دعوات طلب في وضع cart — لا كتلة “Cart review” منفصلة.)
- 6 ثيمات مع تجاوزات نمط لكل كتلة.
- دورة حياة Draft ← Publish مع رجوع بنقرة واحدة إلى آخر لقطة منشورة.
- قائمة ثابتة مبذورة تلقائيًا — زر “Open Storefront” واحد، عنوان قابل للتعديل، إجراء مقفل.
- آلية احتياطية في المحادثة الخارجية — تُسقَط الكتل إلى Generic Templates داخل المحادثة وQuick Replies وعروض صور دوّارة (carousels) لعملاء Messenger الأقدم.
- Help Center مدمج — سطح أسئلة شائعة مثبّت، دائمًا على بُعد نقرة واحدة. نفس اللوحة الخاصة بـ Telegram.
- لا مدفوعات، لا مخزون، لا شحن — هذا سطح كتالوج + جمع عملاء محتملين أنيق، وليس مكدّس تجارة إلكترونية كاملًا.
كيف يعثر عليه العملاء
تعرض كل صفحة Facebook مرتبطة قائمة ثابتة (Persistent Menu) لأي شخص يراسلها. نبذر إدخالًا واحدًا — “Open Storefront” (العنوان الافتراضي، قابل للتعديل إلى أي شيء بطول 1–32 حرفًا بأي لغة) — يفتح متجرك.
تدفّق الإطلاق هو postback:
- ينقر المستخدم النهائي على “Open Storefront” في القائمة الثابتة.
- يتلقّى الروبوت postback بـ
BROWSE_SHOWCASE، ويسكّ رمز إطلاق لمرة واحدة، ويرسل قالب زر (Button Template) بدعوة إجراء “Open Storefront” واحدة. - ينقر المستخدم النهائي على الزر ← يفتح Messenger عارض ويب (WebView) ← يُحمَّل الـ Storefront.
هذه نقرة إضافية واحدة مقارنةً بنهج “انقر القائمة ← عارض ويب فوري”. نستخدم نموذج postback لأن نموذج عارض الويب المباشر يفشل بصمت على شريحة معتبرة من عملاء Messenger الأقدم (خطأ Meta SDK رقم 2071011). مع postback عبر Button Template، يعمل كل عميل اختبرناه — ورمز المُطلِق للاستخدام مرة واحدة، ومرتبط بـ HMAC، ويعيش في الرسالة المباشرة للمستلِم، فلا يوجد تعرّض لإساءة استخدام روابط المشاركة.
الإجراء وحمولة الـ postback (BROWSE_SHOWCASE) مقفلان من جانب الخادم. الشيء الوحيد الذي تتحكّم فيه عبر لوحة الإدارة هو عنوان الزر.
المتطلّبات المسبقة
- دمج Meta (Facebook) مرتبط. يركب الـ Storefront فوقه — لا توجد عملية دمج منفصلة لإضافتها.
- (اختياري) صور المنتجات، ونصوص المنتجات، وإدخالات الأسئلة الشائعة، ومستندات قاعدة المعرفة لربطها بالدردشة لكل منتج.
بداية سريعة (5 دقائق)
أقصر طريق من “ربطت صفحة” إلى “أوّل عميل لي يتصفّح”:
- انتقل إلى Integrations ← صفحة Facebook الخاصة بك ← Configure mini app. يُفتح المُؤلّف في حالة Draft.
- انقر على ”+ Add page” في الشريط الأيسر. سمِّها (مثل “Home”).
- أضف كتلة Hero — عنوان رئيسي، عنوان فرعي، صورة خلفية بنسبة 16:9 (أفلِت صورة، يُفتح أداة الاقتصاص تلقائيًا).
- أضف بطاقة Product card — اسم، سعر، صورة بنسبة 1:1، وصف قصير. فعّل AI chat واربط مستندًا (ورقة مواصفات PDF، سياسة الشحن الخاصة بك — أي شيء من قاعدة معرفتك).
- أضف Order CTA على ذلك المنتج — اختر وضع
inquiry، واختر حقول النموذج (nameمطلوب دائمًا). - انقر على Publish. ننشر القائمة الثابتة تلقائيًا — تعرض قائمة صفحتك الآن “Open Storefront” لكل زائر.
- راسل صفحتك بنفسك من حساب Facebook مختلف. انقر على القائمة ← “Open Storefront” ← “Open Storefront” (الـ Button Template). انقر على منتجك. انقر على “Ask a question”. انقر على “Order this”. أرسل. سترى التحويل يصل إلى صندوق الوارد لديك خلال ثوانٍ.
هذا هو الحدّ الأدنى القابل للتطبيق من Messenger Storefront. أضف المزيد من الصفحات والمنتجات والثيمات والفيديوهات وHelp Center مع نموّك.
المُؤلّف
المُؤلّف هو نفس المحرّر الخاص بـ Telegram Storefront — راجع Telegram Storefront: The composer للجولة الكاملة (تخطيط من 3 أجزاء، دورة حياة draft/publish، أداة اقتصاص الصور، حدود الفئة). السطح الوحيد الخاص بالقناة هو تبويب Distribute.
تبويب Distribute (Messenger)
التبويب الأقصى يمينًا في المُؤلّف هو Distribute. على Messenger يعرض:
| القسم | ما يفعله |
|---|---|
| Persistent Menu label | حقل إدخال واحد قابل للتعديل لعنوان الزر. الافتراضي: Open Storefront. 1–32 حرفًا، أي لغة. الإجراء وحمولة الـ postback (BROWSE_SHOWCASE) مقفلان من جانب الخادم. |
| Ice Breakers | موجّهات بدء اختيارية تُعرض للزوّار لأول مرة (ميزة Messenger الأصلية). أضف حتى أربعة أسئلة قصيرة؛ يُظهرها Messenger كحبوب بنقرة واحدة في السلسلة الفارغة. |
| Publish to Messenger | أعِد دفع القائمة الثابتة + Ice Breakers يدويًا إلى Meta. مفيد بعد ربط صفحة مباشرةً إذا رُفض البذر التلقائي وقت الاتصال (مثلًا، لم تكن صلاحيات إدارة الصفحة قد انتشرت بعد). |
| Connect-your-Page banner | إذا رُبطت عملية دمجك قبل أن تمنحك Meta صلاحيات إدارة الصفحة، يرشدك شريط كهرماني ثابت عبر الخطوة المفقودة. |
لا توجد خطوة إعداد في Meta Business Suite. تُضبَط القائمة الثابتة تلقائيًا في اللحظة التي تربط فيها صفحتك، عبر Messenger Profile API من Meta. إذا فشل البذر التلقائي (نادر)، انقر على Publish to Messenger لإعادة المحاولة.
آلية احتياطية في المحادثة الخارجية للعملاء الأقدم
بالنسبة للمستخدمين النهائيين على عملاء Messenger الذين لا يستطيعون فتح عارض ويب على الإطلاق، لا يزال الـ Storefront يعمل — فهو يُسقِط نفسه في سلسلة المحادثة ذاتها. يربط محوّل Send API في outer_chat_adapter.py كلًّا من أنواع الكتل الـ 11 بعنصر أصلي في Messenger:
- Hero / Product card / CTA back-to-bot ← بطاقة Generic Template
- Product grid / Carousel ← عرض دوّار من Generic Template (تمرير متعدّد البطاقات)
- Gallery ← رسائل متسلسلة من الصور
- FAQ / Rich text ← رسائل نصية مع Quick Replies اختيارية
- Testimonial / Contact ← بطاقة Generic Template مع أزرار إجراء
- Video ← مرفق فيديو + تعليق
لا واجهة معطّلة، لا طرق مسدودة. نفس قائمة المنتجات، نفس دعوات الطلب — لكن معروضة كقوالب داخل المحادثة.
تدفّق الاسترداد للمستخدمين النهائيين
إذا وصل مستخدم نهائي إلى عارض ويب لا يستطيع تمهيد المصادقة (نادر جدًا — فقط على بعض العملاء القديمين جدًا)، يعرض الـ shell الخاص بالـ Storefront شريطًا ثابتًا أعلى الشاشة يربط مجددًا بصفحتك على m.me/{page_id}?ref=BROWSE_SHOWCASE. نقرة واحدة تعيدهم إلى سلسلة Messenger؛ ونقر “Open Storefront” مرة أخرى يمنحهم رمز مُطلِق جديدًا وهم عائدون إلى الداخل.
هذا تلقائي — لا يلزم إعداد إداري.
الطلبات والتحويلات
تعمل دعوات الطلب بنفس طريقة Telegram Storefront — وضع استفسار أو وضع سلّة، نفس حقول النموذج القابلة للتهيئة، نفس رسالة “Got your order” الفورية، نفس Order Request Panel في صندوق الوارد.
الفرق الوحيد الخاص بـ Messenger: تصل تحويلات الطلب إلى صندوق الوارد بـ metadata.type == "messenger_mini_app_order" (يستخدم Telegram mini_app_order). يعرض صندوق الوارد نفس اللوحة لكليهما.
تنطبق نافذة المراسلة لمدة 24 ساعة على رسائل المتابعة: تتيح Meta لك فقط مراسلة مستخدم خلال 24 ساعة من آخر رسالة واردة منه. يعيد postback إطلاق الـ Storefront ضبط النافذة، فتصل رسالة “Got your order” وأي متابعة من عضو الفريق بشكل طبيعي — لكن إذا التزم العميل الصمت لأكثر من 24 ساعة، ستحتاج إلى أن يراسل صفحتك مجددًا قبل أن تتمكّن من الرد.
راجع Telegram Storefront: Orders and cart للاطّلاع الكامل على تدفّق الطلب (حقول النموذج، حدود مكافحة الرسائل غير المرغوبة، نافذة منع التكرار) — كله مشترك مع Messenger.
نموذج المصادقة (لمن يهتمّ)
لا تحتاج إلى التفكير في هذا — تتولّاه المنصّة. لكن إن كنت فضوليًا:
- القراءات العامة (
/styleو/showcaseو/help-entries) عامة بالكامل، مُفتاحة بـ?i={integration_id}. لا cookie، لا signed_request، لا حدّ معدّل على هذه — يعرض كل عميل ببداية باردة الـ Storefront فورًا. - إجراءات الكتابة (
/askو/trackو/product-chat/streamو/order-inquiry) تتطلّب جلسة. المسار الأساسي: cookie من نوعmessenger_mini_app_sessionhttpOnly مسكوك من رمز إطلاق لمرة واحدة (مقسّم بـ CHIPS، حتى لا يحجبه متصفّح Messenger داخل التطبيق كطرف ثالث). الآلية الاحتياطية: HMAC الخاص بـsigned_requestمن Meta للعميل النادر الذي لا يزال SDK يعمل عليه.
هذا كل شيء. لا يرى أي عميل مطالبة بتسجيل الدخول أبدًا.
ما لا يفعله
نفس نطاق Telegram Storefront:
- لا مدفوعات. دعوات الطلب تحويلات استفسار، وليست Checkout API أو Stripe.
- لا تتبّع للمخزون. شارات التوفّر على بطاقات المنتجات تسميات نصية حرّة تعدّلها يدويًا (“Sold out”، “Pre-order”، “Last 3”).
- لا حسابات شحن / التحقّق من العناوين. يُجمَع عنوان التوصيل كنص حرّ.
- لا حسابات عملاء. يُعرَّف العملاء بمعرّف Messenger الخاص بهم (PSID)؛ لا يوجد تدفّق تسجيل دخول أو اشتراك.
- لا تعليقات صفحة أو منشورات صفحة. تتعامل عملية الدمج هذه فقط مع سلاسل Messenger وعمليات إطلاق الـ Storefront.
- لا Storefront في الرسائل المباشرة في Instagram (بعد). تغطّي عملية دمج Meta نفسها Messenger فقط؛ والرسائل المباشرة في Instagram هي محادثة نصية فقط.
- تنطبق نافذة المراسلة لمدة 24 ساعة. راجع أعلاه.
استكشاف الأخطاء وإصلاحها
”Open Storefront” لا يظهر في قائمة صفحتي
- افتح المُؤلّف ← تبويب Distribute ← انقر على Publish to Messenger.
- إذا رأيت شريطًا كهرمانيًا “Connect your Page”، أكمل تلك الخطوة أولًا — يحتاج البذر التلقائي إلى صلاحيات إدارة الصفحة.
- إذا بقي الشريط بعد إعادة النشر، اقطع اتصال عملية الدمج وأعد ربطها. يعمل البذر التلقائي بعد الاتصال من جديد.
يقول العميل إن الزر لا يفتح أي شيء
غالبًا ما يكون عميل Messenger قديمًا. يعرض الـ shell له شريط “العودة إلى المحادثة” بنقرة واحدة؛ يعيد فتح الصفحة، وينقر على “Open Storefront” مرة أخرى، فيحصل رمز المُطلِق التالي على استرداد جديد.
يُفتح الـ Storefront لكنني لا أستطيع إرسال طلب
تحقّق من أن:
- أنت داخل Messenger (وليس غلاف الويب العادي في Facebook).
- آخر رسالة واردة من العميل إلى صفحتك كانت قبل أقل من 24 ساعة (أو أنه نقر للتو على زر الإطلاق، الذي يعيد ضبط النافذة).
- صندوق وارد لديك معروض — قد يكون الطلب قد وصل، لكنه مُستبعَد بفلتر بحث أو حالة.
فشل البذر التلقائي وزر Publish to Messenger معطّل (رمادي)
تفتقر إلى صلاحيات إدارة الصفحة. انتقل إلى Integrations ← عملية دمج Meta الخاصة بك ← القائمة ثلاثية النقاط ← Reconnect. يعيد تدفّق OAuth مطالبتك بالنطاق المفقود.
ملاحظات مهمّة
- Storefront واحد لكل صفحة: لكل صفحة Facebook مسودّتها ومتجرها المنشور الخاص بها — مستقلّ عن الصفحات الأخرى في المؤسّسة نفسها.
- التسعير لكل مؤسّسة، وليس لكل صفحة: إضافة صفحة Facebook ثانية لا تغيّر سعر فئتك.
- مُؤلّف مشترك مع Telegram: إذا كنت تشغّل القناتين، فنفس المُؤلّف يبني كليهما — افتح فقط رابط “Configure mini app” لكل عملية دمج. لا تتقاطع الثيمات والكتل وإدخالات Help Center، لكن الأنماط تنتقل.
- محوّل المحادثة الخارجية تلقائي: لا تضبطه. كل كتلة تنشرها تُسقَط إلى Generic Templates / Quick Replies / عروض صور دوّارة لمسار الآلية الاحتياطية.