الدليل الكامل لوظائف Shopify: تخصيص منطق الأعمال على نطاق واسع

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

E
ECOSIRE Research and Development Team
|16 مارس 20268 دقائق قراءة1.7k كلمات|

الدليل الكامل لوظائف Shopify: تخصيص منطق الأعمال على نطاق واسع

تسمح وظائف Shopify للمطورين بتخصيص منطق التجارة الأساسي الذي يتم تشغيله داخل البنية التحتية لـ Shopify بدلاً من تشغيله على خوادم خارجية. وهذا يعني أن حسابات الخصم المخصصة، وتصفية طرق الدفع، وتعديلات أسعار الشحن، والتحقق من سلة التسوق يتم تنفيذها بالمللي ثانية دون زمن استجابة الشبكة. حلت الوظائف محل محرر البرامج النصية (Shopify Scripts) وتمثل مستقبل تخصيص الواجهة الخلفية على النظام الأساسي. يغطي هذا الدليل كل أنواع الوظائف وسير عمل التطوير ونمط النشر.

الوجبات السريعة الرئيسية

  • يتم تنفيذ وظائف Shopify في وضع الحماية WebAssembly داخل البنية التحتية لـ Shopify، مما يضمن أوقات تنفيذ أقل من 5 مللي ثانية
  • تتوفر خمس واجهات برمجة تطبيقات للوظائف: الخصومات، وتخصيص الدفع، وتخصيص التسليم، والتحقق من سلة التسوق، وتوجيه الطلب
  • تتم كتابة الوظائف بلغة Rust أو JavaScript أو أي لغة يتم تجميعها إلى WebAssembly
  • تتلقى كل وظيفة مدخلات عبر نتائج استعلام GraphQL وتقوم بإرجاع المخرجات المنظمة التي ينطبقها Shopify على العملية
  • يتم نشر الوظائف كجزء من تطبيقات Shopify ويمكن للتجار تهيئتها من خلال المسؤول

ما هي وظائف Shopify؟

وظائف Shopify هي برامج خفيفة الوزن تقوم بتخصيص عمليات تجارية محددة في نقاط تمديد محددة مسبقًا. على عكس خطافات الويب (التي ترسل البيانات إلى خوادم خارجية)، تعمل الوظائف داخل البنية التحتية لـ Shopify كوحدات WebAssembly، مما يضمن:

  • السرعة: تنفيذ أقل من 5 مللي ثانية (لا يوجد زمن استجابة للشبكة)
  • الموثوقية: لا توجد تبعيات لخادم خارجي
  • المقياس: يتعامل مع أي حجم حركة مرور دون تخطيط السعة
  • الأمان: تنفيذ في وضع الحماية بدون الوصول إلى نظام الملفات أو الشبكة

واجهات برمجة التطبيقات الوظيفية

واجهة برمجة التطبيقاتالغرضيستبدل
خصوماتمنطق الخصم المخصص (BOGO، متدرج، مشروط)Shopify البرامج النصية (خصومات البنود)
تخصيص الدفعإظهار/إخفاء/إعادة ترتيب طرق الدفع عند الخروجطريقة الدفع المنطق الشرطي
تخصيص التسليمتعديل أسعار الشحن والأسماء والتوفرمخطوطات سعر الشحن
التحقق من صحة العربةالتحقق من صحة محتويات سلة التسوق وحظر المجموعات غير الصالحةالتحقق من صحة سمة سلة التسوق
توجيه الطلبتخصيص اختيار موقع الوفاءتوجيه الموقع الافتراضي

بيئة التطوير

المتطلبات الأساسية

  • Shopify CLI (أحدث إصدار)
  • نود.جي إس 18+
  • حساب Shopify Partner ومتجر التطوير
  • سلسلة أدوات Rust (للوظائف المستندة إلى Rust) أو وقت تشغيل JavaScript

إنشاء وظيفة

قم ببناء وظيفة جديدة باستخدام Shopify CLI:

قم بتشغيل npx shopify app generate extension وحدد نوع الوظيفة. يقوم سطر الأوامر بإنشاء:

ملفالغرض
src/run.js (أو run.rs)منطق الوظيفة
input.graphqlاستعلام GraphQL يحدد بيانات الإدخال
shopify.extension.tomlالتكوين والبيانات الوصفية
schema.graphqlمخطط Shopify API (يتم إنشاؤه تلقائيًا)

سير عمل التطوير

  1. تحديد استعلام الإدخال: اكتب استعلام GraphQL في input.graphql الذي يجلب البيانات التي تحتاجها وظيفتك
  2. تنفيذ المنطق: اكتب الوظيفة في src/run.js التي تحول الإدخال إلى مخرجات
  3. الاختبار محليًا: تشغيل اختبارات الوحدة باستخدام npx shopify app function test
  4. النشر: اضغط على Shopify باستخدام npx shopify app deploy
  5. التكوين: يقوم التجار بتكوين معلمات الوظيفة من خلال واجهة مستخدم التطبيق

وظائف الخصم

كيف تعمل وظائف الخصم

