यह गाइड, 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फ़ील्ड, माइग्रेशन में मदद करने वाला एक सहायक फ़ील्ड है. जब ऑनलाइन और ऑफ़लाइन मार्केटिंग के तरीकों को प्रॉडक्ट के एक ही सोर्स से पूरी तरह टारगेट किया जा सकेगा, तब इसे बंद कर दिया जाएगा. ज़्यादा जानकारी के लिए, अगले सेक्शन में दी गई टेबल देखें.रीजनल और स्थानीय इन्वेंट्री एट्रिब्यूट के लिए नए फ़ील्ड:
- सभी
RegionalInventoryफ़ील्ड को अबregionalInventoryAttributesनाम के नए ऑब्जेक्ट में रैप कर दिया गया है. हालांकि,name,accountऔरregionफ़ील्ड को रैप नहीं किया गया है. उदाहरण के लिए,RegionalInventory.priceएट्रिब्यूट अबRegionalInventory.regionalInventoryAttributes.priceके तहत आता है. LocalInventoryके सभी फ़ील्ड को अबlocalInventoryAttributesनाम के नए ऑब्जेक्ट में रैप कर दिया गया है. हालांकि,name,account, औरstoreCodeफ़ील्ड को रैप नहीं किया गया है. उदाहरण के लिए,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 फ़ील्ड का इस्तेमाल करें. |