نقل البيانات من الإصدار الثاني من Content API إلى الإصدار 2.1

في آذار (مارس) 2019، أطلقنا الإصدار 2.1 من Content API في Shopping، وفي نيسان (أبريل) 2021، أعلنّا أنّه سيتم إيقاف الإصدار 2 نهائيًا في 30 أيلول (سبتمبر) 2021. تم إيقاف الإصدار 2 نهائيًا. يُرجى نقل البيانات إلى الإصدار 2.1 على الفور.

نقل تطبيقك

تتضمّن عملية نقل البيانات من الإصدار 2 إلى الإصدار 2.1 تعديل عناوين URL لنقاط النهاية من أجل طلب الإصدارات الجديدة 2.1 وتعديل تطبيقاتك لتراعي التغييرات غير المتوافقة التي تم إدخالها في الإصدار 2.1.

تعديل طلبات البيانات من واجهة برمجة التطبيقات لاستخدام نقاط نهاية الإصدار 2.1

لإجراء طلبات إلى الإصدار 2.1، عدِّل طلباتك لاستخدام نقاط النهاية الجديدة للإصدار 2.1.

على سبيل المثال، لاستدعاء الطريقة products.get باستخدام الإصدار 2، يمكنك استخدام ما يلي:

GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId

بالنسبة إلى الإصدار 2.1، عدِّل عنوان URL إلى:

GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId

للحصول على معلومات كاملة عن خدمات الإصدار 2.1 ونقاط النهاية، يُرجى الاطّلاع على مرجع واجهة برمجة التطبيقات.

إجراء التغييرات المطلوبة

بالإضافة إلى تعديل عناوين URL لطلبات البيانات من واجهة برمجة التطبيقات، عليك أيضًا تعديل تطبيقك ليراعي بعض التغييرات غير المتوافقة التي تم تقديمها في الإصدار 2.1. راجِع الأقسام التالية وعدِّل تطبيقك حسب الحاجة.

1. تعديل عمليات الدمج مع خدمة inventory

تمت إزالة خدمة الإصدار 2 من inventory، وتتوفّر وظائف مكافئة مع ميزات الإصدار 2.1 التالية:

  • استخدِم الخلاصات التكميلية الجديدة أو products.update لإجراء تعديلات جزئية على المنتجات. يمكن تعديل جميع حقول المنتجات القابلة للتغيير، بما في ذلك جميع الحقول التي تم تعديلها سابقًا باستخدام inventory.set (باستثناء الحقول الحصرية في localinventory). يمكنك الاطّلاع على نقل البيانات إلى خلاصات تكميلية لمزيد من التفاصيل.

  • استخدِم خدمة localinventory الجديدة للحصول على آخر الأخبار المحلية.

2. تعديل طلبات البيانات إلى خدمة accounts

  • تؤدي طلبات الطريقة accounts.update في الإصدار 2.1 إلى الكتابة فوق المورد accounts بالكامل، بدلاً من تعديل الحقول المضمّنة في الطلب فقط. لتجنُّب حذف الحقول من المرجع accounts، عدِّل طلباتك لتضمين جميع الحقول.

  • تمت إزالة reviewsUrl.

  • تمت إزالة حالة الربط inactive من adsLinks وgoogleMyBusinessLink وyoutubeChannelLinks.