تتلقى وظيفة الخصم بيانات سلة التسوق (العناصر ومعلومات العميل وأكواد الخصم) وتقوم بإرجاع عمليات الخصم لتطبيقها. تعمل الوظيفة في كل مرة يتم فيها تقييم سلة التسوق --- عند تحميل الصفحة، وإضافة/إزالة العنصر، وإدخال الخروج.

أنماط الخصم الشائعة

اشتر X واحصل على Y: عندما تحتوي سلة التسوق على المنتج X، قم بتطبيق نسبة مئوية أو خصم ثابت على المنتج Y.

الخصومات المتدرجة: تطبيق خصومات متزايدة بناءً على إجمالي سلة التسوق (10% على أكثر من 100 دولار أمريكي، 15% على أكثر من 200 دولار أمريكي، 20% على أكثر من 500 دولار أمريكي).

التسعير الخاص بالعميل: تحقق من علامات العميل أو حقول التعريف وقم بتطبيق الخصومات الخاصة بالقطاعات (الجملة، VIP، الموظف).

خصومات على الحِزم: عند وجود مجموعات منتجات معينة في سلة التسوق، قم بتطبيق خصم على الحزمة (اشترِ الثلاثة جميعًا، ووفر 25%).

خصومات على الكميات: تطبيق خصومات لكل وحدة على أساس الكمية (1-9 وحدات بالسعر الكامل، 10-24 بخصم 10%، 25+ بخصم 20%).

مثال لاستعلام الإدخال

يطلب استعلام إدخال دالة الخصم عادةً ما يلي:

  • عناصر سطر سلة التسوق مع معرفات المنتجات ومعرفات المتغيرات والكميات والأسعار
  • معلومات العميل (المعرف، العلامات، حقول التعريف) في حالة استخدام تجزئة العملاء
  • رمز الخصم في حالة التحقق من صحة الخصم القائم على الرمز
  • حقول تعريف المنتج لقواعد الخصم الخاصة بالمنتج

هيكل الإخراج

تقوم الدالة بإرجاع مجموعة من عمليات الخصم:

عمليةالوصف
productDiscountتطبيق الخصم على منتجات/متغيرات محددة
orderDiscountتطبيق الخصم على إجمالي الطلب
freeShippingإزالة رسوم الشحن

تتضمن كل عملية قيمة الخصم (نسبة مئوية أو مبلغ ثابت)، ورسالة تظهر للعميل، والشروط التي يتم تطبيقها بموجبها.

وظائف تخصيص الدفع

حالات الاستخدام

  • إخفاء طرق الدفع: إخفاء "الدفع عند الاستلام" للطلبات التي تتجاوز الحد الأدنى
  • طرق إعادة الطلب: اعرض طريقة الدفع الأكثر شيوعًا أولاً بناءً على موقع العميل
  • إعادة تسمية الطرق: عرض أسماء طرق الدفع المحلية
  • إضافة رسالة: عرض معلومات إضافية بجوار طرق دفع محددة

نمط التنفيذ

تتلقى الوظيفة تفاصيل سلة التسوق وطرق الدفع المتاحة. تقوم بإرجاع العمليات التي تعدل قائمة طرق الدفع:

عمليةتأثير
hideإزالة طريقة الدفع من الخروج
renameتغيير اسم العرض لطريقة الدفع
moveإعادة ترتيب طرق الدفع

وظائف تخصيص التسليم

حالات الاستخدام

  • إعادة تسمية خيارات الشحن: اعرض "التسليم السريع (2-3 أيام)" بدلاً من أسماء أسعار شركات النقل
  • إخفاء الخيارات: إزالة الشحن الأرضي للمنتجات القابلة للتلف
  • خيارات إعادة الطلب: إظهار الخيار الأسرع أولاً للطلبات العاجلة
  • إضافة رسالة: عرض مواعيد التسليم المقدرة بجوار كل خيار

التنفيذ

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

وظائف التحقق من سلة التسوق

حالات الاستخدام

  • حدود الكمية: الحد الأقصى 5 وحدات من المنتجات ذات الإصدار المحدود
  • قيود المجموعة: لا يمكن أن يكون المنتج أ والمنتج ب في نفس سلة التسوق (غير متوافق)
  • الحد الأدنى للمتطلبات: يجب أن تطلب حسابات الجملة ما لا يقل عن 100 دولار أمريكي
  • القيود الجغرافية: منع شحن بعض المنتجات إلى المناطق المحظورة

مخرجات التحقق

عند فشل التحقق من الصحة، تقوم الدالة بإرجاع خطأ مع:

  • الهدف: أي خط عربة التسوق أو عربة التسوق نفسها
  • الرسالة: رسالة خطأ تواجه العميل
  • الخطورة: خطأ (يمنع الخروج) أو تحذير (يسمح ولكن يُعلم)

وظائف الاختبار

اختبار الوحدة

وظائف الاختبار محليًا دون النشر:

  1. إنشاء تركيبات اختبار مع بيانات إدخال العينة
  2. قم بتشغيل الوظيفة على التركيبات
  3. التأكد من أن المخرجات تطابق النتائج المتوقعة

