Merchant API, प्रॉडक्ट डेटा को मैनेज करने का एक बेहतर और आसान तरीका उपलब्ध कराता है. मुख्य बदलाव यह है कि प्रॉडक्ट डेटा को दो अलग-अलग संसाधनों में बांटा गया है: ProductInput
का इस्तेमाल डेटा सबमिट करने के लिए किया जाता है और Product
का इस्तेमाल, प्रोसेस किए गए फ़ाइनल वर्शन को देखने के लिए किया जाता है. इसमें प्रॉडक्ट की स्थिति और समस्याएं शामिल होती हैं. इस नए स्ट्रक्चर से, आपको ज़्यादा भरोसेमंद और पारदर्शी अनुभव मिलेगा.
इस गाइड में, दोनों एपीआई के बीच के मुख्य अंतरों के बारे में बताया गया है. इससे आपको Content API for Shopping से अपने इंटिग्रेशन को माइग्रेट करने में मदद मिलेगी. नई सुविधाओं को इस्तेमाल करने के बारे में ज़्यादा जानकारी के लिए, अपने प्रॉडक्ट मैनेज करना लेख पढ़ें.
मुख्य अंतर
Content API for Shopping की तुलना में, Merchant API में प्रॉडक्ट मैनेज करने के तरीके में हुए सबसे अहम बदलाव यहां दिए गए हैं:
इनपुट और प्रोसेस किए गए डेटा के लिए खास संसाधन: Merchant API, प्रॉडक्ट मैनेजमेंट को दो संसाधनों में बांटता है. अपने प्रॉडक्ट डेटा को डालने, अपडेट करने, और मिटाने के लिए,
ProductInput
रिसोर्स का इस्तेमाल किया जा सकता है. Google के आपके इनपुट को प्रोसेस करने, नियमों को लागू करने, और पूरक सोर्स से डेटा को जोड़ने के बाद, फ़ाइनल प्रॉडक्ट देखने के लिए, सिर्फ़ पढ़ने के लिए उपलब्धProduct
रिसॉर्स का इस्तेमाल किया जा सकता है.इंटिग्रेट किए गए प्रॉडक्ट का स्टेटस:
productstatuses
सेवा हटा दी जाती है. प्रॉडक्ट की पुष्टि से जुड़ी समस्याएं और डेस्टिनेशन के स्टेटस अब सीधे तौर परproductStatus
फ़ील्ड में मौजूदProduct
रिसॉर्स में शामिल किए जाते हैं. इससे डेटा को आसानी से वापस पाया जा सकता है.प्रॉडक्ट के अपडेट का अनुमान लगाना: नई
productInputs.patch
विधि, किसी प्रॉडक्ट के इनपुट में सीधे तौर पर बदलाव करती है. यह Content API for Shopping से बेहतर है. इसमें अपडेट को अन्य फ़ीड अपलोड से अचानक बदला जा सकता है. Merchant API में, अपडेट तब तक बना रहता है, जब तक उस प्रॉडक्ट के इनपुट को फिर से अपडेट या मिटाया नहीं जाता. प्रॉडक्ट अपडेट, प्रोसेस किए गएProduct
संसाधन के बजायProductInput
संसाधन पर लागू होते हैं.डेटा को बेहतर तरीके से मैनेज करने के लिए, अपना डेटा सोर्स चुनें: अब सभी
productInputs
राइट ऑपरेशन के लिएdataSource
क्वेरी पैरामीटर की ज़रूरत होती है. इससे यह साफ़ तौर पर पता चलता है कि कौनसे डेटा सोर्स में बदलाव किया जा रहा है. यह तरीका तब ज़्यादा काम आता है, जब आपके पास डेटा देने वाले कई सोर्स हों.नए रिसॉर्स आइडेंटिफ़ायर: अब प्रॉडक्ट की पहचान,
id
फ़ील्ड के बजाय RESTful रिसॉर्सname
से की जाती है. फ़ॉर्मैटaccounts/{account}/products/{product}
है.कस्टम बैच नहीं:
custombatch
तरीका अब उपलब्ध नहीं है. एक एचटीटीपी कॉल में कई अनुरोध भेजने के लिए, एसिंक्रोनस अनुरोधों या एचटीटीपी बैचिंग का इस्तेमाल किया जा सकता है.किसी भी फ़ीड के लेबल और भाषा के लिए डेटा सोर्स: Merchant API की मदद से, फ़ीड का लेबल और भाषा तय किए बिना डेटा सोर्स बनाया जा सकता है. इसलिए, इससे किसी भी फ़ीड के लेबल और भाषा वाले प्रॉडक्ट को शामिल किया जा सकता है.
अनुरोध
इस सेक्शन में, Content API for Shopping और Merchant API के लिए अनुरोध फ़ॉर्मैट की तुलना की गई है.
अनुरोध का ब्यौरा | Shopping के लिए Content API | Merchant API |
---|---|---|
कोई प्रॉडक्ट पाना | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} |
प्रॉडक्ट की लिस्टिंग करना | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products |
एक प्रॉडक्ट डालें | POST https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products |
POST https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs:insert |
किसी प्रॉडक्ट को अपडेट करना | PATCH https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
PATCH https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} |
किसी प्रॉडक्ट को मिटाना | DELETE https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/products/{productId} |
DELETE https://merchantapi.googleapis.com/products/v1/accounts/{account}/productInputs/{productinput} |
प्रॉडक्ट की स्थिति पाना | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses/{productId} |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products/{product} |
प्रॉडक्ट के स्टेटस की सूची बनाना | GET https://shoppingcontent.googleapis.com/content/v2.1/{merchantId}/productstatuses |
GET https://merchantapi.googleapis.com/products/v1/accounts/{account}/products |
एक साथ कई अनुरोध करना | POST https://shoppingcontent.googleapis.com/content/v2.1/products/custombatch |
एसिंक्रोनस अनुरोध, एचटीटीपी बैचिंग |
आइडेंटिफ़ायर
Merchant API में प्रॉडक्ट आइडेंटिफ़ायर का फ़ॉर्मैट बदलकर, स्टैंडर्ड REST रिसॉर्स नेम कर दिया गया है.
आइडेंटिफ़ायर की जानकारी | Shopping के लिए Content API | Merchant API |
---|---|---|
प्रॉडक्ट आईडी | यह एक स्ट्रिंग है, जिसमें सेगमेंट होते हैं. इन सेगमेंट को कोलन (: ) से अलग किया जाता है.फ़ॉर्मैट: channel:contentLanguage:targetCountry:offerId या channel:contentLanguage:feedLabel:offerId .उदाहरण: online:en:US:sku123 |
यह एक REST संसाधन name स्ट्रिंग है.फ़ॉर्मैट: accounts/{account}/products/{product} जहां {product} , contentLanguage~feedLabel~offerId है.उदाहरण: accounts/12345/products/en~US~sku123 |
तरीके
इस टेबल में, Content API for Shopping के तरीके और Merchant API में उनके बराबर के तरीके दिखाए गए हैं.
Content API for Shopping का तरीका | Merchant API का तरीका | उपलब्धता और नोट |
---|---|---|
products.get |
products.get |
यह फ़ंक्शन, प्रोसेस किया गया फ़ाइनल प्रॉडक्ट दिखाता है. |
products.list |
products.list |
इसमें प्रोसेस किए गए फ़ाइनल प्रॉडक्ट की लिस्ट होती है. |
products.insert |
productInputs.insert |
यह फ़ंक्शन, प्रॉडक्ट इनपुट डालता है. इसके लिए dataSource की ज़रूरत होती है. |
products.update |
productInputs.update |
व्यवहार में काफ़ी अंतर है. यह कुकी, किसी प्रॉडक्ट के इनपुट को अपडेट करती है और हमेशा मौजूद रहती है. |
products.delete |
productInputs.delete |
यह फ़ंक्शन, किसी प्रॉडक्ट के इनपुट को मिटाता है. इसके लिए dataSource की ज़रूरत होती है. |
products.custombatch |
उपलब्ध नहीं है | एसिंक्रोनस अनुरोधों या एचटीटीपी बैचिंग का इस्तेमाल करें. |
productstatuses.get |
products.get |
productstatuses सेवा हटा दी जाती है. स्थिति की जानकारी अब Product संसाधन का हिस्सा है. |
productstatuses.list |
products.list |
productstatuses सेवा हटा दी जाती है. स्थिति की जानकारी अब Product संसाधन का हिस्सा है. |
productstatuses.custombatch |
उपलब्ध नहीं है | [asynchronous |
अनुरोध](/merchant/api/samples/insert-product-input-async) या एचटीटीपी बैचिंग का इस्तेमाल करें. |
फ़ील्ड में किए गए बदलावों की पूरी जानकारी
इस टेबल में, Merchant API में बदले गए, जोड़े गए या हटाए गए ज़रूरी फ़ील्ड को हाइलाइट किया गया है.
Shopping के लिए Content API | Merchant API | ब्यौरा |
---|---|---|
id |
name |
किसी प्रॉडक्ट के लिए मुख्य आइडेंटिफ़ायर, अब REST संसाधन name है. |
प्रॉडक्ट डेटा स्पेसिफ़िकेशन के टॉप-लेवल एट्रिब्यूट (जैसे, title , price , link ) |
productAttributes ऑब्जेक्ट |
title , price , और link जैसे प्रॉडक्ट एट्रिब्यूट अब टॉप-लेवल फ़ील्ड नहीं हैं. अब इन्हें Product और ProductInput , दोनों संसाधनों में productAttributes ऑब्जेक्ट के अंदर ग्रुप किया गया है. इससे रिसोर्स का स्ट्रक्चर ज़्यादा व्यवस्थित और साफ़-सुथरा दिखता है. |
targetCountry |
feedLabel |
Merchant Center की सुविधाओं के साथ अलाइन करने के लिए, संसाधन के नाम में अब targetCountry के बजाय feedLabel का इस्तेमाल किया जाता है. |
feedId |
dataSource (क्वेरी पैरामीटर) |
dataSource का नाम अब सभी productInputs राइट मेथड (insert , update , delete ) के लिए ज़रूरी क्वेरी पैरामीटर है. |
channel |
यह सुविधा उपलब्ध नहीं है. सिर्फ़ स्थानीय प्रॉडक्ट के लिए legacy_local का इस्तेमाल करें. |
channel फ़ील्ड अब Merchant API में मौजूद नहीं है. Content API for Shopping में LOCAL चैनल वाले प्रॉडक्ट के लिए, legacy_local फ़ील्ड को सही पर सेट किया जाना चाहिए. |
उपलब्ध नहीं है | versionNumber |
ProductInput में एक नया वैकल्पिक फ़ील्ड जोड़ा गया है. इसका इस्तेमाल, प्राइमरी डेटा सोर्स में गलत क्रम में डेटा डालने से रोकने के लिए किया जा सकता है. |
string टाइप वाले फ़ील्ड, जिनमें वैल्यू का सेट तय किया गया हो |
enum टाइप वाले फ़ील्ड, जिनमें वैल्यू का सेट तय किया गया हो |
प्रॉडक्ट एट्रिब्यूट में मौजूद फ़ील्ड, जिनमें वैल्यू का सेट तय किया गया है (उदाहरण के लिए, excluded_destinations , availability ), अब enum टाइप के हैं. |