इस गाइड से, आपको 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कर दिया गया है.प्रॉडक्ट-लेवल पर टैक्स की जानकारी हटाना:
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है.ऑनलाइन सामान लौटाने की नीति अपडेट करने का तरीका हटाना:
v1मेंonlineReturnPolicy.updateतरीका हटा दिया गया है. इसके बजाय,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 |
जीटी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 (या array में से enums) हैं |
जिन फ़ील्ड के लिए वैल्यू की छोटी सूची तय की गई थी उन्हें 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 कर दिया गया है. साथ ही, अब यह स्ट्रिंग के बजाय स्ट्रिंग का कलेक्शन है. |
CreateAndConfigureAccountRequest.users |
हटाया गया | users फ़ील्ड को हटा दिया गया है. खाते में शुरुआती एडमिन को जोड़ने के लिए, user फ़ील्ड का इस्तेमाल करें. |