v1beta से v1 पर माइग्रेट करना

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