इस गाइड में, 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संसाधन का इस्तेमाल करता है. अपलोड की गई किसी फ़ाइल का स्टेटस देखने के लिए,latestउपनाम के साथfileUploads.getतरीके का इस्तेमाल करें.डेटा सोर्स के नए टाइप.
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 Center में Content API के डेटा सोर्स, "Content API" सोर्स के साथ दिखते हैं. भले ही, प्रॉडक्ट Merchant 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 (स्ट्रिंग, फ़ॉर्मैट: 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) को 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) के बारे में बताता है. इससे ज़्यादा सटीक कॉन्फ़िगरेशन मिलता है. |