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