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