برومبت ليمونة لاسترجاع السلات المتروكة (Abandoned Cart Recovery)
بواسطة عمران القيراطه
دليل عملي: انسخ البرومبت التالي كما هو، ثم اتبع خطوات المراجعة قبل وبعد التنفيذ لضمان نتيجة آمنة وقابلة للنشر.
المحتويات
قبل البدء
وصّل موصّل
Lymonah MCPبحساب منصّتك، ثم افتح محادثة جديدة مع المساعد.تأكّد أن باقتك تشمل أتمتة الرسائل، وأن لديك رصيداً في رسائل التسويق الشهرية.
جهّز إجابة واحدة: حجم الخصم الذي تقبل تقديمه لاسترجاع السلة ومدّة صلاحيته، أو أنك لا تريد خصماً أصلاً.
طريقة الاستخدام
انسخ نص البرومبت كاملاً من الإطار أدناه.
الصقه في محادثة جديدة، وأجب عن السؤال الأول فقط إذا طلبه البرومبت.
اتركه ينفّذ المراحل بالترتيب، ولا تشغّل السلسلة قبل قراءة نصوص الرسائل ومواعيدها.
البرومبت
أنت المسؤول عن استرجاع السلات المتروكة في منصّات ليمونة. أنت متصل بمنصّتي عبر موصّل Lymonah MCP، ولديك إذن بقراءة الأتمتات والطلبات، وبإنشاء أتمتة الاسترجاع وتحديثها.
مهمتك: بناء سلسلة استرجاع كاملة للسلات المتروكة في تمريرة واحدة، ثم تسليمها لي مطفأة مع تقرير واضح أراجعه قبل تشغيلها.
نقطة القرار الوحيدة: إن لم أحدّد حجم الخصم، اسأل سؤالاً واحداً فقط: "ما الخصم الذي تقبل تقديمه لاسترجاع السلة، وكم مدّة صلاحيته؟ أو أخبرني أنك لا تريد خصماً." ولا تتوقّف عند أي شيء آخر.
قاعدة لغة الإخراج:
- هذه التعليمات مكتوبة بالعربية لتسهيل استخدامها، ولا تعني أن مخرجاتك عربية.
- اقرأ اللغة الأساسية للمنصّة من get-tenant-branding (default_locale)، واكتب كل نصوص الرسائل بتلك اللغة بأسلوب نظيف ومقنع.
- لا تستخدم الشرطة الطويلة في أي مكان.
- أسماء الأدوات هنا مكتوبة بلا لواحق، فإن عرضها موصّلك بلاحقة -tool فاستخدمها كما تظهر عنده.
--- ما يجب أن تعرفه عن السلات المتروكة في ليمونة (غير قابل للمخالفة) ---
1. المشغّل اسمه cart.abandoned. يعمل مرّة واحدة لكل سلة، بعد أن تبقى نحو ساعة بلا حركة، وللطلبات غير المدفوعة التي قيمتها أكبر من صفر ولها بريد يمكن مراسلته.
2. كل منصّة تُولد عندها أتمتة استرجاع افتراضية جاهزة ومطفأة. ابحث عنها أولاً عبر list-workflows بفلتر trigger_event = cart.abandoned. إن وجدتها فطوّرها عبر get-workflow ثم update-workflow. لا تنشئ سلسلة استرجاع ثانية أبداً، لأن سلسلتين تعنيان رسالتين لكل عميل.
3. في update-workflow حقل steps هو القائمة الكاملة النهائية وليس فرقاً: أي خطوة لا ترسلها تُحذف، وأي خطوة تحتفظ بـ uid تحتفظ بهويتها وبأي تشغيل ينتظر عندها. اقرأ الأتمتة أولاً، عدّل القائمة التي تعيدها، ثم أعدها كاملة.
4. زر إتمام الشراء يُضاف تلقائياً إلى كل رسالة من هذا المشغّل. لا تكتب رابط الدفع داخل نص الرسالة، ولا تطلب مني رابطاً.
5. حقول الدمج المتاحة في الرسائل: {{ name }} و{{ email }} و{{ order_number }} و{{ cart_total }} و{{ items_count }}. وبعد خطوة generate_coupon تتاح كذلك {{ coupon_code }} و{{ discount }} و{{ discount_duration }}. لا تخترع أي رمز آخر.
6. إذا أتمّ العميل الدفع توقّفت بقية السلسلة تلقائياً وسُجّل الطلب مسترجَعاً. فلا تضف شرطاً يسأل "هل اشترى؟"، ولا خطوة تتحقّق من الدفع.
7. رسائل هذا المشغّل تُحسب من رصيد رسائل التسويق الشهري في باقتي. اجعل عدد الرسائل ثلاثاً كحدّ أقصى ما لم أطلب غير ذلك.
8. الحدود التقنية: خطوة wait تقبل delay_unit بقيمة hours أو days وdelay_value من 1، وكل انتظار يُحسب من الخطوة التي قبله لا من لحظة ترك السلة. والكوبون المولّد duration_hours بين 1 و168، وdiscount_value نسبة بين 1 و100 أو مبلغ ثابت بالوحدة الصغرى للعملة، وmax_uses افتراضه 1 ويُحجز للعميل نفسه حين يكون معروفاً.
9. شروط المشغّل تقبل cart_total وitems_count وorder_number فقط. قيمة cart_total بالوحدة الصغرى للعملة، فوضّح الوحدة في تقريرك.
10. لا تختلق ندرة ولا أرقاماً. اذكر في النصوص القيم الحقيقية فقط: نسبة الخصم الحقيقية ومدّتها الحقيقية.
11. سلّم الأتمتة مطفأة. لا تستدعِ set-workflow-enabled إلا بعد موافقتي الصريحة.
--- سير العمل (تمريرة واحدة، بلا توقّف بعد معرفة الخصم) ---
المرحلة 0: القراءة
- استدعِ ping، وget-tenant-branding (اللغة والعملة)، وlist-workflow-triggers وlist-workflow-actions (أسماء الحقول كما يقبلها الحفظ فعلاً)، وlist-workflows بفلتر cart.abandoned، وlist-orders بحالة pending لتقدير حجم السلات غير المكتملة.
- اطبع: هل توجد أتمتة استرجاع؟ ما حالتها وخطواتها الحالية؟ وكم سلة معلّقة تقريباً؟
المرحلة 1: خطة السلسلة قبل البناء
- اكتب السلسلة المقترحة خطوة خطوة، بتوقيتها وسبب كل رسالة. الافتراض الجيد ثلاث رسائل:
1) انتظار ساعة، ثم تذكير ودود بلا خصم يعالج النسيان وحده.
2) انتظار يوم، ثم كوبون بالمدّة المتّفق عليها، ورسالة تذكر الخصم ومدّته.
3) انتظار يومين، ثم رسالة أخيرة قبل انتهاء الكوبون.
- تحقّق حسابياً أن آخر رسالة تصل قبل انتهاء صلاحية الكوبون. إن تجاوزت مدّة الانتظار عمر الكوبون فمدّد duration_hours أو قرّب الرسالة.
- إن رفضتُ الخصم، أبدل الرسالة الثانية بمعالجة اعتراض: ضمان، أو دعم، أو طريقة دفع أخرى، بلا كوبون.
- إن كانت أسعار المنصّة متفاوتة، اقترح شرطاً على cart_total يقصر السلسلة على السلات ذات القيمة المعتبرة، ووضّح الرقم بالوحدة الصغرى.
- اطبع الخطة ثم تابع بلا انتظار موافقة.
المرحلة 2: البناء
- إن وُجدت أتمتة قائمة: get-workflow ثم update-workflow بالقائمة الكاملة للخطوات، مع إبقاء enable على false.
- إن لم توجد: create-workflow بالمشغّل cart.abandoned وبالخطوات، أو create-automation-from-template بالقالب recover-abandoned-cart ثم أكمل ما تركه فارغاً عبر update-workflow.
- اكتب نصوص الرسائل باللغة المكتشفة: موضوع واضح، وجسم قصير بصيغة HTML بسيطة مثل <p>، ونداء واحد إلى الإجراء. لا رابط دفع في النص.
المرحلة 3: التحقّق
- استدعِ get-workflow واقرأ الخطوات بترتيبها وتوقيتها وشروطها، وتأكّد أن الأتمتة ما تزال مطفأة.
المرحلة 4: الاختبار
- اختر طلباً حقيقياً غير مدفوع من list-orders، ثم شغّل test-workflow عليه. الاختبار لا يكتب شيئاً في المنصّة، لكنه يرسل رسائل حقيقية إلى بريدي أنا لا إلى العميل. أخبرني بما أُرسل ومتى وصل.
المرحلة 5: التقرير النهائي
- اعرض: اسم الأتمتة ومعرّفها، وكل خطوة بتوقيتها وإعداداتها، ونصوص الرسائل كاملة، وحدود الكوبون ومدّته مع توضيح الوحدة، وأي شيء ينقص قبل التشغيل.
- ذكّرني أن التشغيل يتمّ بـ set-workflow-enabled بعد موافقتي، وأن المتابعة بعد أسبوع تكون بـ list-workflow-runs وget-workflow-run لمعرفة من وصلته الرسائل ومن أتمّ طلبه.
- اذكر أي شيء تخطّيته.
--- أشكال الحمولة المرجعية (سكيمات الأدوات هي المرجع) ---
خطوة انتظار = {
"type": "wait",
"config": { "delay_value": 1, "delay_unit": "hours" }
}
خطوة كوبون = {
"type": "generate_coupon",
"config": { "discount_type": "percentage", "discount_value": 10, "duration_hours": 72, "max_uses": 1 }
}
خطوة رسالة = {
"type": "send_email",
"config": { "subject": "سلّتك ما زالت محفوظة", "body": "<p>مرحباً {{ name }}، طلبك رقم {{ order_number }} ما زال بانتظارك.</p>" }
}
شرط على المشغّل = { "field": "cart_total", "operator": "greater_than", "value": "5000" }
ابدأ الآن: نفّذ المرحلة 0 حتى المرحلة 5 في تمريرة واحدة، واسأل عن الخصم فقط إن لم أحدّده.بعد التشغيل
اقرأ التقرير النهائي، وتحقّق من ترتيب الخطوات ومواعيدها ونصوص الرسائل قبل أي شيء آخر.
راجع أن آخر رسالة تصل قبل انتهاء صلاحية الكوبون، وأن قيمة الخصم مكتوبة بالوحدة الصحيحة.
شغّل الاختبار على طلب حقيقي واقرأ الرسائل في بريدك، ثم شغّل السلسلة بـ
set-workflow-enabledعندما ترضى عنها.بعد أسبوع، اطلب من المساعد مراجعة
list-workflow-runsلتعرف كم سلة دخلت السلسلة وكم واحدة عادت واكتملت.
ملاحظات مهمة
ملاحظات للمسؤول عن المنصّة:
لا يكرّر ما هو موجود: منصّتك تأتي بأتمتة استرجاع افتراضية مطفأة، والبرومبت يبحث عنها ويطوّرها بدل إنشاء سلسلة ثانية ترسل رسالتين لكل عميل.
محايد للّغة: يقرأ لغة منصّتك وعملتها، ويكتب الرسائل بلغتك.
زر إتمام الشراء يُضاف تلقائياً في رسائل السلة المتروكة، فلا حاجة لكتابة رابط داخل النص.
لا يحتاج شرط "هل اشترى؟": بمجرّد دفع العميل تتوقّف بقية الرسائل ويُسجَّل الطلب مسترجَعاً.
رسائل السلة المتروكة تُحسب من رصيد رسائل التسويق الشهري، لذلك يقتصر البرومبت على ثلاث رسائل ما لم تطلب غير ذلك.
يسلّم السلسلة مطفأة دائماً، والتشغيل قرارك أنت بعد المراجعة والاختبار.
الاختبار يرسل رسائل حقيقية إلى بريدك أنت، ولا يصل العميل صاحب الطلب.
نقطة القرار الوحيدة: حجم الخصم ومدّته، وبس.
الملخص
دليل عملي: انسخ البرومبت التالي كما هو، ثم اتبع خطوات المراجعة قبل وبعد التنفيذ لضمان نتيجة آمنة وقابلة للنشر.
