डेटा सोर्स माइग्रेट करना

इस गाइड में, 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 में, एक से ज़्यादा डेटा टारगेट वाले फ़ीड काम नहीं करते.

  • डेटा सोर्स की रणनीति चुनना. डेटा सोर्स मैनेज करने के लिए, आपके पास तीन विकल्प हैं:

    1. 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 के खास पेयर को टारगेट करते हैं.

    2. हर लेबल और भाषा के लिए, Merchant API के नए डेटा सोर्स बनाना. अगर आपको feedLabel और contentLanguage के नए कॉम्बिनेशन के लिए सहायता देनी है (और इनके बीच साफ़ तौर पर अंतर रखना है) या अगर डेटा सोर्स के नियमों का सेटअप इस्तेमाल करना है, तो इस विकल्प का इस्तेमाल करें. डेटा सोर्स के नियमों का सेटअप, feedLabel और contentLanguage के खास पेयर पर निर्भर करता है. feedLabel और contentLanguage के हर पेयर के लिए, आपको अलग-अलग डेटा सोर्स बनाने होंगे.

    3. किसी भी लेबल और भाषा के लिए, 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) तय किया जाता है. इससे, ज़्यादा साफ़ तौर पर कॉन्फ़िगरेशन मिलता है.