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 फ़ील्ड, माइग्रेशन में मदद करने वाला एक सहायक फ़ील्ड है. ऑनलाइन और स्थानीय मार्केटिंग के तरीकों को प्रॉडक्ट के एक ही सोर्स से पूरी तरह टारगेट किया जा सकेगा, तब इसे बंद कर दिया जाएगा. ज़्यादा जानकारी के लिए, अगले सेक्शन में दी गई टेबल देखें.

  • रीजनल और स्थानीय इन्वेंट्री एट्रिब्यूट के लिए नए फ़ील्ड:

    • सभी 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 फ़ील्ड का इस्तेमाल करें.