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 फ़ील्ड में बदलाव: 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 है.

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