واجهة Shopify البرمجية 2026-10: ما الذي قد يتعطل في تكاملاتكم

أصدرت Shopify الإصدار 2026-10 من واجهاتها البرمجية في 1 أكتوبر 2026. معظمه ميزات جديدة يمكنكم تجاهلها إلى أن تحتاجوا إليها. لكن هناك عدداً قليلاً من التغييرات قد يعطّل بصمت تكاملاً كان يعمل جيداً على الإصدار 2026-07، وهذه تستحق ساعة من وقتكم قبل أن ترفعوا رقم الإصدار.

هذه هي القائمة التي نراجع بها تكاملاتنا، ومنها موصّل Shopify لـ Odoo. ليست كل سطر في ملاحظات الإصدار، بل التغييرات التي تغيّر السلوك فقط.

تغييرات تعطّل الأمور بصمت

خدمات الشحن الجديدة لا تعرض أسعارها عند الدفع من تلقاء نفسها

إنشاء خدمة شحن عبر carrierServiceCreate (أو POST carrier_services.json في REST) صار يسجّل الخدمة فقط، ولا يضيف أسعارها إلى ملف الشحن العام (General). فإذا كان تطبيقكم أو سكربت التهيئة لديكم ينشئ خدمة شحن ويتوقع أن يرى العملاء أسعاركم، فلن يروها حتى تضيفوا الخدمة إلى ملف شحن بأنفسكم.

تغيير عنوان الشحن يعيد احتساب الضرائب

تحديث عنوان الشحن لطلب لم يُنفَّذ بعد عبر orderUpdate أو عبر نقطة تحديث الطلب في REST صار يعيد احتساب ضرائبه. هذا هو السلوك الصحيح، لكن إذا كنتم تغيّرون العناوين من نظام ERP أو من أداة دعم، فقد يتغير إجمالي الطلب دون أن تنتبهوا. اقرأوا taxLines وtotalTaxSet والإجماليات مرة أخرى بعد التحديث، وسوّوا أي فرق في المبلغ المدفوع أو المسترد.

تحذيرات خصم المسودات فقدت priceRule

أُزيل DraftOrderDiscountNotAppliedWarning.priceRule مع أنواع PriceRule القديمة. إذا كنتم تنشئون طلبات مسودة عبر draftOrderCalculate أو draftOrderCreate أو draftOrderUpdate وتقرأون سبب عدم تطبيق الخصم، فاستخدموا discountTitle وdiscountCode بدلاً منهما.

فلاتر الحقول الوصفية الخاطئة صارت تفشل بوضوح

كان استعلام المنتجات الذي يفلتر بحقل وصفي (metafield) لا يدعم الفلترة يتجاهل هذا الجزء من الفلتر ويعيد كل شيء. أصبح الآن يعيد خطأً. هذا أفضل، لكن أي مزامنة ظلت تعيد «كل المنتجات» لأشهر ستبدأ بالفشل يوم تنتقلون إلى الإصدار الجديد. تحققوا من أن تعريفات الحقول الوصفية التي تفلترون بها تدعم الفلترة والعوامل التي تستخدمونها.

يمكن أن يكون للمتغير الواحد أكثر من باركود

ProductVariant.barcodes اتصال (connection) جديد يضم ما يصل إلى 20 باركوداً مصنّفاً بنوعها. أما ProductVariant.barcode القديم فهو متقادم ولا يعيد سوى الأول. إذا كان مستودعكم أو نقطة البيع لديكم تطابق المنتجات بالباركود، فاقرأوا القائمة كاملة.

اختفى خطأ واحد من المخزون

أُزيل ITEM_NOT_STOCKED_AT_LOCATION من عمليات تعديل المخزون ومن InventorySetQuantitiesUserErrorCode. أي كود يتفرع بناءً عليه صار كوداً ميتاً، فاحذفوه كي لا يعتمد عليه أحد لاحقاً.

تغييرات أصغر تستحق البحث عنها في كودكم

  • شرائح العملاء. حلّ MATCHES وNOT MATCHES محل = true و= false، وأصبحت التواريخ المسمّاة مثل 12_months_ago متقادمة لصالح الإزاحات مثل -12m.
  • موافقة الرسائل النصية. حقول موافقة SMS المسطّحة متقادمة. اقرأوا CustomerPhoneNumber.smsMarketingConsent.
  • الخصومات ضمن الطرح التدريجي. لا يدل startsAt وendsAt الخاصان بالخصم على كونه فعّالاً عندما يكون جزءاً من طرح تدريجي (rollout). قراءة Discount.rollouts تتطلب صلاحية read_rollouts.
  • حالة التنفيذ. FULFILLMENT_NOT_REQUIRED قيمة جديدة. أي switch يطابق كل الحالات سيقع في الحالة الافتراضية.
  • واجهة Customer Account API. أُزيل Customer.lastIncompleteCheckout وأنواع Checkout دون بديل.
  • امتدادات واجهة POS. عمليات السلة مثل applyCartDiscount صارت تُرفض إذا لم يؤكد POS التغيير، وأُزيل session.currentSession.staffMemberId.

موعدان نهائيان لا علاقة لهما بالإصدار 2026-10

إذا كنتم تديرون تطبيقاً عاماً، فيجب استبدال رموز الوصول غير المنتهية (offline access tokens) برموز تنتهي صلاحيتها قبل 1 يناير 2027. التطبيقات المخصصة والتطبيقات التي ينشئها التاجر في Dev Dashboard مستثناة. وتتوقف سكربتات الوسوم (script tags) في المتجر الإلكتروني عن العمل في 1 مارس 2027؛ وقد كتبنا بشكل منفصل ماذا يعني ذلك للمتاجر.

كيف نرفع الإصدار

نثبّت إصدار الواجهة في مكان واحد، ونشغّل التكامل على متجر تطوير بالإصدار الجديد، ونقرأ سجل تغييرات 2026-10 مفلتراً على «Action required». الإصدار 2026-10 مدعوم حتى 1 أكتوبر 2027 على الأقل، فالوقت متاح، لكنه ليس كافياً لتؤجلوا العمل إلى أن تصلكم رسائل التحذير.

وإذا كان متجركم يتصل بـ Odoo أو بنظام آخر وتفضلون أن يتولى غيركم هذا العمل، فهذا ما نقوم به.

تابعوا القراءة: توقف Script Tags في Shopify عن العمل في 1 مارس 2027: ما الذي يجب على أصحاب المتاجر فعله، أو ربط Shopify بـ Odoo 19 Community خطوة بخطوة.

هل استفدتم من هذا المقال؟

يسعدني الحصول على بريدكم الإلكتروني لأرسل لكم مقالات مثل هذا كلما نُشر مقال جديد.

    لن أرسل لكم رسائل مزعجة. يمكنكم إلغاء الاشتراك في أي وقت.