इस गाइड में, 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 की मदद से, अब अपने खाते के लिए ऑटोमेटेड डेटा सोर्स की सुविधा चालू या बंद की जा सकती है. इसके लिए, खातों के सब-एपीआई में
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 के अनुरोध यूआरएल के फ़ॉर्मैट की तुलना की गई है.
| अनुरोध का ब्यौरा | 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) बताया जाता है. इससे ज़्यादा साफ़ तौर पर कॉन्फ़िगरेशन किया जा सकता है. |