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

این راهنما توضیح می‌دهد که چگونه ادغام خود را از سرویس‌های datafeeds و datafeedstatuses در Content API for Shopping به زیرمیانای برنامه‌سازی کاربردی «منابع داده» در Merchant API منتقل کنید. زیرمیانای برنامه‌سازی کاربردی جدید «منابع داده» کنترل مستقیم‌تری بر خطوط داده شما فراهم می‌کند و مدیریت منابع داده را ساده‌تر می‌کند.

برای اطلاعات بیشتر درباره ویژگی‌های جدید، به راهنمای مدیریت منابع داده مراجعه کنید.

تفاوت‌های اصلی

درمقایسه با Content API for Shopping،‏ Merchant API چندین مزیت دارد:

  • ایجاد منبع داده صریح. «میانای برنامه‌سازی کاربردی» دیگر به‌طور خودکار منبع داده «Content API» را در اولین درج محصول ایجاد نمی‌کند. در Merchant API ، پیش‌از اینکه بتوانید محصولات را در منابع داده بارگذاری کنید، باید آن‌ها را به‌طور صریح ایجاد کنید. این کار به شما امکان می‌دهد از همان ابتدا کنترل بیشتری بر سازمان‌دهی و مدیریت خطوط لوله داده‌های محصول خود داشته باشید.

  • پشتیبانی از چندین منبع داده میانای برنامه‌سازی کاربردی. در Content API for Shopping، به یک منبع داده «Content API» که به‌طور خودکار ایجاد شده بود محدود بودید. با Merchant API می‌توانید چندین منبع داده از نوع ورودی API ایجاد و مدیریت کنید.

  • منابع داده بدون برچسب و زبان. Merchant API به شما امکان می‌دهد منبع داده اصلی را بدون مشخص کردن feedLabel و contentLanguage ایجاد کنید. این نوع منبع داده محصولات را در هر ترکیبی از feedLabel و contentLanguage می‌پذیرد، که بارگذاری محصول را برای ادغام‌هایی که به منابع داده جداگانه برای مناطق مختلف نیاز ندارند ساده می‌کند.

  • هدف‌های داده ساده‌شده. اکنون هر منبع داده با یک هدف واحد مطابقت دارد که با ترکیب منحصربه‌فردی از feedLabel و contentLanguage تعریف می‌شود. فیدهای هدف چندداده‌ای در Merchant API منسوخ شده‌اند.

  • وضعیت بارگذاری فایل اختصاصی. Merchant API وضعیت منابع داده مبتنی بر فایل را بااستفاده از منبع fileUploads جداگانه و فقط‌خواندنی نشان می‌دهد. برای بازیابی وضعیت بارگذاری فایل، از روش fileUploads.get با نام مستعار latest استفاده کنید.

  • انواع جدید منبع داده. منبع DataSource از عمودی‌های بیشتری پشتیبانی می‌کند، ازجمله تبلیغات، موجودی محلی، و موجودی منطقه‌ای، و روشی یکپارچه برای مدیریت همه خطوط لوله داده شما ارائه می‌دهد.

  • منابع داده خودکارسازی‌شده. با Merchant API، اکنون می‌توانید ویژگی منابع داده خودکار را برای حسابتان بااستفاده از روش autofeedSettings.updateAutofeedSettings در زیرمجموعه Accounts API فعال یا غیرفعال کنید. برای اطلاعات بیشتر، پیکربندی تنظیمات فید خودکارسازی‌شده را ببینید.

انتخاب استراتژی منبع داده

سه گزینه برای مدیریت منابع داده دارید:

  • یک منبع داده Merchant API برای هر برچسب فید و زبانی ایجاد کنید. از این گزینه برای ساده کردن مدیریتتان استفاده کنید، با داشتن یک منبع داده واحد که محصولات را با هر feedLabel و contentLanguage می‌پذیرد. در راه‌اندازی Content API قدیمی، شما قوانین را برای برچسب‌ها و زبان‌های خاص ازطریق منابع داده جداگانه تعریف می‌کنید و محصولات را در منبع داده‌ای که قوانین هدف‌یابی‌شده مربوطه را دارد درج می‌کنید. اگر این گزینه را انتخاب کنید، توصیه می‌کنیم همه محصولاتتان را به منبع داده جدید منتقل کنید و پس‌از انتقال همه محصولاتتان، منابع داده Content API را بردارید.

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

  • منابع داده Content API موجود را نگه دارید. می‌توانید همچنان از منابع داده ایجادشده با Content API for Shopping استفاده کنید، زیرا با Merchant API سازگار هستند. می‌توانید نام منابع آن‌ها را بااستفاده از dataSources.list یا در میانای کاربری Merchant Center پیدا کنید. منابع داده اصلی Content API فقط از feedLabel و contentLanguage خاصی که با آن ایجاد شده‌اند پشتیبانی می‌کنند. منابع داده Content API در Merchant Center با منبع «Content API» نشان داده می‌شوند، حتی اگر محصولات بااستفاده از Merchant API درج شده باشند. می‌توانید آن‌ها را با منابع داده Merchant API جدیدی که جفت‌های feedLabel و contentLanguage خاصی را نیز هدف قرار می‌دهند ترکیب کنید.

توصیه می‌کنیم با ذخیره کردن نام همه منابع داده اصلی یک‌بار برای هریک از محصولاتتان، پایگاه داده محصولات محلی‌تان را پر کنید تا از فراخوانی‌های مکرر dataSources.list جلوگیری شود.

درخواست‌ها

جدول زیر قالب‌های نشانی وب درخواست را بین Content API for Shopping و Merchant API مقایسه می‌کند.

شرح درخواست Content API for Shopping میانای برنامه‌سازی کاربردی فروشنده
ایجاد منبع داده 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 از نام منبع رشته‌محور به‌عنوان شناسه استفاده می‌کند.

شرح شناسه Content API for Shopping میانای برنامه‌سازی کاربردی فروشنده
شناسه منبع داده datafeedId (عددی) name (رشته، قالب: accounts/{account}/dataSources/{datasource})

روش‌ها

این جدول روش‌های سرویس‌های datafeeds و datafeedstatuses از Content API for Shopping را با معادل‌هایشان در Merchant API مقایسه می‌کند.

روش Content API ویژه Shopping روش Merchant 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 ویژه Shopping و منابع DataSource و FileUpload در Merchant API نشان می‌دهد.

Content API for Shopping میانای برنامه‌سازی کاربردی فروشنده شرح
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) را مشخص می‌کند و پیکربندی صریح‌تری ارائه می‌دهد.