हमने मार्च 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->adsGroupingadwordsLabels->adsLabelsadwordsRedirect->adsRedirect
इन फ़ील्ड को हटा दिया गया है:
aspectsdestinationsonlineOnlyvalidatedDestinationswarnings
includeInvalidInsertedItemsपैरामीटर को हटा दिया गया है. v2.1 में, डिफ़ॉल्ट रूप से सभी प्रॉडक्ट दिखाए जाते हैं.अब किसी प्रॉडक्ट को डालने के बाद, उसे
products.getयाproducts.listके ज़रिए वापस पाने में कुछ मिनट लगते हैं.अब यह ज़रूरी नहीं है कि लौटाया गया
offerId, इनपुट किए गएofferIdके जैसा हो. v2.1,offerIdमें मौजूद आगे और पीछे की खाली सफ़ेद जगह को हटा देता है. साथ ही, एक से ज़्यादा खाली सफ़ेद जगह वाले वर्णों को एक में मर्ज कर देता है. इस बदलाव का असर उनofferIdवैल्यू पर नहीं पड़ता जो सुझाई गईofferIdसिंटैक्स के मुताबिक हैं.अब प्रॉडक्ट जोड़ने से पहले, कीमतों की पुष्टि की जाती है. वैल्यू स्ट्रिंग में सिर्फ़ इन वर्णों का इस्तेमाल किया जा सकता है:
+,-,., और अंक (यानी,0-9). अब कॉमा इस्तेमाल नहीं किए जा सकते.products.insertयाproducts.updateकॉल से मिले जवाबों में सिर्फ़ ये एट्रिब्यूट शामिल होते हैं:channelcontentLanguageidofferIdfeedLabel
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->languagetargetCountry->countryintendedDestinations->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तरीके को इन सेवाओं से हटा दिया गया है:accountsaccounttaxdatafeedsliasettingsshippingsettings
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के हिस्से के तौर पर दिखाती है:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
कस्टम एट्रिब्यूट अब रिकर्सिव होते हैं. इससे कस्टम ग्रुप की ज़रूरत नहीं होती.
कस्टम एट्रिब्यूट में अब ओरिजनल
valueफ़ील्ड के अलावा,groupValuesफ़ील्ड भी मौजूद है. इनमें से किसी एक फ़ील्ड को सेट करना ज़रूरी है.