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