Content API v2 से v2.1 पर माइग्रेट करना

हमने मार्च 2019 में, Content API for Shopping का 2.1 वर्शन रिलीज़ किया था. इसके बाद, हमने अप्रैल 2021 में यह एलान किया था कि v2, 30 सितंबर, 2021 को बंद हो जाएगा. v2 वर्शन बंद कर दिया गया है. कृपया तुरंत v2.1 पर माइग्रेट करें.

अपना ऐप्लिकेशन माइग्रेट करना

v2 से v2.1 पर माइग्रेट करने के लिए, आपको अपने एंडपॉइंट यूआरएल अपडेट करने होंगे, ताकि नए v2.1 वर्शन को कॉल किया जा सके. साथ ही, आपको अपने ऐप्लिकेशन में बदलाव करने होंगे, ताकि v2.1 में किए गए बड़े बदलावों को ध्यान में रखा जा सके.

v2.1 एंडपॉइंट का इस्तेमाल करने के लिए, अपने एपीआई कॉल अपडेट करना

v2.1 पर कॉल करने के लिए, अपने अनुरोधों को नए v2.1 एंडपॉइंट का इस्तेमाल करने के लिए अपडेट करें.

उदाहरण के लिए, v2 के साथ products.get तरीके को कॉल करने के लिए, आपको इसका इस्तेमाल करना होगा:

GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId

v2.1 के लिए, यूआरएल को इस पर अपडेट करें:

GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId

v2.1 की सेवाओं और एंडपॉइंट के बारे में पूरी जानकारी के लिए, एपीआई रेफ़रंस देखें.

ज़रूरी बदलाव करना

एपीआई कॉल के लिए यूआरएल अपडेट करने के साथ-साथ, आपको अपने ऐप्लिकेशन को भी अपडेट करना होगा. ऐसा इसलिए, क्योंकि v2.1 में कई बड़े बदलाव किए गए हैं. यहां दिए गए सेक्शन देखें और ज़रूरत के मुताबिक, अपना आवेदन अपडेट करें.

1. inventory सेवा के साथ इंटिग्रेशन अपडेट करना

v2 inventory सेवा को हटा दिया गया है. इसके बदले, v2.1 की इन सुविधाओं का इस्तेमाल किया जा सकता है:

  • प्रॉडक्ट की जानकारी में आंशिक तौर पर बदलाव करने के लिए, नए पूरक फ़ीड या products.update का इस्तेमाल करें. बदले जा सकने वाले सभी प्रॉडक्ट फ़ील्ड को अपडेट किया जा सकता है. इनमें वे सभी फ़ील्ड भी शामिल हैं जिन्हें पहले inventory.set की मदद से अपडेट किया गया था. हालांकि, localinventory के लिए खास तौर पर उपलब्ध फ़ील्ड को अपडेट नहीं किया जा सकता. ज़्यादा जानकारी के लिए, पूरक फ़ीड पर माइग्रेट करना लेख पढ़ें.

  • स्थानीय प्रॉडक्ट के अपडेट के लिए, नई localinventory सेवा का इस्तेमाल करें.

2. accounts सेवा के लिए अपडेट कॉल

  • v2.1 में accounts.update तरीके को कॉल करने पर, accounts संसाधन पूरी तरह से बदल जाता है. ऐसा सिर्फ़ अनुरोध में शामिल फ़ील्ड को अपडेट करने के बजाय होता है. accounts रिसॉर्स में मौजूद फ़ील्ड को मिटाने से बचने के लिए, अपने कॉल अनुरोधों को अपडेट करें, ताकि उनमें सभी फ़ील्ड शामिल हों.

  • reviewsUrl को हटा दिया गया है.

  • adsLinks, googleMyBusinessLink, और youtubeChannelLinks के लिए, लिंक करने की स्थिति inactive हटा दी गई है.

