इस गाइड से, आपको Merchant API v1beta से v1 पर माइग्रेट करने में मदद मिलती है. यह वर्शन, सभी के लिए उपलब्ध पहला वर्शन है. v1 वर्शन में कई अपडेट और कुछ बदलाव किए गए हैं. इसके लिए, कोड को अपडेट करना पड़ सकता है. इन बदलावों को इसलिए किया गया है, ताकि एपीआई को इस्तेमाल करना आसान हो और Merchant Center खाते को बेहतर तरीके से मैनेज किया जा सके.
मुख्य अंतर
v1beta से v1 पर माइग्रेट करते समय, ध्यान रखने वाले सबसे ज़रूरी बदलाव यहां दिए गए हैं:
- Merchant API का इस्तेमाल करने के लिए, कम से कम एक एपीआई डेवलपर का एक बार रजिस्ट्रेशन करना:
आपको
registerGcpतरीके को कॉल करना होगा. ऐसा हर उस Google Cloud प्रोजेक्ट के लिए सिर्फ़ एक बार करना होगा जिसका इस्तेमाल पुष्टि करने के लिए किया जाता है. इससे आपकी संपर्क जानकारी मिल पाएगी. इससे आपको एपीआई का इस्तेमाल करने और Merchant API से जुड़े अपडेट और सूचनाएं पाने की अनुमति मिलेगी. इस चरण के पूरा होने तक,v1याv1alphaएपीआई का इस्तेमाल नहीं किया जा सकेगा. रजिस्ट्रेशन की प्रोसेस के बारे में ज़्यादा जानने के लिए, रजिस्ट्रेशन लेख पढ़ें. प्रॉडक्ट के नाम को कोड में बदलना:
ProductInput.nameऔरProduct.nameफ़ील्ड, बिना पैडिंग वाले base64url (आरएफ़सी 4648 सेक्शन 5) एन्कोडिंग के साथ काम करते हैं. इन दिशा-निर्देशों का पालन करें:- कोड में बदलने से पहले, स्ट्रिंग को
contentLanguage~feedLabel~offerIdफ़ॉर्मैट में होना चाहिए. अगर आपके प्रॉडक्ट के नाम में Merchant API या यूआरएल के लिए रिज़र्व किए गए वर्णों का इस्तेमाल किया गया है, तो एन्कोडिंग करना ज़रूरी है. जैसे:
% . + / : ~ , ( * ! ) & ? = @ # $अगर आपके प्रॉडक्ट का नाम,
contentLanguage~feedLabel~offerIdफ़ॉर्मैट के मुताबिक है और इसमें Merchant API या यूआरएल के लिए रिज़र्व किए गए वर्ण शामिल नहीं हैं, तो एन्कोड किए बिना सामान्य फ़ॉर्मैट का इस्तेमाल किया जा सकता है.हमारा सुझाव है कि सभी प्रॉडक्ट के नामों के लिए, बिना पैडिंग वाली base64url एन्कोडिंग का इस्तेमाल करें. इससे यह पक्का किया जा सकेगा कि पार्सिंग लगातार और सही तरीके से हो रही है.
- कोड में बदलने से पहले, स्ट्रिंग को
प्रॉडक्ट लेवल पर टैक्स की जानकारी हटाने के लिए:
taxesऔरtaxCategory.Product.attributesका नाम बदला गया:Product.attributesफ़ील्ड का नाम बदलकरProduct.productAttributesकर दिया गया है.प्रॉडक्ट लेवल पर टैक्स की जानकारी हटाना:
Product.productAttributesऑब्जेक्ट सेtaxesऔरtaxCategoryफ़ील्ड हटा दिए गए हैं. ज़्यादा जानकारी के लिए, टैक्स के बारे में Google Merchant Center का सहायता लेख पढ़ें.GTIN फ़ील्ड में बदलाव:
Product.productAttributesऑब्जेक्ट में मौजूदgtinफ़ील्ड का नाम बदलकरgtinsकर दिया गया है. इससे यह बेहतर तरीके से पता चलता है कि इसमें एक से ज़्यादा वैल्यू हो सकती हैं.OrderTrackingSignals.lineItemDetailsऑब्जेक्ट में मौजूदgtinफ़ील्ड अबarrayहै. इसका नाम बदलकर भीgtinsकर दिया गया है.चैनल फ़ील्ड हटाना:
channelफ़ील्ड को प्रॉडक्ट, प्रॉडक्ट इनपुट, और डेटा सोर्स से हटा दिया गया है. एक नया बूलियन फ़ील्ड,legacyLocal, जोड़ा गया है. इससे उन प्रॉडक्ट को साफ़ तौर पर दिखाया जा सकेगा जो सिर्फ़ फ़िज़िकल स्टोर में बेचे जाते हैं. ध्यान दें:legacyLocalफ़ील्ड, माइग्रेशन में मदद करने वाला एक सहायक फ़ील्ड है. जब ऑनलाइन और स्थानीय मार्केटिंग के तरीकों को एक ही प्रॉडक्ट सोर्स से पूरी तरह से टारगेट किया जा सकेगा, तब इसे बंद कर दिया जाएगा. ज़्यादा जानकारी के लिए, यहां दी गई टेबल देखें.रीजनल और स्थानीय इन्वेंट्री एट्रिब्यूट के लिए नए फ़ील्ड:
name,account, औरregionको छोड़कर, सभीRegionalInventoryफ़ील्ड को अबregionalInventoryAttributesनाम के नए ऑब्जेक्ट में रैप कर दिया गया है. उदाहरण के लिए,RegionalInventory.priceएट्रिब्यूट अबRegionalInventory.regionalInventoryAttributes.priceके तहत आता है.name,account, औरstoreCodeको छोड़कर, सभीLocalInventoryफ़ील्ड को अबlocalInventoryAttributesनाम के नए ऑब्जेक्ट में रैप कर दिया गया है. उदाहरण के लिए,LocalInventory.priceएट्रिब्यूट अबLocalInventory.localInventoryAttributes.priceके तहत आता है.
क्षेत्रीय और स्थानीय इन्वेंट्री से
customAttributesको हटाना:customAttributesफ़ील्ड कोRegionalInventoryऔरLocalInventory, दोनों संसाधनों से हटा दिया गया है.खाता बनाने की बेहतर सुविधा:
CreateAndConfigureAccountRequestसे, ज़रूरत से ज़्यादाusersफ़ील्ड हटा दिया गया है. किसी नए खाते से शुरुआती उपयोगकर्ता को जोड़ने के लिए,userफ़ील्ड का इस्तेमाल करें.कुछ एट्रिब्यूट टाइप को स्ट्रिंग से बदलकर enum किया गया है:
ProductऔरInventoryरिसॉर्स में मौजूद कुछ फ़ील्ड के लिए, वैल्यू की छोटी सूची तय की गई थी. इन्हें बेहतर डेटा पुष्टि के लिए,stringटाइप से बदलकरenumटाइप कर दिया गया है. उदाहरण के लिए,Product.ProductAttributes.conditionफ़ील्ड अबenumहै.सामान लौटाने की नीति को ऑनलाइन अपडेट करने का तरीका हटा दिया गया है:
v1में,onlineReturnPolicy.updateतरीका हटा दिया गया है. इसके बजाय,onlineReturnPolicy.createतरीके का इस्तेमाल करके, सामान लौटाने की नीति को ऑनलाइन अपडेट करें.
माइग्रेट करने का तरीका
Merchant API के v1beta वर्शन को 28 फ़रवरी, 2026 को बंद किया जाएगा.
बंद होने के शेड्यूल के बारे में ज़्यादा जानने के लिए, Merchant API के वर्शन से जुड़ी गाइड देखें.
माइग्रेट करने के लिए, सबसे पहले आपको डेवलपर के तौर पर एक बार रजिस्ट्रेशन करना होगा. इसके लिए, डेवलपर के तौर पर रजिस्टर करना लेख पढ़ें. पुष्टि के लिए इस्तेमाल किए जाने वाले हर Google Cloud प्रोजेक्ट के लिए, आपको
registerGcpतरीके को कॉल करना होगा. इसके बाद ही, कोईv1तरीका काम करेगा.एपीआई को कॉल करने के तरीके (REST, gRPC या क्लाइंट लाइब्रेरी का इस्तेमाल करके) से कोई फ़र्क़ नहीं पड़ता. माइग्रेट करने की प्रोसेस को चरणों में पूरा किया जा सकता है. इसका मतलब है कि एक बार में सिर्फ़ एक एपीआई के कोड को अपडेट और माइग्रेट किया जा सकता है. उदाहरण के लिए,
Productsएपीआई कोv1पर ले जाते समय,Accountsएपीआई कोv1betaपर रखा जा सकता है. इसके लिए, आपको एक साथ पूरे इंटिग्रेशन को अपडेट करने की ज़रूरत नहीं होगी.
फ़ील्ड में किए गए बदलावों की ज़्यादा जानकारी
इस टेबल में, v1beta और v1 वर्शन के बीच बदले गए फ़ील्ड की तुलना की गई है.
| v1beta | v1 | ब्यौरा |
|---|---|---|
ProductInput.name |
ProductInput.name |
Unpadded base64url encoding Merchant API या यूआरएल के लिए रिज़र्व किए गए वर्णों का इस्तेमाल करने वाले प्रॉडक्ट के नामों के लिए, यह एट्रिब्यूट ज़रूरी है और इसका इस्तेमाल किया जा सकता है. |
Product.name |
Product.name |
Unpadded base64url encoding Merchant API या यूआरएल के लिए रिज़र्व किए गए वर्णों का इस्तेमाल करने वाले प्रॉडक्ट के नामों के लिए, यह एट्रिब्यूट ज़रूरी है और इसका इस्तेमाल किया जा सकता है. |
Product.gtin |
Product.gtins |
जीटीआईएन वाले फ़ील्ड का नाम बदल दिया गया है. |
Product.taxes |
हटाया गया | taxes फ़ील्ड को हटा दिया गया है |
Product.taxCategory |
हटाया गया | taxCategory फ़ील्ड को हटा दिया गया है |
Product.channel |
हटाया गया | channel फ़ील्ड को हटा दिया गया है. स्थानीय इस्तेमाल के उदाहरणों के लिए, legacyLocal फ़ील्ड का इस्तेमाल करें. |
Product.attributes |
Product.productAttributes |
attributes फ़ील्ड का नाम बदलकर productAttributes कर दिया गया है.
|
Product फ़ील्ड में मौजूद availability, condition, gender, includedDestinations, और excludedDestinations को strings (या strings का array) के तौर पर दिखाया जाता है |
ये फ़ील्ड अब enums (या array में से enums) हैं |
जिन फ़ील्ड के लिए वैल्यू की छोटी सूची तय की गई थी उन्हें string टाइप से बदलकर enum कर दिया गया है.
|
RegionalInventory में price, salePrice, salePriceEffectiveDate, और availability |
RegionalInventory.regionalInventoryAttributes में ले जाया गया |
इन फ़ील्ड को regionalInventoryAttributes में ले जाया गया है.
|
RegionalInventory.availability फ़ील्ड एक string है |
RegionalInventory.regionalInventoryAttributes.availability अब enums है |
उपलब्धता के टाइप को string से बदलकर enum कर दिया गया है.
|
price, salePrice, salePriceEffectiveDate, availability, quantity, pickupMethod, pickupSla, और instoreProductLocation LocalInventory में |
LocalInventory.localInventoryAttributes में ले जाया गया |
इन फ़ील्ड को localInventoryAttributes में ले जाया गया है.
|
LocalInventory.availability फ़ील्ड एक string है |
LocalInventory.localInventoryAttributes.availability अब enums है |
उपलब्धता के टाइप को string से बदलकर enum कर दिया गया है.
|
LocalInventory.customAttributes |
हटाया गया | स्थानीय इन्वेंट्री के लिए, कस्टम एट्रिब्यूट का इस्तेमाल अब नहीं किया जा सकता. |
RegionalInventory.customAttributes |
हटाया गया | क्षेत्रीय इन्वेंट्री के लिए, कस्टम एट्रिब्यूट का इस्तेमाल अब नहीं किया जा सकेगा. |
ProductInput.channel |
हटाया गया | channel फ़ील्ड को हटा दिया गया है. स्थानीय इस्तेमाल के उदाहरणों के लिए, legacyLocal फ़ील्ड का इस्तेमाल करें. |
DataSource.channel |
हटाया गया | channel फ़ील्ड को हटा दिया गया है. स्थानीय इस्तेमाल के उदाहरणों के लिए, legacyLocal फ़ील्ड का इस्तेमाल करें. |
| उपलब्ध नहीं है | ProductInput.legacyLocal |
एक नया बूलियन फ़ील्ड, यह बताने के लिए कि कोई प्रॉडक्ट सिर्फ़ स्थानीय मार्केटिंग के तरीकों को टारगेट कर सकता है. प्रॉडक्ट रिसॉर्स आईडी में "local~" प्रीफ़िक्स होगा. |
| उपलब्ध नहीं है | Product.legacyLocal |
एक नया बूलियन फ़ील्ड, यह बताने के लिए कि कोई प्रॉडक्ट सिर्फ़ स्थानीय स्टोर में बेचा जाता है और ऑनलाइन खरीदारी के लिए उपलब्ध नहीं है. |
| उपलब्ध नहीं है | DataSource.legacyLocal |
यह एक नया बूलियन फ़ील्ड है. इससे यह पता चलता है कि डेटा सोर्स में ऐसे प्रॉडक्ट शामिल हैं जिन्हें सिर्फ़ स्थानीय स्टोर में बेचा जाता है. |
OrderTrackingSignals.LineItemDetails.gtin |
OrderTrackingSignals.LineItemDetails.gtins |
gtin फ़ील्ड का नाम बदलकर gtins कर दिया गया है. साथ ही, अब यह स्ट्रिंग के बजाय स्ट्रिंग का कलेक्शन है. |
CreateAndConfigureAccountRequest.users |
हटाया गया | users फ़ील्ड हटा दिया गया है. खाते में शुरुआती एडमिन को जोड़ने के लिए, user फ़ील्ड का इस्तेमाल करें. |