این راهنما نحوه انتقال یکپارچهسازی شما از سرویسهای datafeeds و datafeedstatuses از API محتوا برای خرید به زیر-API منابع داده در API فروشنده را توضیح میدهد. زیر-API جدید منابع داده، کنترل مستقیمتری بر خطوط لوله داده شما فراهم میکند و مدیریت منابع داده را سادهتر میکند.
برای اطلاعات بیشتر در مورد ویژگیهای جدید، به راهنمای مدیریت منابع داده خود مراجعه کنید.
تفاوتهای کلیدی
در مقایسه با API محتوا برای خرید، API فروشنده مزایای متعددی ارائه میدهد.
ایجاد منبع داده صریح. API دیگر به طور خودکار در اولین درج محصول شما، منبع داده "Content API" ایجاد نمیکند. در Merchant API، شما قبل از اینکه بتوانید محصولات را در آنها آپلود کنید، منابع داده را به طور صریح ایجاد میکنید. این امر از همان ابتدا کنترل بیشتری بر سازماندهی و مدیریت خطوط لوله داده محصول شما میدهد.
پشتیبانی از چندین منبع داده API. در API محتوا برای خرید، شما به یک منبع داده "API محتوا" که به طور خودکار ایجاد شده بود، محدود بودید. با API فروشنده میتوانید چندین منبع داده از نوع ورودی
APIایجاد و مدیریت کنید.منابع داده بدون برچسب و زبان. رابط برنامهنویسی کاربردی فروشنده (Merchant API) به شما امکان میدهد بدون مشخص کردن
feedLabelوcontentLanguage، یک منبع داده اصلی ایجاد کنید. این نوع منبع داده، محصولات را با هر ترکیبی ازfeedLabelوcontentLanguageمیپذیرد، که آپلود محصولات را برای ادغامهایی که به منابع داده جداگانه برای مناطق مختلف نیاز ندارند، ساده میکند.اهداف داده سادهشده. هر منبع داده اکنون با یک هدف واحد مطابقت دارد که توسط ترکیبی منحصر به فرد از
feedLabelوcontentLanguageتعریف میشود. فیدهای هدف چند دادهای در Merchant API منسوخ شدهاند.استراتژی منبع داده خود را انتخاب کنید. شما سه گزینه برای مدیریت منابع داده خود دارید:
منابع داده موجود API محتوا را حفظ کنید. میتوانید به استفاده از منابع داده ایجاد شده با API محتوا برای خرید ادامه دهید، زیرا آنها با API فروشنده سازگار هستند. میتوانید نام منابع آنها را با استفاده
dataSources.listیا در رابط کاربری مرکز فروشنده پیدا کنید. منابع داده اولیه API محتوا فقط ازfeedLabelوcontentLanguageخاصی که با آنها ایجاد شدهاند پشتیبانی میکنند. منابع داده API محتوا در مرکز فروشنده با منبع "Content API" نشان داده میشوند، حتی اگر محصولات با استفاده از API فروشنده درج شده باشند. میتوانید آنها را با منابع داده API فروشنده جدید که جفتهایfeedLabelوcontentLanguageخاصی را نیز هدف قرار میدهند، ترکیب کنید.برای هر برچسب و زبان، منابع داده جدید Merchant API ایجاد کنید. اگر نیاز به پشتیبانی از ترکیبهای جدید
feedLabelوcontentLanguageدارید (و ترجیح میدهید جدایی دقیقی بین آنها حفظ شود) یا اگر از تنظیمات قوانین منبع داده استفاده میکنید که بهfeedLabelوcontentLanguageخاصی متکی است، از این گزینه استفاده کنید. شما باید برای هر جفتfeedLabelوcontentLanguageکه استفاده میکنید، یک منبع داده جداگانه ایجاد کنید.برای هر برچسب و زبانی، یک منبع دادهی Merchant API واحد ایجاد کنید. از این گزینه برای سادهسازی مدیریت خود با داشتن یک منبع دادهی واحد که محصولات را با هر
feedLabelوcontentLanguageمیپذیرد، استفاده کنید. اگر این گزینه را انتخاب میکنید، توصیه میکنیم تمام محصولات خود را به این منبع دادهی جدید منتقل کنید و منابع دادهی Content API قدیمی خود را پس از مهاجرت محصولات حذف کنید.
وضعیت اختصاصی آپلود فایل. رابط برنامهنویسی کاربردی فروشنده، وضعیت منابع داده مبتنی بر فایل را با استفاده از یک منبع جداگانه و فقط خواندنی
fileUploadsنشان میدهد. برای بازیابی وضعیت آپلود فایل، از متدfileUploads.getباlatestنام مستعار استفاده کنید.انواع جدید منبع داده. منبع
DataSourceاز موارد عمودی بیشتری، از جمله تبلیغات، موجودی محلی و موجودی منطقهای، پشتیبانی میکند و روشی یکپارچه برای مدیریت تمام خطوط داده شما ارائه میدهد.منابع داده خودکار. با استفاده از Merchant API، اکنون میتوانید ویژگی منابع داده خودکار را برای حساب خود با استفاده از متد
autofeedSettings.updateAutofeedSettingsدر زیر API حسابها فعال یا غیرفعال کنید. برای اطلاعات بیشتر، به پیکربندی تنظیمات Autofeed مراجعه کنید.
درخواستها
جدول زیر فرمتهای URL درخواست را بین API محتوا برای خرید و API فروشنده مقایسه میکند.
| درخواست توضیحات | API محتوا برای خرید | رابط برنامهنویسی کاربردی (API) فروشنده |
|---|---|---|
| ایجاد منبع داده | POST https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds | POST https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources |
| دریافت منبع داده | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
| فهرست منابع داده | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources |
| بهروزرسانی یک منبع داده | PUT https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | PATCH https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
| حذف یک منبع داده | DELETE https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} | DELETE https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} |
| دریافت یک منبع داده | POST https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeeds/ {DATAFEED_ID} /fetchNow | POST https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} :fetch |
| دریافت وضعیت منبع داده | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeedstatuses/ {DATAFEED_ID} | GET https://merchantapi.googleapis.com/v1/accounts/ {ACCOUNT_ID} /dataSources/ {DATASOURCE_ID} /fileUploads/latest |
| فهرست کردن وضعیت منابع داده | GET https://shoppingcontent.googleapis.com/content/v2.1/ {MERCHANT_ID} /datafeedstatuses | در دسترس نیست. برای هر منبع داده مبتنی بر فایل، dataSources.list و fileUploads.get استفاده کنید. |
شناسهها
رابط برنامهنویسی کاربردی فروشنده (Merchant API) از یک نام منبع مبتنی بر رشته به عنوان شناسه استفاده میکند.
| توضیحات شناسه | API محتوا برای خرید | رابط برنامهنویسی کاربردی (API) فروشنده |
|---|---|---|
| شناسه منبع داده | datafeedId (عددی) | name (رشته، قالب: accounts/{account}/dataSources/{datasource} ) |
روشها
این جدول متدهای موجود در Content API برای سرویسهای Shopping datafeeds و datafeedstatuses را با معادلهای آنها در Merchant API مقایسه میکند.
| API محتوا برای روش خرید | روش API فروشنده | در دسترس بودن و نکات |
|---|---|---|
datafeeds.custombatch | موجود نیست | به جای آن از فراخوانیهای API تکی استفاده کنید. |
datafeeds.delete | dataSources.delete | موجود است. |
datafeeds.fetchnow | dataSources.fetch | Available. This method now only works for data sources with a file input. |
datafeeds.get | dataSources.get | موجود است. |
datafeeds.insert | dataSources.create | موجود است. |
datafeeds.list | dataSources.list | موجود است. |
datafeeds.update | dataSources.update | موجود است. به جای PUT از معانی PATCH استفاده میکند. |
datafeedstatuses.custombatch | موجود نیست | Use individual API calls instead. See Send multiple requests at once for more details. |
datafeedstatuses.get | fileUploads.get | برای منابع داده مبتنی بر فایل موجود است. از latest نام مستعار برای دریافت وضعیت جدیدترین آپلود استفاده کنید. برای سایر انواع منبع داده، اطلاعات وضعیت بخشی از منبع DataSource است. |
datafeedstatuses.list | موجود نیست | To get the status of multiple data sources, first list all data sources with dataSources.list . Then call fileUploads.get with the latest alias for each file-based data source. |
تغییرات جزئی فیلدها
این جدول تغییرات سطح فیلد بین منابع Datafeed و DatafeedStatus در Content API برای خرید و منابع DataSource و FileUpload در Merchant API را نشان میدهد.
| API محتوا برای خرید | رابط برنامهنویسی کاربردی (API) فروشنده | توضیحات |
|---|---|---|
Datafeed | DataSource | منبع اصلی برای پیکربندی منبع داده. |
id | name | شناسه منبع. از یک شناسه عددی به یک نام منبع رشتهای تغییر یافته است. |
name | displayName | نام منبع داده که کاربر با آن مواجه میشود. |
attributeLanguage | primaryProductDataSource.contentLanguage | The two-letter ISO 639-1 language code of the items in the data source. |
fileName | fileInput.fileName | The name of the uploaded file. This field is now nested under fileInput . |
fetchSchedule | fileInput.fetchSettings | The schedule for fetching a file-based data source. This is now nested under fileInput . |
fetchSchedule.paused | fileInput.fetchSettings.enabled | The logic is inverted. paused: true is equivalent to enabled: false . |
format | موجود نیست | The fileEncoding , columnDelimiter , and quotingMode fields are removed. These are now auto-detected. |
targets | primaryProductDataSource.feedLabel , primaryProductDataSource.contentLanguage , primaryProductDataSource.countries | فیلد targets تکراری حذف شده است. اکنون هر منبع داده یک هدف واحد دارد که توسط این فیلدها تعریف میشود، که نشان دهنده منسوخ شدن فیدهای چند دادهای است. |
DatafeedStatus | FileUpload | The status of a file upload is now a separate, read-only resource. |
datafeedId | name | شناسهی فایل آپلود شده، که به منبع دادهی والد آن اشاره دارد. |
processingStatus | processingState | وضعیت پردازش آپلود. مقادیر رشتهای ( success ، failure ، in progress ) با یک enum ( SUCCEEDED ، FAILED ، IN_PROGRESS ) جایگزین میشوند. |
errors ، warnings | issues | Errors and warnings are merged into a single issues list. Each issue has a severity field ( ERROR or WARNING ). |
lastUploadDate | uploadTime | The timestamp of the last upload. The format changed from a string to a Timestamp object. |
country ، language ، feedLabel | قابل اجرا نیست | این فیلدها دیگر در منبع وضعیت نیستند. آنها بخشی از منبع DataSource هستند. |
targets[].included_destinations , targets[].excluded_destinations | primaryProductDataSource.destinations | دو لیست جداگانه برای مقصدهای شامل و خارج از لیست، با یک لیست destinations واحد جایگزین میشوند. هر آیتم در لیست جدید، یک شیء است که مقصد و وضعیت آن ( ENABLED یا DISABLED ) را مشخص میکند و پیکربندی صریحتری را ارائه میدهد. |