3- تعديل طلبات البيانات إلى خدمة products

  • لم تعُد السمات المخصّصة تتضمّن نوعًا ووحدة. بدلاً من ذلك، يجب إلحاق الوحدات بالقيمة ويجب رصد الأنواع تلقائيًا.

  • تم استبدال كل من productType وadditionalProductTypes بالحقل المتكرّر productTypes.

  • تم استبدال الحقل المتكرّر destinations بالحقلَين المتكرّرَين includedDestinations وexcludedDestinations.

  • تمت إعادة تسمية الحقول التالية ذات الصلة ببرنامج AdWords:

    • adwordsGrouping -> adsGrouping
    • adwordsLabels -> adsLabels
    • adwordsRedirect -> adsRedirect
  • تمت إزالة الحقول التالية:

    • aspects
    • destinations
    • onlineOnly
    • validatedDestinations
    • warnings
  • تمت إزالة المَعلمة includeInvalidInsertedItems. في الإصدار 2.1، يتم عرض جميع المنتجات تلقائيًا.

  • يحدث الآن تأخير لبضع دقائق قبل أن يتم استرداد منتج تم إدراجه من خلال products.get أو products.list.

  • لم يعُد من المضمون أن تكون قيمة offerId المعروضة هي نفسها قيمة offerId التي تم إدخالها. تزيل الإصدار 2.1 المسافات البيضاء البادئة واللاحقة في offerId وتدمج أحرف المسافات البيضاء المتعددة في حرف واحد. لا يؤثر هذا التغيير في قيم offerId التي تتوافق مع offerId البنية المقترَحة.

  • يتم الآن التحقّق من صحة الأسعار قبل إدراج المنتجات. يُسمح فقط باستخدام الأحرف التالية في سلسلة القيم: + و- و. والأرقام (أي 0-9)، ولم يعُد يُسمح باستخدام الفواصل.

  • لا تحتوي الردود من مكالمة products.insert أو products.update إلا على السمات التالية:

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • تم إيقاف الخيار v2 includeAttributes نهائيًا. بدلاً من ذلك، استخدِم products.get مع ProductId لعرض معلومات المنتج الكاملة.

4. تعديل طلبات البيانات إلى خدمة productstatuses

  • تمت إزالة السمة product، بالإضافة إلى المَعلمة includeAttributes. لاسترداد سمات المنتج التي تتوافق مع حالة معيّنة، استخدِم خدمة products وأدخِل قيمة الحقل الجديد productId.

  • تمت إزالة المَعلمة includeInvalidInsertedItems. يتم الآن عرض productId لكل منتج بغض النظر عما إذا كان المنتج صالحًا.

  • تم استبدال الحقول intention وapprovalStatus وapprovalPending في destinationStatuses بالحقل status، وهو سلسلة يمكن أن تكون إحدى القيم approved أو disapproved أو pending.

  • تم استبدال "dataQualityIssues" بـ "itemLevelIssues".

5- تعديل طلبات البيانات إلى خدمة datafeeds

  • تم استبدال حقول الاستهداف التالية:

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinations وexcludedDestinations
  • تمت إزالة خلاصات البيانات التي تتضمّن contentType = "product inventory update".

6. تعديل طلبات البيانات من خدمتَي orders وTestOrders

  • في الإصدار 2.1، يجب ألا تتضمّن المكالمات بيانات الضريبة لأنّ بيانات الضريبة يتم احتسابها تلقائيًا. إذا تم تنفيذ الطلب في ولاية تسري فيها "قانون عدالة السوق" (MFA) أو قانون مشابه، ستتعذّر المكالمات التي تتضمّن بيانات الضرائب. إذا تم تنفيذ الطلب في ولاية لا تفرض ضريبة الحد الأدنى للبيع بالتجزئة، يتم احتساب الضريبة استنادًا إلى الإعدادات التي تم ضبطها في Merchant Center. إذا لم يتم ضبطها، تكون الضريبة المحسوبة 0.

  • تم استبدال الحقلَين InStoreRefundLineItem وReturnRefundLineItem amountPretax وamountTax بالحقلَين priceAmount وtaxAmount على التوالي. يمكن أن تكون priceAmount قبل الضريبة أو بعدها، وذلك حسب موقع الطلب.

  • تم نقل الحقول ShipLineItem carrier وshipmentId وtrackingId في الطلب إلى shipmentInfos.

  • أصبح الحقلان billingAddress وpredefinedBillingAddress حقلَين بارزَين في orders وTestOrder على التوالي.

  • تم استبدال customer.explicitMarketingPreference بـ customer.marketingRightsInfo.

  • تم تقسيم الحقل netAmount إلى netPriceAmount وnetTaxAmount.

  • تم استبدال "shippingOption" بـ "lineItems[].shippingDetails".

  • تمت إزالة الحقول CancelLineItem وamount وamountPretax وamountTax من الطلب. يتم الآن احتساب المبلغ المسترد تلقائيًا.

  • تمت إزالة CustomBatch.

  • تمت إزالة Refund. يمكنك استخدام refundOrder أو refundItem بدلاً من ذلك.

  • تمت إزالة الحقل paymentMethod.

  • تم استبدال الطريقتَين orders.returnlineitem وorders.refund من الإصدار 2 بالطريقتَين orderreturns.creatOrderReturn وorderreturns.process.

  • تمت إزالة الحقول customer.email وchannelType وlineItem.product.channel.

  • تمت إزالة الحقل promotions من خدمة TestOrder وتغيير تنسيقه في Order.

