Merchant API روشی قویتر و شهودیتر برای مدیریت دادههای محصول شما معرفی میکند. تغییر اصلی، تفکیک دادههای محصول به دو منبع مجزا است: ProductInput برای ارسال دادههای شما و Product برای مشاهده نسخه نهایی و پردازش شده از جمله وضعیت محصول و مشکلات. این ساختار جدید تجربه قابل پیش بینی و شفاف تری را ارائه می دهد.
این راهنما شما را از طریق تفاوتهای کلیدی راهنمایی میکند تا به شما کمک کند ادغام خود را از Content API برای خرید منتقل کنید. برای راهنمای دقیق استفاده از ویژگیهای جدید، به مدیریت محصولات خود مراجعه کنید.
تفاوت های کلیدی
در اینجا مهمترین تغییرات در نحوه مدیریت محصولات در Merchant API در مقایسه با Content API برای خرید آمده است:
- منابع اختصاصی برای داده های ورودی و پردازش شده : Merchant API مدیریت محصول را به دو منبع تقسیم می کند. می توانید از منبع - ProductInputبرای درج، به روز رسانی و حذف داده های محصول خود استفاده کنید. پس از پردازش ورودیهای شما، اعمال قوانین و ترکیب دادهها از منابع تکمیلی، میتوانید از منبع- Productفقط خواندنی برای مشاهده محصول نهایی استفاده کنید.
- وضعیت محصول یکپارچه : سرویس وضعیت - productstatusesحذف شده است. مسائل اعتبارسنجی محصول و وضعیت مقصد اکنون مستقیماً در منبع- Productدر قسمت- productStatusگنجانده شده است و بازیابی داده ها را ساده می کند.
- به روز رسانی محصول قابل پیش بینی : روش - productInputs.patchجدید یک ورودی محصول خاص را مستقیماً تغییر می دهد. این یک پیشرفت قابل توجه نسبت به Content API برای خرید است، جایی که بهروزرسانیها ممکن است بهطور غیرمنتظرهای توسط سایر آپلودهای فید بازنویسی شوند. در Merchant API، یک بهروزرسانی باقی میماند تا زمانی که ورودی محصول خاص دوباره بهروزرسانی یا حذف شود. بهروزرسانیهای محصول بر روی منبع- ProductInputبه جای منبع- Productپردازش شده اعمال میشود.
- منبع داده خود را برای مدیریت داده های تمیزتر انتخاب کنید : همه عملیات نوشتن - productInputsاکنون به یک پارامتر query- dataSourceنیاز دارند که مشخص می کند کدام منبع داده را تغییر می دهید. این به ویژه در صورتی مفید است که چندین منبع ارائه داده داشته باشید.
- شناسه های منبع جدید : محصولات اکنون با - nameمنبع RESTful به جای فیلد- idشناسایی می شوند. قالب آن- accounts/{account}/products/{product}است.
- بدون دسته سفارشی : روش - custombatchدیگر در دسترس نیست. میتوانید از درخواستهای ناهمزمان یا دستهبندی HTTP برای ارسال چندین درخواست در یک تماس HTTP استفاده کنید.
- منابع داده برای هر برچسب و زبان فید : Merchant API ایجاد منبع داده را بدون تعیین برچسب و زبان فید ممکن میسازد و بنابراین اجازه درج محصول با هر برچسب و زبان فید را میدهد. 
درخواست ها
این بخش فرمتهای درخواست Content API for Shopping و Merchant API را مقایسه میکند.
| درخواست توضیحات | Content API برای خرید | Merchant API | 
|---|---|---|
| یک محصول دریافت کنید | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} | 
| لیست محصولات | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products | 
| درج یک محصول | POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products | POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert | 
| یک محصول را به روز کنید | PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} | PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} | 
| حذف یک محصول | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} | DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} | 
| وضعیت محصول را دریافت کنید | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} | 
| فهرست وضعیت های محصول | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses | GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products | 
| درخواست های متعدد را دسته بندی کنید | POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch | درخواست های ناهمزمان، دسته بندی HTTP | 
شناسه ها
قالب شناسههای محصول در Merchant API به نام منبع استاندارد REST تغییر کرده است.
| شرح شناسه | Content API برای خرید | Merchant API | 
|---|---|---|
| شناسه محصول | رشتهای متشکل از بخشهایی که با دو نقطه ( :) از هم جدا شدهاند.قالب: channel:contentLanguage:targetCountry:offerIdیاchannel:contentLanguage:feedLabel:offerId.مثال: online:en:US:sku123 | یک رشته nameمنبع REST.قالب: accounts/{account}/products/{product}که در آن{product}contentLanguage~feedLabel~offerId.مثال: accounts/12345/products/en~US~sku123 | 
روش ها
این جدول Content API برای روشهای خرید و معادلهای آن در Merchant API را نشان میدهد.
| Content API برای روش خرید | روش Merchant API | در دسترس بودن و یادداشت ها | 
|---|---|---|
| products.get | products.get | محصول نهایی و فرآوری شده را بازیابی می کند. | 
| products.list | products.list | محصولات نهایی و فرآوری شده را فهرست می کند. | 
| products.insert | productInputs.insert | ورودی محصول را درج می کند. به یک dataSourceنیاز دارد. | 
| products.update | productInputs.update | رفتار به طور قابل توجهی متفاوت است. این ورودی محصول خاص را به روز می کند و پایدار است. | 
| products.delete | productInputs.delete | یک ورودی محصول خاص را حذف می کند. به یک dataSourceنیاز دارد. | 
| products.custombatch | در دسترس نیست | از درخواست های ناهمزمان یا دسته بندی HTTP استفاده کنید. | 
| productstatuses.get | products.get | سرویس productstatusesحذف شده است. اطلاعات وضعیت اکنون بخشی از منبعProductاست. | 
| productstatuses.list | products.list | سرویس productstatusesحذف شده است. اطلاعات وضعیت اکنون بخشی از منبعProductاست. | 
| productstatuses.custombatch | در دسترس نیست | استفاده از [ناهمزمان | 
درخواستها](/merchant/api/samples/insert-product-input-async) یا دستهبندی HTTP . |
تغییرات میدان دقیق
این جدول فیلدهای مهمی را که در Merchant API تغییر، اضافه یا حذف شده اند برجسته می کند.
| Content API برای خرید | Merchant API | توضیحات | 
|---|---|---|
| id | name | شناسه اصلی یک محصول اکنون nameمنبع REST است. | 
| ویژگی های مشخصات داده های محصول سطح بالا (به عنوان مثال، title،price،link) | شی productAttributes | ویژگیهای محصول مانند title،priceوlinkدیگر فیلدهای سطح بالا نیستند. آنها اکنون در شیءproductAttributesدر هر دو منبعProductوProductInputگروه بندی می شوند. این یک ساختار منبع تمیزتر و سازماندهی شده را فراهم می کند. | 
| targetCountry | feedLabel | نام منبع اکنون از feedLabelبه جایtargetCountryبرای تراز با عملکرد Merchant Center استفاده می کند. | 
| feedId | dataSource(پارامتر پرس و جو) | نام dataSourceاکنون یک پارامتر پرس و جو برای همه روشهای نوشتنproductInputsاست (insert،update،delete). | 
| channel | در دسترس نیست. از legacy_localفقط برای محصولات محلی استفاده کنید. | فیلد channelدیگر در Merchant API وجود ندارد. محصولات دارای کانالLOCALدر Content API for Shopping باید فیلدlegacy_localروی true تنظیم کنند. | 
| در دسترس نیست | versionNumber | یک فیلد اختیاری جدید در ProductInputکه می تواند برای جلوگیری از درج نامرتب در منابع داده اولیه استفاده شود. | 
| رشته های نوع stringبا مجموعه ای از مقادیر تعریف شده | فیلدهای نوع enumبا مجموعه ای از مقادیر تعریف شده | فیلدهای درون ویژگی های محصول با مجموعه مقادیر تعریف شده (به عنوان مثال excluded_destinations،availability) اکنون از نوعenumهستند. |