يقوم Shopify CLI بإنشاء نموذج اختبار:

سيناريو الاختبارما يجب التحقق منه
عربة فارغةلا تُرجع الدالة أي عمليات
عربة التأهلتم تطبيق الخصم/التعديل الصحيح
حالات الحافةالقيم الحدودية، الكميات القصوى
معالجة الأخطاءتم التعامل مع المدخلات غير الصالحة بأمان
الأداءيكتمل التنفيذ في أقل من 5 مللي ثانية

وضع المعاينة

وظائف الاختبار في متجر التطوير قبل النشر:

  1. انشر الوظيفة في متجر التطوير الخاص بك
  2. قم بتكوينه من خلال مسؤول التطبيق
  3. أضف المنتجات إلى سلة التسوق وتحقق من السلوك
  4. تحقق من سجلات تنفيذ الوظيفة في مخرجات Shopify CLI

اعتبارات الأداء

حدود التنفيذ

الحدالقيمة
وقت التنفيذ5 مللي ثانية كحد أقصى
الذاكرة12 ميجا
حجم الإدخال64 كيلو بايت
حجم الإخراج64 كيلو بايت
تعليماتمليون تعليمات وسم

نصائح للتحسين

  • قم بتقليل استعلام الإدخال إلى الحقول التي يحتاجها المنطق الخاص بك فقط
  • تجنب الحلقات المتداخلة المعقدة --- استخدم خرائط التجزئة لعمليات البحث
  • حساب القيم مسبقًا في تكوين التطبيق وليس في الوظيفة
  • استخدم Rust للوظائف ذات الأداء الحيوي (2-3 مرات أسرع من JavaScript)
  • تنفيذ وظيفة الملف الشخصي باستخدام أدوات أداء Shopify CLI

تكوين التاجر

واجهة المستخدم لتكوين التطبيق

يتم تكوين الوظائف من خلال واجهة مستخدم التطبيق الخاص بك، وليس مباشرة في مسؤول Shopify. قم بإنشاء صفحة التكوين التي:

  1. يعرض الغرض من الوظيفة والإعدادات الحالية
  2. يسمح للتجار بتعيين المعلمات (الحدود، اختيارات المنتجات، النسب المئوية)
  3. يخزن التكوين كحقول تعريف تقرأها الوظيفة في وقت التشغيل
  4. التحقق من صحة المدخلات قبل الحفظ

تخزين التكوين

تكوين وظيفة المتجر باستخدام حقول تعريف التطبيق:

  • الحقول التعريفية للخصم: مبالغ الحد الأدنى، وقيم النسبة المئوية، ومعرفات المنتجات
  • تخزين بيانات التطبيق: تكوين معقد مثل القواعد المتدرجة وشرائح العملاء
  • تكوين الوظيفة: تم تمريرها كجزء من إدخال الوظيفة عبر استعلام الإدخال

خدمات تطوير وظائف ECOSIRE

تتطلب وظائف Shopify المخصصة خبرة في مجال التجارة ومهارات تطوير WebAssembly. تتضمن [خدمات تطوير تطبيقات Shopify] (/services/shopify/app-development) من ECOSIRE تصميم الوظائف وتنفيذها واختبارها ونشرها. يقوم فريقنا ببناء محركات الخصم، وتخصيصات الدفع، ومنطق التحقق المصمم خصيصًا لقواعد عملك. لتلبية الاحتياجات المستمرة، تحافظ خدمات الدعم لدينا على وظائفك المخصصة وتطورها مع تقدم منصة Shopify.

القراءة ذات الصلة

هل تحل وظائف Shopify محل نصوص Shopify النصية؟

نعم. تم إهمال البرامج النصية لـ Shopify وتم استبدال الوظائف. الاختلافات الرئيسية: تعمل الوظائف كـ WebAssembly (وليس Ruby)، وتنشر من خلال التطبيقات (وليس محرر البرامج النصية)، وتدعم المزيد من نقاط الامتداد. تستمر البرامج النصية الموجودة في العمل ولكن Shopify يوصي بالانتقال إلى الوظائف.

هل يستطيع غير المطورين إنشاء وظائف Shopify؟

ليس مباشرة. تتطلب الوظائف معرفة برمجية (JavaScript أو Rust). ومع ذلك، يمكن للمطورين إنشاء تطبيقات باستخدام واجهات مستخدم التكوين التي تتيح للتجار تخصيص سلوك الوظيفة دون الحاجة إلى تعليمات برمجية. تستخدم العديد من التطبيقات الموجودة على Shopify App Store الوظائف داخليًا أثناء تقديم واجهة سهلة الاستخدام للتاجر.

هل هناك حد لعدد الوظائف التي يمكن تشغيلها في متجر واحد؟

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

E

بقلم

ECOSIRE Research and Development Team

بناء منتجات رقمية بمستوى المؤسسات في ECOSIRE. مشاركة رؤى حول تكاملات Odoo وأتمتة التجارة الإلكترونية وحلول الأعمال المدعومة بالذكاء الاصطناعي.

الدردشة على الواتساب