3. products सेवा के लिए अपडेट कॉल

  • कस्टम एट्रिब्यूट में अब टाइप और यूनिट नहीं होती. इसके बजाय, यूनिट को वैल्यू में जोड़ा जाना चाहिए और टाइप अपने-आप पता चल जाने चाहिए.

  • दोहराए गए फ़ील्ड productTypes को productType और additionalProductTypes, दोनों की जगह इस्तेमाल किया गया है.

  • दोहराए गए फ़ील्ड destinations की जगह, दोहराए गए फ़ील्ड includedDestinations और excludedDestinations का इस्तेमाल किया गया है.

  • AdWords से जुड़े इन फ़ील्ड के नाम बदले गए हैं:

    • adwordsGrouping -> adsGrouping
    • adwordsLabels -> adsLabels
    • adwordsRedirect -> adsRedirect
  • इन फ़ील्ड को हटा दिया गया है:

    • aspects
    • destinations
    • onlineOnly
    • validatedDestinations
    • warnings
  • includeInvalidInsertedItems पैरामीटर को हटा दिया गया है. v2.1 में, डिफ़ॉल्ट रूप से सभी प्रॉडक्ट दिखाए जाते हैं.

  • अब किसी प्रॉडक्ट को डालने के बाद, उसे products.get या products.list के ज़रिए वापस पाने में कुछ मिनट लगते हैं.

  • अब यह ज़रूरी नहीं है कि लौटाया गया offerId, इनपुट किए गए offerId के जैसा हो. v2.1, offerId में मौजूद आगे और पीछे की खाली सफ़ेद जगह को हटा देता है. साथ ही, एक से ज़्यादा खाली सफ़ेद जगह वाले वर्णों को एक में मर्ज कर देता है. इस बदलाव का असर उन offerId वैल्यू पर नहीं पड़ता जो सुझाई गई offerId सिंटैक्स के मुताबिक हैं.

  • अब प्रॉडक्ट जोड़ने से पहले, कीमतों की पुष्टि की जाती है. वैल्यू स्ट्रिंग में सिर्फ़ इन वर्णों का इस्तेमाल किया जा सकता है: +, -, ., और अंक (यानी, 0-9). अब कॉमा इस्तेमाल नहीं किए जा सकते.

  • products.insert या products.update कॉल से मिले जवाबों में सिर्फ़ ये एट्रिब्यूट शामिल होते हैं:

    • channel
    • contentLanguage
    • id
    • offerId
    • feedLabel
  • v2 विकल्प includeAttributes को इस्तेमाल करने की सुविधा अब काम नहीं करती. प्रॉडक्ट की पूरी जानकारी देखने के लिए, products.get के साथ ProductId का इस्तेमाल करें.

4. productstatuses सेवा के लिए अपडेट कॉल

  • product एट्रिब्यूट और includeAttributes पैरामीटर को हटा दिया गया है. किसी स्थिति के हिसाब से प्रॉडक्ट के एट्रिब्यूट वापस पाने के लिए, products सेवा का इस्तेमाल करें और नए productId फ़ील्ड की वैल्यू पास करें.

  • includeInvalidInsertedItems पैरामीटर को हटा दिया गया है. अब हर प्रॉडक्ट का productId एट्रिब्यूट दिखाया जाता है. भले ही, प्रॉडक्ट मान्य हो या न हो.

  • destinationStatuses में मौजूद intention, approvalStatus, और approvalPending फ़ील्ड को status से बदल दिया गया है. यह एक स्ट्रिंग है, जो approved, disapproved या pending में से कोई एक हो सकती है.

  • dataQualityIssues की जगह अब itemLevelIssues ने ले ली है.

5. datafeeds सेवा के लिए अपडेट कॉल

  • इन टारगेट फ़ील्ड को बदल दिया गया है:

    • contentLanguage -> language
    • targetCountry -> country
    • intendedDestinations -> includedDestinations, और excludedDestinations
  • contentType = "product inventory update" वाले डेटा फ़ीड हटा दिए गए हैं.

6. orders और TestOrders सेवाओं के लिए कॉल अपडेट करना

  • v2.1 में, कॉल में टैक्स का डेटा शामिल नहीं होना चाहिए, क्योंकि टैक्स का डेटा अपने-आप कैलकुलेट हो जाता है. अगर ऑर्डर को ऐसे राज्य में पूरा किया जाता है जहां Marketplace Fairness Act (MFA) या इसी तरह का कोई कानून लागू होता है, तो टैक्स का डेटा शामिल करने वाले कॉल पूरे नहीं होते. अगर ऑर्डर को बिना एमएफ़ए के पूरा किया जाता है, तो टैक्स का हिसाब Merchant Center में कॉन्फ़िगर की गई सेटिंग के आधार पर लगाया जाता है. अगर इसे कॉन्फ़िगर नहीं किया जाता है, तो कैलकुलेट किया गया टैक्स 0 होता है.

  • InStoreRefundLineItem और ReturnRefundLineItem फ़ील्ड amountPretax और amountTax को क्रमशः priceAmount और taxAmount से बदल दिया गया है. priceAmount, टैक्स से पहले या टैक्स के बाद का हो सकता है. यह इस बात पर निर्भर करता है कि ऑर्डर कहां से किया गया है.

  • अनुरोध में मौजूद ShipLineItem फ़ील्ड carrier, shipmentId, और trackingId को shipmentInfos में ले जाया गया है.

  • billingAddress और predefinedBillingAddress अब orders और TestOrder में टॉप-लेवल फ़ील्ड हैं.

  • customer.explicitMarketingPreference की जगह अब customer.marketingRightsInfo ने ले ली है.

  • netAmount फ़ील्ड को netPriceAmount और netTaxAmount में बांट दिया गया है.

  • shippingOption की जगह अब lineItems[].shippingDetails ने ले ली है.

  • अनुरोध में मौजूद CancelLineItem फ़ील्ड amount, amountPretax, और amountTax को हटा दिया गया है. अब रिफ़ंड की रकम का हिसाब अपने-आप लगाया जाता है.

  • CustomBatch को हटा दिया गया है.

  • Refund को हटा दिया गया है. इसके बजाय, refundOrder या refundItem का इस्तेमाल करें.

  • paymentMethod फ़ील्ड को हटा दिया गया है.

  • v2 के orders.returnlineitem और orders.refund तरीकों की जगह, orderreturns.creatOrderReturn और orderreturns.process का इस्तेमाल किया जाता है.

  • customer.email, channelType, और lineItem.product.channel फ़ील्ड हटा दिए गए हैं.

  • promotions फ़ील्ड को TestOrder सेवा से हटा दिया गया है. साथ ही, Order में इसका फ़ॉर्मैट बदल दिया गया है.

