Em março de 2019, lançamos a versão 2.1 da API Content for Shopping e, em abril de 2021, anunciamos que a v2 seria desativada em 30 de setembro de 2021. A versão v2 foi desativada. Migre para a v2.1 imediatamente.
Migrar o aplicativo
A migração da v2 para a v2.1 envolve a atualização dos URLs de endpoint para chamar as novas versões da v2.1 e a modificação dos aplicativos para considerar as mudanças incompatíveis introduzidas na v2.1.
Atualizar as chamadas de API para usar endpoints v2.1
Para fazer chamadas para a v2.1, atualize suas solicitações para usar os novos endpoints da v2.1.
Por exemplo, para chamar o método products.get com a v2, use:
GET https://shoppingcontent.googleapis.com/content/v2/merchantId/products/productId
Para a v2.1, atualize o URL para:
GET https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId
Para informações completas sobre serviços e endpoints da v2.1, consulte a Referência da API.
Faça as alterações necessárias
Além de atualizar os URLs das chamadas de API, também é necessário atualizar o aplicativo para considerar várias mudanças incompatíveis introduzidas na v2.1. Revise as seções a seguir e atualize o aplicativo conforme necessário.
1. Atualizar integrações com o serviço inventory
O serviço v2 inventory foi removido, e a funcionalidade equivalente está
disponível com os seguintes recursos da v2.1:
Use os novos Feeds complementares ou
products.updatepara atualizações parciais de produtos. É possível atualizar todos os campos mutáveis de produtos, incluindo todos os campos atualizados anteriormente cominventory.set(exceto aqueles exclusivos dolocalinventory). Consulte Migrar para feeds complementares para mais detalhes.Use o novo serviço
localinventorypara atualizações de produtos disponíveis na loja física.
2. Atualizar chamadas para o serviço accounts
As chamadas para o método
accounts.updatena v2.1 substituem completamente o recursoaccounts, em vez de apenas atualizar os campos incluídos na solicitação. Para evitar a exclusão de campos no recursoaccounts, atualize suas solicitações de chamada para incluir todos os campos.O
reviewsUrlfoi removido.O status do link
inactivefoi removido paraadsLinks,googleMyBusinessLinkeyoutubeChannelLinks.
3. Atualizar chamadas para o serviço products
Os atributos personalizados não contêm mais um tipo e uma unidade. Em vez disso, as unidades precisam ser anexadas ao valor, e os tipos devem ser detectados automaticamente.
O campo repetido
productTypessubstituiuproductTypeeadditionalProductTypes.Os campos repetidos
includedDestinationseexcludedDestinationssubstituíram o campo repetidodestinations.Os seguintes campos relacionados ao AdWords foram renomeados:
adwordsGrouping->adsGroupingadwordsLabels->adsLabelsadwordsRedirect->adsRedirect
Os seguintes campos foram removidos:
aspectsdestinationsonlineOnlyvalidatedDestinationswarnings
O parâmetro
includeInvalidInsertedItemsfoi removido. Na v2.1, todos os produtos são retornados por padrão.Agora há um atraso de alguns minutos antes que um produto inserido possa ser recuperado via
products.getouproducts.list.Não há mais garantia de que o
offerIdretornado seja o mesmo que oofferIdde entrada. A v2.1 remove os espaços em branco no início e no fim doofferIde mescla vários caracteres de espaço em branco em um só. Essa mudança não afeta os valores deofferIdque estão de acordo com a sintaxeofferIdrecomendada.Agora os preços são validados antes da inserção do produto. Somente os seguintes caracteres são permitidos na string de valor:
+,-,.e dígitos (ou seja,0-9). As vírgulas não são mais aceitas.As respostas de uma chamada
products.insertouproducts.updatecontêm apenas os seguintes atributos:channelcontentLanguageidofferIdfeedLabel
A opção v2
includeAttributesfoi descontinuada. Em vez disso, useproducts.getcomProductIdpara ver as informações completas do produto.
4. Atualizar chamadas para o serviço productstatuses
O atributo
productfoi removido, assim como o parâmetroincludeAttributes. Para recuperar os atributos do produto correspondentes a um status, use o serviçoproductse transmita o valor do novo campoproductId.O parâmetro
includeInvalidInsertedItemsfoi removido. OproductIdde cada produto agora é retornado, independente de o produto ser válido.Os campos
intention,approvalStatuseapprovalPendingemdestinationStatusesforam substituídos porstatus, que é uma string que pode serapproved,disapprovedoupending.dataQualityIssuesfoi substituído poritemLevelIssues.
5. Atualizar chamadas para o serviço datafeeds
Os seguintes campos de destino foram substituídos:
contentLanguage->languagetargetCountry->countryintendedDestinations->includedDestinationseexcludedDestinations
Os feeds de dados com
contentType = "product inventory update"foram removidos.
6. Atualizar chamadas para os serviços orders e TestOrders
Na v2.1, as chamadas não devem incluir dados de tributos porque eles são calculados automaticamente. Se o pedido for atendido em um estado com uma lei de justiça do Marketplace (MFA, na sigla em inglês) ou semelhante, as chamadas que incluírem dados fiscais vão falhar. Se o pedido for atendido em um estado sem MFA, o tributo será calculado com base nas configurações do Merchant Center. Se não for configurado, o tributo calculado será 0.
Os campos
InStoreRefundLineItemeReturnRefundLineItemamountPretaxeamountTaxforam substituídos porpriceAmountetaxAmount, respectivamente. OpriceAmountpode ser antes ou depois dos tributos, dependendo da localização do pedido.Os campos
carrier,shipmentIdetrackingIddeShipLineItemna solicitação foram movidos parashipmentInfos.billingAddressepredefinedBillingAddressagora são campos de nível superior emorderseTestOrder, respectivamente.customer.explicitMarketingPreferencefoi substituído porcustomer.marketingRightsInfo.O campo
netAmountfoi dividido emnetPriceAmountenetTaxAmount.shippingOptionfoi substituído porlineItems[].shippingDetails.Os campos
CancelLineItemamount,amountPretaxeamountTaxna solicitação foram removidos. O valor reembolsado agora é calculado automaticamente.O
CustomBatchfoi removido.O
Refundfoi removido. UserefundOrderourefundItem.O campo
paymentMethodfoi removido.Os métodos v2
orders.returnlineitemeorders.refundforam substituídos pororderreturns.creatOrderReturneorderreturns.process.Os campos
customer.email,channelTypeelineItem.product.channelforam removidos.O campo
promotionsfoi removido do serviçoTestOrdere o formato dele foi alterado emOrder.
7. Atualizar chamadas para o serviço orderinvoice
Os campos
amountPretaxeamountTaxforam substituídos porpriceAmountetaxAmount, respectivamente. O campopriceAmountpode ser antes ou depois dos tributos, dependendo da localização do pedido.Saldos removidos (comerciante, cliente, Google) em
invoiceSummarye campos relacionados à cobrança de promoção.
8. Remover funcionalidades não incluídas na v2.1
Vários outros recursos foram removidos da API Content na v2.1. Revise a lista a seguir e atualize sua inscrição conforme necessário:
O XML não é mais compatível. Para mais informações sobre a mudança para JSON, consulte Descontinuação do suporte a XML na API Content for Shopping.
O parâmetro
dryRunfoi removido. Essa mudança se aplica a todas as chamadas de API.Todos os métodos
HTTP BATCHforam removidos. UsecustomBatch.O método
patchfoi removido dos seguintes serviços:accountsaccounttaxdatafeedsliasettingsshippingsettings
O serviço
orderpaymentsfoi removido.
Testar a migração
Para mais informações sobre como testar as mudanças nos aplicativos após a migração para a v2.1, consulte Testar usos da API Content for Shopping. Se você tiver problemas ao testar as atualizações, entre em contato com nossa equipe.
Outras mudanças na v2.1
Além das mudanças que exigem atualizações, a v2.1 também apresenta vários novos recursos e mudanças não destrutivas:
Novos serviços:
O novo serviço
localinventorypermite fazer atualizações de produtos locais (em vez do serviçoinventoryna v2).O novo serviço
orderreturnsfacilita o gerenciamento do Comprar com o Google (antes conhecido como Ações do Shopping), permitindo que você processe devoluções sem precisar usar o serviçoorders.
Com os feeds complementares, é possível fazer atualizações parciais de produtos.
Outras mudanças no serviço
products:As solicitações do
products.insertnão informam mais avisos ou erros não fatais. Assim, você pode inserir produtos e fazer atualizações subsequentes para resolver problemas usando regras de feed no Merchant Center, como faria com feeds gerenciados fora da API Content.O
products.updatefoi adicionado para permitir que você faça atualizações em um conjunto escolhido de campos de produtos. Para mais informações sobre possíveis usos, consulte o guia.Valores inválidos para os seguintes atributos não acionam mais erros de inserção e são retornados como parte de
itemLevelIssuespelo serviçoproductstatus:ageGroupavailabilityconditionenergyEfficiencyClassgendermaxEnergyEfficiencyClassminEnergyEfficiencyClasssizeSystemsizeType
Agora, os atributos personalizados são recursivos, o que elimina a necessidade de grupos personalizados.
Os atributos personalizados agora têm um campo
groupValuesalém do campovalueoriginal. Exatamente um dos campos precisa ser definido.