در مارس ۲۰۱۹، نسخه ۲.۱ از رابط برنامهنویسی کاربردی محتوا برای خرید را منتشر کردیم و در آوریل ۲۰۲۱ اعلام کردیم که نسخه ۲ در ۳۰ سپتامبر ۲۰۲۱ از رده خارج خواهد شد. نسخه ۲ از رده خارج شده است. لطفاً فوراً به نسخه ۲.۱ مهاجرت کنید.
برنامه خود را مهاجرت دهید
مهاجرت از نسخه ۲ به نسخه ۲.۱ شامل بهروزرسانی URLهای نقاط پایانی شما برای فراخوانی نسخههای جدید نسخه ۲.۱ و اصلاح برنامههای شما برای در نظر گرفتن تغییرات اساسی معرفیشده در نسخه ۲.۱ است.
فراخوانیهای API خود را برای استفاده از نقاط پایانی نسخه ۲.۱ بهروزرسانی کنید
برای برقراری تماس با نسخه ۲.۱، درخواستهای خود را برای استفاده از نقاط پایانی جدید نسخه ۲.۱ بهروزرسانی کنید.
برای مثال، برای فراخوانی متد products.get با نسخه ۲، از کد زیر استفاده میکنید:
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
برای نسخه ۲.۱، آدرس اینترنتی (URL) را به صورت زیر بهروزرسانی کنید:
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
برای اطلاعات کامل در مورد سرویسها و نقاط پایانی نسخه ۲.۱، به مرجع API مراجعه کنید.
اعمال تغییرات مورد نیاز
علاوه بر بهروزرسانی URLها برای فراخوانیهای API، باید برنامه خود را نیز بهروزرسانی کنید تا چندین تغییر اساسی که در نسخه ۲.۱ معرفی شدهاند را در نظر بگیرید. بخشهای زیر را مرور کنید و در صورت نیاز، برنامه خود را بهروزرسانی کنید.
۱. بهروزرسانی یکپارچهسازیها با سرویس inventory
سرویس inventory نسخه ۲ حذف شده است و قابلیتهای معادل آن با ویژگیهای نسخه ۲.۱ زیر در دسترس است:
برای بهروزرسانیهای جزئی محصول، از Feedهای تکمیلی جدید یا
products.updateاستفاده کنید. بهروزرسانیها برای همه فیلدهای قابل تغییر محصول، از جمله همه فیلدهایی که قبلاً باinventory.setبهروزرسانی شدهاند (به استثنای فیلدهایی که منحصر بهlocalinventoryهستند)، امکانپذیر است. برای جزئیات بیشتر به Migrate to supplemental feeds مراجعه کنید.برای بهروزرسانیهای محصولات محلی از سرویس جدید
localinventoryاستفاده کنید.
۲. بهروزرسانی تماسها به سرویس accounts
فراخوانیهای متد
accounts.updateدر نسخه ۲.۱، به جای بهروزرسانی فقط فیلدهای موجود در درخواست، منبعaccountsرا کاملاً بازنویسی میکنند. برای جلوگیری از حذف فیلدهای منبعaccounts، درخواستهای فراخوانی خود را بهروزرسانی کنید تا شامل همه فیلدها شوند.reviewsUrlحذف شده است.وضعیت لینک
inactiveبرایadsLinks،googleMyBusinessLinkوyoutubeChannelLinksحذف شده است.
۳. بهروزرسانی فراخوانیها به سرویس products
ویژگیهای سفارشی دیگر شامل نوع و واحد نیستند. در عوض، واحدها به مقدار اضافه میشوند و نوعها باید به طور خودکار شناسایی شوند.
فیلد تکراری
productTypesجایگزین هر دوproductTypeوadditionalProductTypesشده است.فیلدهای تکراری
includedDestinationsوexcludedDestinationsجایگزین فیلد تکراریdestinationsشدهاند.فیلدهای مرتبط با ادوردز زیر تغییر نام دادهاند:
-
adwordsGrouping->adsGrouping -
adwordsLabels->adsLabels -
adwordsRedirect->adsRedirect
-
فیلدهای زیر حذف شدهاند:
-
aspects -
destinations -
onlineOnly -
validatedDestinations -
warnings
-
پارامتر
includeInvalidInsertedItemsحذف شده است. در نسخه ۲.۱، همه محصولات به طور پیشفرض بازگردانده میشوند.اکنون چند دقیقه طول میکشد تا محصول درجشده از طریق
products.getیاproducts.listبازیابی شود.دیگر تضمین نمیشود که
offerIdبرگردانده شده باofferIdورودی یکسان باشد. نسخه ۲.۱ فاصلههای خالی اول و آخرofferIdرا حذف میکند و چندین کاراکتر فاصله خالی را در یک کاراکتر ادغام میکند. این تغییر بر مقادیرofferIdکه با سینتکسofferIdپیشنهادی مطابقت دارند، تأثیری نمیگذارد.قیمتها اکنون قبل از درج محصول اعتبارسنجی میشوند. فقط کاراکترهای زیر در رشته مقدار مجاز هستند:
+،-،.و اعداد (یعنی0تا9). کاما دیگر پذیرفته نمیشود.پاسخهای دریافتی از فراخوانی
products.insertیاproducts.updateفقط شامل ویژگیهای زیر هستند:-
channel -
contentLanguage -
id -
offerId -
feedLabel
-
گزینه
includeAttributesنسخه ۲ منسوخ شده است. در عوض، برای مشاهده اطلاعات کامل محصول،products.getبه همراهProductIdاستفاده کنید.
۴. بهروزرسانی فراخوانیهای سرویس productstatuses
ویژگی
productبه همراه پارامترincludeAttributesحذف شده است. برای بازیابی ویژگیهای محصول مربوط به یک وضعیت، از سرویسproductsاستفاده کنید و مقدار فیلدproductIdجدید را ارسال کنید.پارامتر
includeInvalidInsertedItemsحذف شده است. اکنونproductIdهر محصول صرف نظر از معتبر بودن یا نبودن آن، بازگردانده میشود.فیلدهای
intention،approvalStatusوapprovalPendingدرdestinationStatusesباstatusجایگزین شدهاند که رشتهای است که میتواند یکی ازapproved،disapprovedیاpendingداشته باشد.dataQualityIssuesباitemLevelIssuesجایگزین شده است.
۵. بهروزرسانی فراخوانیها به سرویس datafeeds
فیلدهای هدف زیر جایگزین شدهاند:
-
contentLanguage->language -
targetCountry->country -
intendedDestinations->includedDestinationsوexcludedDestinations
-
فیدهای داده با
contentType = "product inventory update"حذف شدهاند.
۶. بهروزرسانی فراخوانیهای سرویسهای orders و TestOrders
در نسخه ۲.۱، درخواستها نباید شامل دادههای مالیاتی باشند زیرا دادههای مالیاتی به طور خودکار محاسبه میشوند. اگر سفارش در ایالتی با قانون انصاف بازار (MFA) یا مشابه آن انجام شود، درخواستهایی که شامل دادههای مالیاتی هستند، ناموفق خواهند بود. اگر سفارش در ایالتی غیر از MFA انجام شود، مالیات بر اساس تنظیمات پیکربندی شده در مرکز فروشندگان محاسبه میشود. در صورت عدم پیکربندی، مالیات محاسبه شده ۰ است.
فیلدهای
InStoreRefundLineItemوReturnRefundLineItemبه ترتیب باamountPretaxوamountTaxجایگزین شدهاند.priceAmountمیتواند بسته به محل سفارشpriceAmountقبل یا بعد از کسر مالیات باشدtaxAmountفیلدهای
ShipLineItemcarrier،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باorderreturns.creatOrderReturnوorderreturns.processجایگزین شدهاند.فیلدهای
customer.email،channelTypeوlineItem.product.channelحذف شدهاند.فیلد
promotionsاز سرویسTestOrderحذف شده و قالب آن درOrderتغییر یافته است.
۷. بهروزرسانی فراخوانیهای سرویس orderinvoice
فیلدهای
amountPretaxوamountTaxبه ترتیب باpriceAmountوtaxAmountجایگزین شدهاند. فیلدpriceAmountبسته به محل سفارش میتواند قبل از مالیات یا پس از مالیات باشد.مانده حساب (فروشنده، مشتری، گوگل) در فیلدهای
invoiceSummaryو هزینه تبلیغات حذف شد.
۸. حذف قابلیتهایی که در نسخه ۲.۱ وجود ندارند
چندین ویژگی دیگر از API محتوا در نسخه ۲.۱ حذف شدهاند. لیست زیر را بررسی کنید و در صورت نیاز برنامه خود را بهروزرسانی کنید:
XML دیگر پشتیبانی نمیشود. برای اطلاعات بیشتر در مورد تغییر به JSON، به «پایان پشتیبانی از XML در API محتوا برای خرید» مراجعه کنید.
پارامتر
dryRunحذف شده است. این تغییر برای همه فراخوانیهای API اعمال میشود.تمام متدهای
HTTP BATCHحذف شدهاند. به جای آنcustomBatchاستفاده کنید.روش
patchاز سرویسهای زیر حذف شده است:-
accounts -
accounttax -
datafeeds -
liasettings -
shippingsettings
-
سرویس
orderpaymentsحذف شده است.
مهاجرت خود را آزمایش کنید
برای اطلاعات بیشتر در مورد آزمایش تغییرات برنامههایتان پس از مهاجرت به نسخه ۲.۱، به بخش «آزمایش کاربردهای API محتوا برای خرید» مراجعه کنید. اگر هنگام آزمایش بهروزرسانیهای خود با مشکلی مواجه شدید، میتوانید با ما تماس بگیرید .
تغییرات اضافی در نسخه ۲.۱
علاوه بر تغییراتی که نیاز به بهروزرسانی دارند، نسخه ۲.۱ چندین ویژگی جدید و تغییرات دائمی را نیز معرفی میکند:
خدمات جدید:
سرویس جدید
localinventoryبه شما امکان میدهد بهروزرسانیهای محلی محصولات را انجام دهید (به جای سرویسinventoryدر نسخه ۲).سرویس جدید
orderreturnsمدیریت خرید در گوگل (که قبلاً با نام Shopping Actions شناخته میشد) را آسانتر میکند و به شما امکان میدهد بدون نیاز به استفاده از سرویسordersمرجوعیها را پردازش کنید.
فیدهای تکمیلی به شما امکان میدهند بهروزرسانیهای جزئی محصول را انجام دهید.
تغییرات اضافی در خدمات
products:درخواستهای
products.insertدیگر هشدارها یا خطاهای غیرمهلک را گزارش نمیکنند. این به شما امکان میدهد محصولات را وارد کنید و بهروزرسانیهای بعدی را برای حل مشکلات از طریق قوانین فید در مرکز فروشندگان انجام دهید، درست همانطور که با فیدهای مدیریتشده خارج از API محتوا انجام میدهید.products.updateاضافه شده است تا به شما امکان دهد مجموعهای از فیلدهای محصول انتخابی را بهروزرسانی کنید. برای اطلاعات بیشتر در مورد کاربردهای احتمالی، به راهنما مراجعه کنید.مقادیر نامعتبر برای ویژگیهای زیر دیگر باعث ایجاد خطاهای درج نمیشوند و به عنوان بخشی از
itemLevelIssuesتوسط سرویسproductstatusبازگردانده میشوند:-
ageGroup -
availability -
condition -
energyEfficiencyClass -
gender -
maxEnergyEfficiencyClass -
minEnergyEfficiencyClass -
sizeSystem -
sizeType
-
ویژگیهای سفارشی اکنون بازگشتی هستند که نیاز به گروههای سفارشی را از بین میبرد.
ویژگیهای سفارشی اکنون علاوه بر فیلد
valueاصلی، یک فیلدgroupValuesنیز دارند. دقیقاً یکی از فیلدها باید تنظیم شود.