7. orderinvoice सेवा के लिए अपडेट कॉल

  • amountPretax और amountTax फ़ील्ड को क्रमशः priceAmount और taxAmount से बदल दिया गया है. priceAmount फ़ील्ड में, टैक्स से पहले या टैक्स के बाद की कीमत दी जा सकती है. यह इस बात पर निर्भर करता है कि ऑर्डर कहां से किया गया है.

  • invoiceSummary और प्रमोशन के शुल्क से जुड़े फ़ील्ड में से, बैलेंस (कारोबारी, खरीदार, Google) की जानकारी हटा दी गई है.

8. ऐसी सुविधाओं को हटाएं जो v2.1 में शामिल नहीं हैं

Content API के 2.1 वर्शन से कई अन्य सुविधाएं हटा दी गई हैं. यहां दी गई सूची देखें और ज़रूरत के मुताबिक, अपने ऐप्लिकेशन को अपडेट करें:

  • अब एक्सएमएल फ़ॉर्मैट में उपलब्ध वीडियो को क्रॉल नहीं किया जा सकता. JSON पर स्विच करने के बारे में ज़्यादा जानकारी के लिए, Content API for Shopping में XML के लिए उपलब्ध सहायता बंद होना लेख पढ़ें.

  • dryRun पैरामीटर को हटा दिया गया है. यह बदलाव, सभी एपीआई कॉल पर लागू होता है.

  • सभी HTTP BATCH तरीके हटा दिए गए हैं. इसके बजाय, customBatch का इस्तेमाल करें.

  • patch तरीके को इन सेवाओं से हटा दिया गया है:

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • orderpayments सेवा को हटा दिया गया है.

माइग्रेशन की जांच करना

v2.1 पर माइग्रेट करने के बाद, अपने ऐप्लिकेशन में किए गए बदलावों की जांच करने के बारे में ज़्यादा जानने के लिए, Content API for Shopping के इस्तेमाल की जांच करना लेख पढ़ें. अगर आपको अपडेट की जांच करते समय कोई समस्या आती है, तो हमसे संपर्क करें.

वर्शन 2.1 में हुए अन्य बदलाव

इसके अलावा, v2.1 में कई नई सुविधाएं और बिना किसी रुकावट के बदलाव भी किए गए हैं:

  • नई सेवाएं:

    • नई localinventory सेवा की मदद से, स्थानीय प्रॉडक्ट की जानकारी अपडेट की जा सकती है. यह सेवा, v2 में मौजूद inventory सेवा की जगह इस्तेमाल की जा सकती है.

    • orderreturns सेवा की मदद से, 'Google पर खरीदें' (पहले इसे Shopping Actions के नाम से जाना जाता था) को आसानी से मैनेज किया जा सकता है. इसकी मदद से, orders सेवा का इस्तेमाल किए बिना ही, सामान लौटाने की प्रोसेस पूरी की जा सकती है.

  • पूरक फ़ीड की मदद से, प्रॉडक्ट के कुछ हिस्सों को अपडेट किया जा सकता है.

  • products सेवा में अन्य बदलाव:

    • products.insert अनुरोधों में, अब नुकसान न पहुंचाने वाली चेतावनियां या गड़बड़ियां शामिल नहीं होतीं. इससे आपको Merchant Center में फ़ीड के नियमों के ज़रिए, प्रॉडक्ट डालने और बाद में उन्हें अपडेट करने की सुविधा मिलती है. ऐसा ठीक उसी तरीके से किया जाता है जिसका इस्तेमाल, Content API के बाहर मैनेज किए जाने वाले फ़ीड के लिए करते हैं.

    • products.update को जोड़ा गया है, ताकि आप चुने गए प्रॉडक्ट फ़ील्ड के सेट में अपडेट कर सकें. इस्तेमाल के संभावित तरीकों के बारे में ज़्यादा जानने के लिए, गाइड देखें.

    • इन एट्रिब्यूट की अमान्य वैल्यू की वजह से, अब डेटा डालने से जुड़ी गड़बड़ियां नहीं होती हैं. साथ ही, productstatus सेवा, इन्हें itemLevelIssues के हिस्से के तौर पर दिखाती है:

      • ageGroup
      • availability
      • condition
      • energyEfficiencyClass
      • gender
      • maxEnergyEfficiencyClass
      • minEnergyEfficiencyClass
      • sizeSystem
      • sizeType
    • कस्टम एट्रिब्यूट अब रिकर्सिव होते हैं. इससे कस्टम ग्रुप की ज़रूरत नहीं होती.

    • कस्टम एट्रिब्यूट में अब ओरिजनल value फ़ील्ड के अलावा, groupValues फ़ील्ड भी मौजूद है. इनमें से किसी एक फ़ील्ड को सेट करना ज़रूरी है.