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