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

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

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

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

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

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

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

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 सेवा पर कॉल अपडेट करें

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

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

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

3. products सेवा पर कॉल अपडेट करें

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

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

  • दोहराए गए फ़ील्ड includedDestinations और excludedDestinations ने दोहराए गए फ़ील्ड destinations को बदल दिया है.

  • नीचे दिए गए 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 के इस्तेमाल पर रोक लगा दी गई है. इसके बजाय, प्रॉडक्ट की पूरी जानकारी देखने के लिए, ProductId के साथ products.get का इस्तेमाल करें.

4. productstatuses सेवा पर कॉल अपडेट करें

  • includeAttributes पैरामीटर के साथ, product एट्रिब्यूट को हटा दिया गया है. किसी स्थिति से जुड़े प्रॉडक्ट के एट्रिब्यूट वापस पाने के लिए, 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 में, कॉल में टैक्स डेटा शामिल नहीं होना चाहिए, क्योंकि टैक्स डेटा की गिनती अपने-आप होती है. अगर ऑर्डर, मार्केटप्लेस फ़ेयरनेस ऐक्ट (MFA) या ऐसे ही किसी मामले वाले राज्य में पूरा किया जाता है, तो टैक्स डेटा वाले कॉल फ़ेल हो जाते हैं. अगर ऑर्डर, 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. वर्शन 2.1 में शामिल नहीं की गई सुविधाओं को हटाएं

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

  • एक्सएमएल अब काम नहीं करता. JSON पर स्विच करने के बारे में ज़्यादा जानकारी के लिए, Content API for Shopping में एक्सएमएल की सुविधा का बंद होना देखें.

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

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

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

    • accounts
    • accounttax
    • datafeeds
    • liasettings
    • shippingsettings
  • orderpayments सेवा हटा दी गई है.

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

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

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

अपडेट की ज़रूरत वाले बदलावों के अलावा, v2.1 में कई नई सुविधाएं और गैर-ज़रूरी बदलाव भी शामिल किए गए हैं:

  • नई सेवाएं:

    • वर्शन 2 में inventory सेवा की जगह, नई localinventory सेवा से स्थानीय प्रॉडक्ट को अपडेट किया जा सकता है.

    • 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 फ़ील्ड भी है. फ़ील्ड में से कोई एक सेट होना चाहिए.