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 कर दिया गया है.

  • प्रॉडक्ट-लेवल पर टैक्स की जानकारी हटाना: 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 फ़ील्ड का इस्तेमाल करें.