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