از Content API نسخه 2 به نسخه 2.1 مهاجرت کنید

در مارس 2019، نسخه 2.1 Content API را برای خرید منتشر کردیم و در آوریل 2021 اعلام کردیم که v2 در 30 سپتامبر 2021 غروب می کند. نسخه v2 غروب دارد. لطفاً فوراً به نسخه 2.1 مهاجرت کنید.

درخواست خود را مهاجرت کنید

مهاجرت از نسخه 2 به نسخه 2.1 شامل به روز رسانی URL های نقطه پایانی شما برای فراخوانی نسخه های جدید نسخه 2.1 و تغییر برنامه های کاربردی شما برای پاسخگویی به تغییرات ایجاد شده در نسخه 2.1 است.

تماس های API خود را برای استفاده از نقاط پایانی نسخه 2.1 به روز کنید

برای برقراری تماس با نسخه 2.1، درخواست های خود را برای استفاده از نقاط پایانی جدید نسخه 2.1 به روز کنید.

به عنوان مثال، برای فراخوانی متد products.get با v2، از:

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 و نقاط پایانی، به مرجع API مراجعه کنید.

تغییرات لازم را انجام دهید

علاوه بر به‌روزرسانی آدرس‌های اینترنتی برای تماس‌های API خود، همچنین باید برنامه‌تان را به‌روزرسانی کنید تا چندین تغییر قطعی معرفی‌شده در نسخه ۲.۱ را در نظر بگیرید. بخش های زیر را مرور کنید و برنامه خود را در صورت نیاز به روز کنید.

1. ادغام ها را با سرویس inventory به روز کنید

سرویس inventory v2 حذف شده است و عملکرد معادل با ویژگی های v2.1 زیر در دسترس است:

  • از فیدهای تکمیلی جدید یا products.update برای به روز رسانی جزئی محصول استفاده کنید. به‌روزرسانی‌ها برای همه فیلدهای محصول قابل تغییر، از جمله همه فیلدهایی که قبلاً با inventory.set به‌روزرسانی شده‌اند (به استثنای موارد انحصاری localinventory ) امکان‌پذیر است. برای جزئیات بیشتر ، مهاجرت به فیدهای تکمیلی را ببینید.

  • از سرویس جدید localinventory برای به روز رسانی محصول محلی استفاده کنید.

2. تماس ها را به سرویس accounts به روز کنید

  • فراخوانی به روش accounts.update در نسخه 2.1 به جای اینکه فقط فیلدهای موجود در درخواست را به روز کند، منبع accounts را کاملاً بازنویسی می کند. برای جلوگیری از حذف فیلدها در منبع accounts ، درخواست‌های تماس خود را به‌روزرسانی کنید تا شامل همه فیلدها شود.

  • reviewsUrl حذف شده است.

  • وضعیت پیوند inactive برای adsLinks ، googleMyBusinessLink و youtubeChannelLinks حذف شده است.

3. تماس ها را به سرویس products به روز کنید

  • ویژگی های سفارشی دیگر حاوی نوع و واحد نیستند. در عوض، واحدها باید به مقدار اضافه شوند و انواع باید به طور خودکار شناسایی شوند.

  • فیلد مکرر productTypes جایگزین productType و additionalProductTypes شده است.

  • فیلدهای تکراری includedDestinations و excludedDestinations جایگزین destinations میدانی تکراری شده‌اند.

  • فیلدهای مرتبط با 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 pending و approvalPending disapproved approved destinationStatuses با status جایگزین شده اند .

  • dataQualityIssues با itemLevelIssues جایگزین شده است.

5. تماس ها را به سرویس datafeeds به روز کنید

  • فیلدهای هدف زیر جایگزین شده اند:

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinations و excludedDestinations
  • فیدهای داده با contentType = "product inventory update" حذف شده است.

6. تماس ها را به orders و خدمات TestOrders به ​​روز کنید

  • در نسخه 2.1، تماس ها نباید شامل داده های مالیاتی باشند زیرا داده های مالیاتی به طور خودکار محاسبه می شوند. اگر سفارش در ایالتی با قانون عادلانه بازار (MFA) یا موارد مشابه انجام شود، تماس‌هایی که شامل داده‌های مالیاتی هستند با شکست مواجه می‌شوند. اگر سفارش در حالت غیر 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 حذف شده است.

  • روش‌های v2 orders.returnlineitem و orders.refund با 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، به پشتیبانی Sunset of XML در Content API for Shopping مراجعه کنید.

  • پارامتر dryRun حذف شده است. این تغییر برای همه تماس‌های API اعمال می‌شود.

  • همه روش های HTTP BATCH حذف شده اند. به جای آن customBatch استفاده کنید.

  • متد patch از سرویس های زیر حذف شده است:

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • سرویس orderpayments حذف شده است.

مهاجرت خود را آزمایش کنید

برای اطلاعات بیشتر در مورد آزمایش تغییرات برنامه‌هایتان پس از مهاجرت به نسخه 2.1، به تست استفاده از Content API برای خرید مراجعه کنید. اگر هنگام آزمایش به‌روزرسانی‌های خود با مشکلاتی مواجه شدید، می‌توانید مشکل خود را در انجمن Content API پست کنید.

تغییرات اضافی در نسخه 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
    • ویژگی های سفارشی اکنون بازگشتی هستند، که نیاز به گروه های سفارشی را از بین می برد.

    • اکنون ویژگی های سفارشی علاوه بر فیلد value اصلی، یک فیلد groupValues ​​نیز دارند. دقیقاً یکی از فیلدها باید تنظیم شود.