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 (आरएफ़सी 4648 सेक्शन 5) एन्कोडिंग के साथ काम करते हैं. इन दिशा-निर्देशों का पालन करें:

    • कोड में बदलने से पहले, स्ट्रिंग को contentLanguage~feedLabel~offerId फ़ॉर्मैट में होना चाहिए.
    • अगर आपके प्रॉडक्ट के नाम में Merchant API या यूआरएल के लिए रिज़र्व किए गए वर्णों का इस्तेमाल किया गया है, तो एन्कोडिंग करना ज़रूरी है. जैसे:

      % . + / : ~ , ( * ! ) & ? = @ # $
      
    • अगर आपके प्रॉडक्ट का नाम, contentLanguage~feedLabel~offerIdफ़ॉर्मैट के मुताबिक है और इसमें Merchant API या यूआरएल के लिए रिज़र्व किए गए वर्ण शामिल नहीं हैं, तो एन्कोड किए बिना सामान्य फ़ॉर्मैट का इस्तेमाल किया जा सकता है.

    • हमारा सुझाव है कि सभी प्रॉडक्ट के नामों के लिए, बिना पैडिंग वाली base64url एन्कोडिंग का इस्तेमाल करें. इससे यह पक्का किया जा सकेगा कि पार्सिंग लगातार और सही तरीके से हो रही है.

  • प्रॉडक्ट लेवल पर टैक्स की जानकारी हटाने के लिए: taxes और taxCategory.

  • Product.attributes का नाम बदला गया: Product.attributes फ़ील्ड का नाम बदलकर Product.productAttributes कर दिया गया है.

  • प्रॉडक्ट लेवल पर टैक्स की जानकारी हटाना: Product.productAttributes ऑब्जेक्ट से taxes और taxCategory फ़ील्ड हटा दिए गए हैं. ज़्यादा जानकारी के लिए, टैक्स के बारे में 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 फ़ील्ड का इस्तेमाल करें.

  • कुछ एट्रिब्यूट टाइप को स्ट्रिंग से बदलकर enum किया गया है: Product और Inventory रिसॉर्स में मौजूद कुछ फ़ील्ड के लिए, वैल्यू की छोटी सूची तय की गई थी. इन्हें बेहतर डेटा पुष्टि के लिए, string टाइप से बदलकर enum टाइप कर दिया गया है. उदाहरण के लिए, Product.ProductAttributes.condition फ़ील्ड अब enum है.

  • सामान लौटाने की नीति को ऑनलाइन अपडेट करने का तरीका हटा दिया गया है: v1 में, onlineReturnPolicy.update तरीका हटा दिया गया है. इसके बजाय, 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 जीटीआईएन वाले फ़ील्ड का नाम बदल दिया गया है.
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 कर दिया गया है.
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 फ़ील्ड का इस्तेमाल करें.