7. تعديل طلبات البيانات إلى خدمة orderinvoice

  • تم استبدال الحقلَين amountPretax وamountTax بالحقلَين priceAmount وtaxAmount على التوالي. يمكن أن يكون حقل priceAmount قبل الضريبة أو بعد الضريبة، وذلك حسب الموقع الجغرافي الذي تم فيه الطلب.

  • تمت إزالة الأرصدة (التاجر والعميل وGoogle) في invoiceSummary والحقول ذات الصلة برسوم العروض الترويجية.

8. إزالة الوظائف غير المضمّنة في الإصدار 2.1

تمت إزالة العديد من الميزات الأخرى من Content API في الإصدار 2.1. راجِع القائمة التالية وعدِّل تطبيقك حسب الحاجة:

  • لم يعُد تنسيق XML متوافقًا. لمزيد من المعلومات حول التبديل إلى JSON، يُرجى الاطّلاع على إيقاف إتاحة XML في Content API for Shopping.

  • تمت إزالة المَعلمة dryRun. وينطبق هذا التغيير على جميع طلبات البيانات من واجهة برمجة التطبيقات.

  • تمت إزالة جميع طرق HTTP BATCH. يمكنك استخدام customBatch كبديل.

  • تمت إزالة طريقة patch من الخدمات التالية:

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • تمت إزالة خدمة "orderpayments".

اختبار عملية نقل البيانات

للمزيد من المعلومات حول اختبار التغييرات التي تم إجراؤها على تطبيقاتك بعد نقل البيانات إلى الإصدار 2.1، يُرجى الاطّلاع على اختبار استخدامات Content API في Shopping. إذا واجهت مشاكل أثناء اختبار التحديثات، يمكنك التواصل معنا.

تغييرات إضافية في الإصدار 2.1

بالإضافة إلى التغييرات التي تتطلّب تحديثات، يقدّم الإصدار 2.1 أيضًا العديد من الميزات الجديدة والتغييرات غير المتوافقة مع الإصدارات السابقة:

  • الخدمات الجديدة:

    • تتيح لك الخدمة الجديدة localinventory إجراء تعديلات على المنتجات في المتاجر المحلّية (بدلاً من خدمة inventory في الإصدار 2).

    • تسهّل خدمة orderreturns الجديدة إدارة برنامج "الشراء على Google" (المعروف سابقًا باسم Shopping Actions) من خلال السماح لك بمعالجة عمليات الإرجاع بدون الحاجة إلى استخدام خدمة orders.

  • تتيح لك الخلاصات التكميلية إجراء تعديلات جزئية على المنتجات.

  • تغييرات إضافية على خدمة "products":

    • لم يعُد موقع products.insert يطلب الإبلاغ عن التحذيرات أو الأخطاء غير الفادحة. يتيح لك ذلك إدراج المنتجات وإجراء تعديلات لاحقة لحلّ المشاكل من خلال قواعد الخلاصات في Merchant Center، تمامًا كما تفعل مع الخلاصات المُدارة خارج Content API.

    • تمت إضافة products.update لتتيح لك إجراء تعديلات على مجموعة مختارة من حقول المنتجات. لمزيد من المعلومات حول الاستخدام المحتمل، يُرجى الاطّلاع على الدليل.

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

      • ageGroup
      • availability
      • condition
      • energyEfficiencyClass
      • gender
      • maxEnergyEfficiencyClass
      • minEnergyEfficiencyClass
      • sizeSystem
      • sizeType
    • أصبحت السمات المخصّصة الآن متكرّرة، ما يلغي الحاجة إلى مجموعات مخصّصة.

    • تتضمّن السمات المخصّصة الآن الحقل groupValues بالإضافة إلى الحقل الأصلي value. يجب ضبط حقل واحد بالضبط.