इस गाइड से, आपको 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 फ़ील्ड में बदलाव:
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फ़ील्ड का इस्तेमाल, किसी नए खाते से शुरुआती उपयोगकर्ता को जोड़ने के लिए करें.कुछ एट्रिब्यूट टाइप को स्ट्रिंग से बदलकर एनम किया गया है:
ProductऔरInventoryरिसॉर्स में मौजूद कुछ फ़ील्ड के लिए, वैल्यू की छोटी सूची तय की गई थी. इन्हें बेहतर डेटा की पुष्टि करने के लिए,stringटाइप से बदलकरenumटाइप कर दिया गया है. उदाहरण के लिए,Product.ProductAttributes.conditionफ़ील्ड अबenumहै.ऑनलाइन स्टोर पर सामान वापसी की नीति अपडेट करने का तरीका हटा दिया गया है:
onlineReturnPolicy.updateतरीका,v1में हटा दिया गया है. इसके बजाय,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 |
जीटीIN के फ़ील्ड का नाम बदल दिया गया है. |
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 कर दिया गया है.
|
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 फ़ील्ड का इस्तेमाल करें. |