انتقال منابع داده

این راهنما نحوه انتقال یکپارچه‌سازی شما از سرویس‌های 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 منسوخ شده‌اند.

  • استراتژی منبع داده خود را انتخاب کنید. شما سه گزینه برای مدیریت منابع داده خود دارید:

    1. منابع داده موجود API محتوا را حفظ کنید. می‌توانید به استفاده از منابع داده ایجاد شده با API محتوا برای خرید ادامه دهید، زیرا آنها با API فروشنده سازگار هستند. می‌توانید نام منابع آنها را با استفاده dataSources.list یا در رابط کاربری مرکز فروشنده پیدا کنید. منابع داده اولیه API محتوا فقط از feedLabel و contentLanguage خاصی که با آنها ایجاد شده‌اند پشتیبانی می‌کنند. منابع داده API محتوا در مرکز فروشنده با منبع "Content API" نشان داده می‌شوند، حتی اگر محصولات با استفاده از API فروشنده درج شده باشند. می‌توانید آنها را با منابع داده API فروشنده جدید که جفت‌های feedLabel و contentLanguage خاصی را نیز هدف قرار می‌دهند، ترکیب کنید.

    2. برای هر برچسب و زبان، منابع داده جدید Merchant API ایجاد کنید. اگر نیاز به پشتیبانی از ترکیب‌های جدید feedLabel و contentLanguage دارید (و ترجیح می‌دهید جدایی دقیقی بین آنها حفظ شود) یا اگر از تنظیمات قوانین منبع داده استفاده می‌کنید که به feedLabel و contentLanguage خاصی متکی است، از این گزینه استفاده کنید. شما باید برای هر جفت feedLabel و contentLanguage که استفاده می‌کنید، یک منبع داده جداگانه ایجاد کنید.

    3. برای هر برچسب و زبانی، یک منبع داده‌ی 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 ) را مشخص می‌کند و پیکربندی صریح‌تری را ارائه می‌دهد.