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

این راهنما نحوه انتقال یکپارچه‌سازی شما از سرویس‌های 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 درخواست را بین Content API برای خرید و Merchant 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 موجود است. این روش اکنون فقط برای منابع داده با ورودی فایل کار می‌کند.
datafeeds.get dataSources.get موجود است.
datafeeds.insert dataSources.create موجود است.
datafeeds.list dataSources.list موجود است.
datafeeds.update dataSources.update موجود است. به جای PUT از معانی PATCH استفاده می‌کند.
datafeedstatuses.custombatch موجود نیست در عوض از فراخوانی‌های API به صورت جداگانه استفاده کنید. برای جزئیات بیشتر به ارسال چندین درخواست به طور همزمان مراجعه کنید.
datafeedstatuses.get fileUploads.get برای منابع داده مبتنی بر فایل موجود است. از latest نام مستعار برای دریافت وضعیت جدیدترین آپلود استفاده کنید. برای سایر انواع منبع داده، اطلاعات وضعیت بخشی از منبع DataSource است.
datafeedstatuses.list موجود نیست برای دریافت وضعیت چندین منبع داده، ابتدا تمام منابع داده را با dataSources.list فهرست کنید. سپس fileUploads.get را با latest نام مستعار برای هر منبع داده مبتنی بر فایل فراخوانی کنید.

تغییرات جزئی فیلدها

این جدول تغییرات سطح فیلد بین منابع Datafeed و DatafeedStatus در Content API برای خرید و منابع DataSource و FileUpload در Merchant API را نشان می‌دهد.

API محتوا برای خرید رابط برنامه‌نویسی کاربردی (API) فروشنده توضیحات
Datafeed DataSource منبع اصلی برای پیکربندی منبع داده.
id name شناسه منبع. از یک شناسه عددی به یک نام منبع رشته‌ای تغییر یافته است.
name displayName نام منبع داده که کاربر با آن مواجه می‌شود.
attributeLanguage primaryProductDataSource.contentLanguage کد زبان دو حرفی ISO 639-1 مربوط به اقلام موجود در منبع داده.
fileName fileInput.fileName نام فایل آپلود شده. این فیلد اکنون در زیر fileInput قرار دارد.
fetchSchedule fileInput.fetchSettings زمان‌بندی برای واکشی یک منبع داده مبتنی بر فایل. این اکنون در زیر fileInput قرار دارد.
fetchSchedule.paused fileInput.fetchSettings.enabled منطق معکوس شده است. paused: true معادل enabled: false .
format موجود نیست فیلدهای fileEncoding ، columnDelimiter و quotingMode حذف شده‌اند. این فیلدها اکنون به صورت خودکار شناسایی می‌شوند.
targets primaryProductDataSource.feedLabel ، primaryProductDataSource.contentLanguage ، primaryProductDataSource.countries فیلد targets تکراری حذف شده است. اکنون هر منبع داده یک هدف واحد دارد که توسط این فیلدها تعریف می‌شود، که نشان دهنده منسوخ شدن فیدهای چند داده‌ای است.
DatafeedStatus FileUpload وضعیت آپلود فایل اکنون یک منبع جداگانه و فقط خواندنی است.
datafeedId name شناسه‌ی فایل آپلود شده، که به منبع داده‌ی والد آن اشاره دارد.
processingStatus processingState وضعیت پردازش آپلود. مقادیر رشته‌ای ( success ، failure ، in progress ) با یک enum ( SUCCEEDED ، FAILED ، IN_PROGRESS ) جایگزین می‌شوند.
errors ، warnings issues خطاها و هشدارها در یک لیست واحد issues ادغام می‌شوند. هر مشکل دارای یک فیلد severity ( ERROR یا WARNING ) است.
lastUploadDate uploadTime مهر زمانی آخرین آپلود. قالب از یک رشته به یک شیء Timestamp تغییر کرد.
country ، language ، feedLabel قابل اجرا نیست این فیلدها دیگر در منبع وضعیت نیستند. آنها بخشی از منبع DataSource هستند.
targets[].included_destinations ، targets[].excluded_destinations primaryProductDataSource.destinations دو لیست جداگانه برای مقصدهای شامل و خارج از لیست، با یک لیست destinations واحد جایگزین می‌شوند. هر آیتم در لیست جدید، یک شیء است که مقصد و وضعیت آن ( ENABLED یا DISABLED ) را مشخص می‌کند و پیکربندی صریح‌تری را ارائه می‌دهد.