इस गाइड से, आपको 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 फ़ील्ड का इस्तेमाल करें. |