این راهنما توضیح میدهد که چگونه میتوانید یکپارچهسازی خود را از سرویسهای datafeeds و datafeedstatuses مربوط به Content API برای خرید به زیر API منابع داده در Merchant API منتقل کنید. API فرعی منابع داده جدید کنترل مستقیم بیشتری بر خطوط لوله داده شما ارائه می دهد و مدیریت منابع داده را ساده می کند.
برای اطلاعات بیشتر در مورد ویژگی های جدید، به راهنمای مدیریت منابع داده خود مراجعه کنید.
تفاوت های کلیدی
در مقایسه با Content API برای خرید، Merchant API چندین مزیت را ارائه می دهد.
- ایجاد منبع داده صریح API دیگر به طور خودکار منبع داده «Content API» را در اولین درج محصول شما ایجاد نمی کند. در Merchant API، قبل از اینکه بتوانید محصولات را در آنها آپلود کنید، به صراحت منابع داده ایجاد می کنید. این به شما از همان ابتدا کنترل بیشتری بر سازماندهی و مدیریت خطوط لوله داده محصولتان می دهد. 
- پشتیبانی از چندین منبع داده API در Content API برای خرید، شما محدود به یک منبع داده «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در API فرعی حسابها، ویژگی منابع داده خودکار را برای حساب خود فعال یا غیرفعال کنید. برای اطلاعات بیشتر، به پیکربندی تنظیمات تغذیه خودکار مراجعه کنید.
درخواست ها
جدول زیر فرمتهای URL درخواست را بین Content API برای خرید و Merchant API مقایسه میکند.
| درخواست توضیحات | Content API برای خرید | Merchant 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 از یک نام منبع مبتنی بر رشته به عنوان شناسه استفاده می کند.
| شرح شناسه | Content API برای خرید | Merchant API | 
|---|---|---|
| شناسه منبع داده | datafeedId(عددی) | name(رشته، قالب:accounts/{account}/dataSources/{datasource}) | 
روش ها
 این جدول روشهای Content API برای سرویسهای datafeeds خرید و datafeedstatuses با معادلهای آنها در Merchant API مقایسه میکند.
| Content API برای روش خرید | روش 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 برای خرید و منابع DataSource و FileUpload در Merchant API را نشان می دهد.
| Content API برای خرید | Merchant 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) با یک عدد (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) را مشخص می کند و پیکربندی واضح تری را ارائه می دهد. |