2019 年 3 月,我们发布了 Content API for Shopping 的 2.1 版本;2021 年 4 月,我们宣布 v2 将于 2021 年 9 月 30 日停用。版本 v2 已停用。请立即迁移至 2.1 版本。
迁移应用
从 v2 迁移到 v2.1 需要更新端点网址以调用新的 v2.1 版本,并修改应用以应对 v2.1 中引入的重大更改。
更新 API 调用以使用 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 服务和端点,请参阅 API 参考文档。
进行所需的更改
除了更新 API 调用的网址之外,您还需要更新应用,以应对 v2.1 中引入的几项重大变更。请查看以下部分,并根据需要更新您的应用。
1. 更新与 inventory 服务的集成
v2 inventory 服务已被移除,但以下 v2.1 功能可提供同等功能:
使用新的补充 Feed 或
products.update进行部分商品更新。您可以更新所有可变的商品字段,包括之前使用inventory.set更新的所有字段(localinventory专有的字段除外)。如需了解详情,请参阅改用补充 Feed。使用新的
localinventory服务来更新本地商品。
2. 更新对 accounts 服务的调用
在 v2.1 中,对
accounts.update方法的调用会完全覆盖accounts资源,而不是仅更新请求中包含的字段。为避免删除accounts资源中的字段,请更新您的调用请求以包含所有字段。已移除
reviewsUrl。adsLinks、googleMyBusinessLink和youtubeChannelLinks的关联状态inactive已被移除。
3. 更新对 products 服务的调用
自定义属性不再包含类型和单位。系统应该会自动检测到要附加到值中的单位和类型。
重复的字段
productTypes已替换productType和additionalProductTypes。重复的字段
includedDestinations和excludedDestinations已经替换重复的字段destinations。以下与 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"的数据 Feed。
6. 更新对 orders 和 TestOrders 服务的调用
在 v2.1 中,调用不应包含税费数据,因为系统会自动计算税费数据。如果订单在采用市场公平法案 (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 中未包含的功能
2.1 版 Content API 中还移除了其他几项功能。请查看以下列表,并根据需要更新您的申请:
不再支持 XML。如需详细了解如何改用 JSON,请参阅 Content API for Shopping 中 XML 支持的终止。
dryRun参数已移除。此变更适用于所有 API 调用。移除了所有
HTTP BATCH方法。请改用customBatch。已从以下服务中移除
patch方法:accountsaccounttaxdatafeedsliasettingsshippingsettings
orderpayments服务已被移除。
测试迁移
如需详细了解在迁移到 v2.1 后如何测试应用中的更改,请参阅测试 Content API for Shopping 的使用情况。 如果您在测试更新时遇到问题,可以与我们联系。
v2.1 中的其他更改
除了需要更新的更改之外,v2.1 还引入了多项新功能和非破坏性更改:
新服务:
借助新的
localinventory服务,您可以进行本地产品更新(取代 v2 中的inventory服务)。借助新的
orderreturns服务,您可以处理退货,而无需使用orders服务,从而更轻松地管理“在 Google 上购买”(以前称为“购物行动计划”)。
借助补充 Feed,您可以进行部分商品更新。
对
products服务的其他更改:products.insert请求不再报告非严重警告或错误。 这样一来,您就可以插入商品,并通过 Merchant Center 中的 Feed 规则进行后续更新来解决问题,就像对待通过 Content API 以外的方式管理的 Feed 一样。我们添加了
products.update,以便您更新所选的一组商品字段。如需详细了解可能的使用情况,请参阅指南。以下属性的无效值不会再触发插入错误,而是作为
productstatus服务返回的itemLevelIssues的一部分:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
自定义属性现在是递归属性,无需自定义组。
除原始
value字段外,自定义属性现在还具有groupValues字段。必须设置且只能设置一个字段。