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

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