इस गाइड में, Content API for Shopping की datafeeds और
datafeedstatuses सेवाओं से, 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 में, एक से ज़्यादा डेटा टारगेट वाले फ़ीड काम नहीं करते.डेटा सोर्स की रणनीति चुनना. डेटा सोर्स मैनेज करने के लिए, आपके पास तीन विकल्प हैं:
Content API के मौजूदा डेटा सोर्स को बनाए रखना. Content API for Shopping की मदद से बनाए गए डेटा सोर्स का इस्तेमाल जारी रखा जा सकता है, क्योंकि ये Merchant API के साथ काम करते हैं.
dataSources.listका इस्तेमाल करके या Merchant Center के यूज़र इंटरफ़ेस (यूआई) में जाकर, इनके संसाधन के नाम देखे जा सकते हैं. Content API के प्राइमरी डेटा सोर्स, सिर्फ़ उनfeedLabelऔरcontentLanguageके साथ काम करते हैं जिनके साथ उन्हें बनाया गया था. Merchant Center में, Content API के डेटा सोर्स, "Content API" सोर्स के साथ दिखते हैं. भले ही, प्रॉडक्ट Merchant API का इस्तेमाल करके जोड़े गए हों. इन्हें Merchant API के नए डेटा सोर्स के साथ जोड़ा जा सकता है. ये डेटा सोर्स भी,feedLabelऔरcontentLanguageके खास पेयर को टारगेट करते हैं.हर लेबल और भाषा के लिए, Merchant API के नए डेटा सोर्स बनाना. अगर आपको
feedLabelऔरcontentLanguageके नए कॉम्बिनेशन के लिए सहायता देनी है (और इनके बीच साफ़ तौर पर अंतर रखना है) या अगर डेटा सोर्स के नियमों का सेटअप इस्तेमाल करना है, तो इस विकल्प का इस्तेमाल करें. डेटा सोर्स के नियमों का सेटअप,feedLabelऔरcontentLanguageके खास पेयर पर निर्भर करता है.feedLabelऔरcontentLanguageके हर पेयर के लिए, आपको अलग-अलग डेटा सोर्स बनाने होंगे.किसी भी लेबल और भाषा के लिए, Merchant API का एक डेटा सोर्स बनाना. मैनेजमेंट को आसान बनाने के लिए, इस विकल्प का इस्तेमाल करें. इससे आपके पास एक ऐसा डेटा सोर्स होगा जो किसी भी
feedLabelऔरcontentLanguageवाले प्रॉडक्ट स्वीकार करेगा. अगर यह विकल्प चुना जाता है, तो हमारा सुझाव है कि अपने सभी प्रॉडक्ट को इस नए डेटा सोर्स पर माइग्रेट करें. साथ ही, प्रॉडक्ट माइग्रेट हो जाने के बाद, Content API के पुराने डेटा सोर्स हटा दें.
फ़ाइल अपलोड के स्टेटस के लिए अलग संसाधन. Merchant API, फ़ाइल-आधारित डेटा सोर्स के स्टेटस को दिखाने के लिए, अलग से सिर्फ़ पढ़ने के लिए उपलब्ध
fileUploadsसंसाधन का इस्तेमाल करता है. फ़ाइल अपलोड के स्टेटस को वापस पाने के लिए,fileUploads.getतरीके का इस्तेमाल करें. इसके साथ,latestएलियास का इस्तेमाल करें.डेटा सोर्स के नए टाइप.
DataSourceसंसाधन, ज़्यादा वर्टिकल के साथ काम करता है. इनमें प्रमोशन, स्थानीय इन्वेंट्री, और रीजनल इन्वेंट्री शामिल हैं. इससे, आपको अपने सभी डेटा पाइपलाइन को मैनेज करने का एक ही तरीका मिलता है.ऑटोमेटेड डेटा सोर्स. Merchant API की मदद से, अब अपने खाते के लिए ऑटोमेटेड डेटा सोर्स की सुविधा चालू या बंद की जा सकती है. इसके लिए, Accounts सब-एपीआई में
autofeedSettings.updateAutofeedSettingsतरीके का इस्तेमाल करें. ज़्यादा जानकारी के लिए, ऑटोफ़ीड की सेटिंग कॉन्फ़िगर करना देखें.
अनुरोध
यहां दी गई टेबल में, Content API for Shopping और Merchant API के अनुरोध यूआरएल फ़ॉर्मैट की तुलना की गई है.
| अनुरोध का ब्यौरा | Content API for Shopping | 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 for Shopping | Merchant API |
|---|---|---|
| डेटा सोर्स का आइडेंटिफ़ायर | datafeedId (संख्या) |
name (स्ट्रिंग, फ़ॉर्मैट: accounts/{account}/dataSources/{datasource}) |
तरीके
इस टेबल में, Content API for Shopping की datafeeds
और datafeedstatuses सेवाओं के तरीकों की तुलना, Merchant API में मौजूद उनके बराबर के तरीकों से की गई है.
| Content API for Shopping का तरीका | Merchant API का तरीका | उपलब्धता और नोट |
|---|---|---|
datafeeds.custombatch |
उपलब्ध नहीं है | इसके बजाय, एपीआई के अलग-अलग कॉल का इस्तेमाल करें. |
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 |
उपलब्ध नहीं है | इसके बजाय, एपीआई के अलग-अलग कॉल का इस्तेमाल करें. ज़्यादा जानकारी के लिए, एक साथ कई अनुरोध भेजना देखें. |
datafeedstatuses.get |
fileUploads.get |
फ़ाइल-आधारित डेटा सोर्स के लिए उपलब्ध. हाल ही में किए गए अपलोड का स्टेटस पाने के लिए, latest एलियास का इस्तेमाल करें. डेटा सोर्स के अन्य टाइप के लिए, स्टेटस की जानकारी DataSource संसाधन का हिस्सा होती है. |
datafeedstatuses.list |
उपलब्ध नहीं है | एक से ज़्यादा डेटा सोर्स का स्टेटस पाने के लिए, सबसे पहले dataSources.list की मदद से सभी डेटा सोर्स की सूची देखें. इसके बाद, फ़ाइल-आधारित हर डेटा सोर्स के लिए, latest एलियास के साथ fileUploads.get को कॉल करें. |
फ़ील्ड में किए गए बदलावों की ज़्यादा जानकारी
इस टेबल में, Content API for Shopping में मौजूद Datafeed और
DatafeedStatus संसाधनों की तुलना, Merchant API में मौजूद DataSource
और FileUpload संसाधनों से की गई है. इसमें फ़ील्ड के लेवल पर किए गए बदलाव दिखाए गए हैं.
| Content API for Shopping | 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) तय किया जाता है. इससे, ज़्यादा साफ़ तौर पर कॉन्फ़िगरेशन मिलता है. |