A ingestão em lote de feeds de dados permite disponibilizar restaurantes, serviços e menus no pedido de ponta a ponta.
O Google busca e processa os feeds de dados armazenados na plataforma de hospedagem. Após a ingestão, o recurso "End-to-End Ordering" fornece informações sobre o status da ingestão, novos arquivos enviados, número total de arquivos, erros e avisos, entre outras coisas.
Este artigo detalha a maioria dos erros de feed em lote na Central de ações, o que eles significam e como corrigi-los. Os hiperlinks levam você à página do esquema de inventário relacional, que fornece mais contexto, como o tipo de dados aceito e exemplos em campos e entidades específicos.
Onde são mostrados os erros de feed em lote na Central de ações?
Os feeds de dados permitem que você disponibilize seu restaurante, serviços e cardápio no pedido de ponta a ponta. Para saber mais sobre a hospedagem de feeds de dados, acesse o artigo Ingestão em lote.
Depois de fazer o upload dos arquivos do feed, eles são buscados e processados pelo Google. Se houver algum problema, ele será exibido como um erro. Confira as etapas para ver os erros do feed em lote no Centro de ações.
No painel de navegação principal da Central de ações, acesse a seção Feeds > Histórico.
Escolha o ambiente (produção ou sandbox) e clique na guia Ingestion history.
Insira uma janela de lookback para conferir o histórico de transferência dos últimos X dias
Para saber mais detalhes sobre erros de uma transferência de feed específica, clique na seta (→)
Você pode conferir mais detalhes sobre erros e avisos
Confira uma lista de erros de feeds em lote:
Erro | O que significa | Como corrigir |
Dados ausentes: o MenuItem
Menu precisa ter pelo menos um MenuItem
|
Um menu foi definido sem MenuItem
|
Encontre o ID da entidade Menu incorreta no feed e adicione itens de menu. |
Dados incorretos: maxPrice
Dados incorretos para o campo maxPrice
|
O valor do campo maxPrice está incorreto
|
Verifique se o valor do campo maxPrice é maior que 0 para o ID da entidade mencionado na descrição do erro.
|
Dados incorretos: eligibleQuantityMax
Dados incorretos para o campo eligibleQuantityMax
|
O valor do campo eligibleQuantityMax está incorreto
|
Confira se o valor do campo eligibleQuantityMax é maior que 0 para o ID de entidade mencionado.
|
Dados incorretos: leadTimeMax
Dados incorretos para o campo leadTimeMax
|
O campo leadTimeMax espera um valor inteiro. Exemplo: 12.
Ele gera um erro para qualquer outro tipo de dados, até mesmo o duplo (15.0).
|
Para o ID da entidade mencionado na mensagem de erro, verifique o valor da propriedade leadTimeMax e verifique se ele é um número inteiro.
|
Dados incorretos: validFrom
Dados incorretos para o campo validFrom
|
O valor do campo validFrom espera um formato de carimbo de data/hora ISO com o tipo String.
|
Para o ID da entidade na mensagem de erro do campo validFrom , verifique se o valor é uma string de carimbo de data/hora.
Exemplo: " 2022-01-02T00:00:00-07:00 "
|
Dados ausentes: ServiceHours
OperationHour não contém ServiceHours aninhados |
A entidade OperationHours foi definida, mas não há uma entidade ServiceHours válida correspondente a ela. | Para o ID de entidade mencionado na mensagem de erro, verifique se há uma entidade ServiceHours devidamente definida correspondente a ele.
Exemplo: se a mensagem de erro for "ID da entidade: store-1:DELIVERY OperationHour não contém ServiceHours aninhados" e supondo que o ID da entidade de OperationHours seja "store-1:DELIVERY:operation_hours", verifique se há uma entidade serviceHours vinculada a 'store-1:DELIVERY' ServiceID e 'store-1:DELIVERY:operation_hours' OperationHoursID
|
Dados incorretos: advanceBookingRequirementMin
Dados incorretos para o campo advanceBookingRequirementMin
|
O campo advanceBookingRequirementMin espera um valor inteiro. Exemplo: 12.
Ele gera um erro para qualquer outro tipo de dados, até mesmo o duplo (15.0). |
Para o ID de entidade mencionado na mensagem de erro, verifique o valor da propriedade advanceBookingRequirementMin e verifique se ele é um número inteiro.
|
Dados incorretos: availabilityStarts
Dados incorretos para o campo availabilityStarts
|
O valor do campo availabilityStarts espera um formato de carimbo de data/hora ISO com o tipo String.
|
Para o ID da entidade na mensagem de erro do campo availabilityStarts , verifique se o valor é uma string de carimbo de data/hora.
Exemplo: " 2022-01-02T00:00:00-07:00 "
|
Dados incorretos: closes
Dados incorretos para o campo closes
|
O valor do campo closes espera um formato de carimbo de data/hora ISO com o tipo String.
|
Para o ID da entidade na mensagem de erro do campo closes , verifique se o valor é uma string de carimbo de data/hora.
Exemplo: " 2022-01-02T00:00:00-07:00 "
|
Dados incorretos: dateModified
Dados incorretos para o campo dateModified
|
O valor do campo dateModified espera um formato de carimbo de data/hora ISO com o tipo String.
|
Para o ID da entidade na mensagem de erro do campo dateModified , verifique se o valor é uma string de carimbo de data/hora.
Exemplo: " 2022-01-02T00:00:00-07:00 "
|
Dados incorretos: discount
Dados incorretos para o campo discount
|
O campo discount espera um valor numérico
|
Para o ID da entidade na mensagem de erro do campo discount , verifique se o valor é numérico.
Exemplo: 10
|
Dados incorretos: discountPercentage
Dados incorretos para o campo discountPercentage
|
O campo discountPercentage espera um valor numérico
|
Para o ID da entidade na mensagem de erro do campo discountPercentage , verifique se o valor é numérico.
Exemplo: 15
|
Dados incorretos: geoRadius
Dados incorretos para o campo geoRadius
|
O campo geoRadius espera um valor inteiro positivo.
|
Para o ID de entidade mencionado na mensagem de erro, verifique o valor da propriedade geoRadius e verifique se ele é um número inteiro.
Exemplo: 10000 |
Dados incorretos: image
Dados incorretos para o campo image
|
O campo image espera um URL válido e gera um erro se detectar qualquer outra coisa.
|
Verifique se o valor do campo image é uma string de URL válida.
|
Dados incorretos: latitude
Dados incorretos para o campo latitude
|
O campo latitude espera que o tipo de valor seja duplo
|
Para o ID de entidade do tipo "Restaurante" mencionado na descrição do erro, verifique se o valor do campo latitude é duplo.
Exemplo: 35,4565 |
Dados incorretos: leadTimeMin
Dados incorretos para o campo leadTimeMin
|
O campo leadTimeMin espera um valor inteiro. Exemplo: 12.
Ele gera um erro para qualquer outro tipo de dados, até mesmo o duplo (15.0). |
Para o ID da entidade mencionado na mensagem de erro, verifique o valor da propriedade leadTimeMin e verifique se ele é um número inteiro.
|
Dados incorretos: longitude
Dados incorretos para o campo longitude
|
O campo longitude espera que o tipo de valor seja duplo
|
Para o ID de entidade do tipo "Restaurante" mencionado na descrição do erro, verifique se o valor do campo longitude é duplo.
Exemplo: 35,4565 |
Dados incorretos: menuId
Dados incorretos para o campo menuId
|
O valor do campo menuId precisa ser uma string não vazia.
|
Para o ID de entidade mencionado na descrição do erro, verifique se o valor é do tipo String e não está vazio. |
Dados incorretos: name
Dados incorretos para o campo name
|
O valor do campo name precisa ser uma string não vazia.
|
Verifique se o valor do ID da entidade mencionado na mensagem de erro é uma string não vazia. |
Dados incorretos: nutrition.calories
Dados incorretos para o campo nutrition.calories
|
O valor do campo calories precisa ser uma string no formato "NN Cal".
|
Verifique se o ID da entidade na mensagem de erro é um número positivo no formato correto.
Exemplo: "123,32 kcal" |
Dados incorretos: opens
Dados incorretos para o campo opens
|
O valor do campo opens espera um formato de carimbo de data/hora ISO com o tipo String.
|
Para o ID da entidade na mensagem de erro do campo opens , verifique se o valor é uma string de carimbo de data/hora.
Exemplo: " 2022-01-02T00:00:00-07:00 "
|
Dados incorretos: price
Dados incorretos para o campo price
|
O campo price espera um valor numérico
|
Para o ID da entidade na mensagem de erro do campo price , verifique se o valor é numérico.
Exemplo: 15,4 |
Dados incorretos: sku
Dados incorretos para o campo sku
|
O valor do campo sku precisa ser uma string não vazia.
|
Verifique se o valor do ID da entidade mencionado na mensagem de erro é uma string não vazia. |
Dados incorretos: validFrom
Dados incorretos para o campo validFrom
|
O valor do campo validFrom espera um formato de carimbo de data/hora ISO com o tipo String.
Além disso, o valor de validFrom precisa ser menor ou igual a validThrough .
|
Para o ID de entidade mencionado na descrição do erro, verifique se o valor do campo validFrom é uma string de carimbo de data/hora.
" 2022-01-02T00:00:00-07:00 "
Além disso, verifique se o valor de validFrom é menor ou igual a validThrough
|
Dados incorretos: validThrough
Dados incorretos para o campo validThrough
|
O valor do campo validThrough espera um formato de carimbo de data/hora ISO com o tipo String.
Além disso, o valor de validThrough precisa ser maior ou igual a validFrom .
|
Para o ID de entidade mencionado na descrição do erro, verifique se o valor do campo validThrough é uma string de carimbo de data/hora.
" 2022-01-02T00:00:00-07:00 "
Além disso, verifique se o valor de validThrough é maior ou igual a validFrom
|
Dados incorretos: value
Dados incorretos para o campo value
|
O campo de valor é obrigatório apenas quando Optiontype é definido. Ele espera uma string ou um tipo enumerado value . Os valores de tipo enumerado são específicos do tipo de opção PIZZA_SIDE.
|
Para o entityID mencionado na descrição do erro, verifique se o campo value tem uma string não vazia.
|
O menu é muito grande
O tamanho do menu excede o limite máximo |
Esse erro é gerado quando o tamanho de um arquivo de menu é maior do que o sistema pode aceitar. Cada arquivo, que pode conter várias entidades, não pode exceder 200 MB. As entidades de nível superior "Restaurante", "Serviço" e "Menu", junto com as entidades filhas, não podem exceder 4 MB. | Verifique se o tamanho do arquivo de menu está dentro do limite especificado na documentação. |
Dados ausentes: addressCountry
O campo obrigatório addressCountry está ausente na entrada.
|
addressCountry é um campo obrigatório e está ausente da entidade "Restaurante"
|
Para o ID da entidade mencionado na descrição do erro, verifique se o campo addressCountry é uma string não vazia.
|
Dados ausentes: addressLocality
O campo obrigatório addressLocality está ausente na entrada.
|
addressLocality é um campo obrigatório e está ausente da entidade "Restaurante"
|
Para o ID da entidade mencionado na descrição do erro, verifique se o campo addressLocality é uma string não vazia.
|
Dados ausentes: addressRegion
O campo obrigatório addressRegion está ausente na entrada.
|
addressRegion é um campo obrigatório e está ausente da entidade "Restaurante"
|
Para o ID da entidade mencionado na descrição do erro, verifique se o campo addressRegion é uma string não vazia.
|
Dados ausentes: taxa
O serviço de entrega/retirada não tem taxas de entrega |
A entidade do tipo Fee não tem price associada ao serviço de entrega/retirada
|
Para o ID de entidade mencionado na descrição do erro, verifique se a entidade Fee está definida corretamente para ServiceType de entrega/retirada, de acordo com as instruções aqui. |
Dados ausentes: FeeValue
Um dos campos price , pricePerMeter ou percentageOfCart é obrigatório na entrada.
|
Para o valor da taxa, exatamente um price, pricePerMeter or percentageOfCart precisa ser definido.
|
Para o ID da entidade mencionado na descrição do erro, verifique se exatamente um price, pricePerMeter or percentageOfCart está definido.
|
Dados ausentes: geoMidpointLatitude
O campo obrigatório geoMidpointLatitude está ausente na entrada.
|
Ao definir ServiceArea, geoMidpointLatitude é necessário junto com geoMidpointLongitude quando geoRadius é usado.
|
Para o ID de entidade mencionado na descrição do erro, verifique se o valor do campo geoMidpointLatitude está definido e é do tipo duplo.
Exemplo: 35,4565 |
Dados ausentes: geoMidpointLongitude
geoMidpointLongitude na entrada.
|
Ao definir ServiceArea, geoMidpointLongitude é necessário junto com geoMidpointLatitude quando geoRadius é usado.
|
Para o ID de entidade mencionado na descrição do erro, verifique se o valor do campo geoMidpointLatitude está definido e é do tipo duplo.
Exemplo: 122.4565 |
Dados ausentes: MenuItemOption
MenuItemOffer é obrigatório para MenuItemOption |
Para cada MenuItemOption, é necessário ter uma entidade MenuItemOffer correspondente. | Verifique se todos os IDs de itens de menu na descrição do erro têm uma entidade MenuItemOption com uma entidade MenuItemOffer definida corretamente. |
Dados ausentes: OperationHours
O serviço não tem horas de operação |
Uma entidade de serviço de entrega/retirada não tem uma entidade OperationHours correspondente. OperationHours descreve o período de pedidos em que os usuários podem acessar o fluxo e fazer pedidos imediatos ou futuros. | Para o ID da entidade mencionado na descrição do erro, verifique se uma entidade OperationHours está definida corretamente. |
Dados ausentes: postalCode
O campo obrigatório postalCode está ausente na entrada.
|
postalCode é um campo obrigatório e está ausente da entidade "Restaurante"
|
Para o ID da entidade mencionado na descrição do erro, verifique se o campo postalCode é uma string não vazia.
|
Dados ausentes: priceCurrency
O campo obrigatório priceCurrency está ausente na entrada.
|
O campo priceCurrency está vazio ou contém um valor impreciso. Ele espera um código de moeda ISO 4217 de três letras.
|
Para o ID da entidade descrito na descrição do erro, verifique se o campo priceCurrency é uma string não vazia com o código de moeda ISO 4217 de três letras.
Exemplo: USD, EUR |
Dados ausentes: ServiceArea
O serviço de entrega não tem áreas de serviço de entrega |
A entidade ServiceArea precisa ser implementada se a entidade Service associada tiver serviceType definido como "DELIVERY"
|
Verifique se o ID da entidade de serviço mencionado na mensagem de erro tem uma entidade ServiceArea corretamente definida. |
Dados ausentes: streetAddress
O campo obrigatório streetAddress está ausente na entrada.
|
streetAddress é um campo obrigatório e está ausente da entidade Restaurant
|
Encontre a entidade Restaurant pelo ID mencionado na descrição do erro e verifique se o campo streetAddress é uma string não vazia.
|
Entidade desatualizada | Durante a ingestão de feeds de dados, o recurso Ordenação de ponta a ponta compara o carimbo de data/hora da data modificada de cada entidade recebida com os carimbos de data/hora das entidades ingeridas anteriormente. A entidade recebida é marcada como desatualizada, a menos que a entidade nos feeds de dados seja mais recente. | Para todos os IDs de entidade mencionados na descrição do erro, o Google precisa garantir que o carimbo de hora no feed de dados seja mais recente do que o definido nas atualizações de entidade anteriores enviadas ao Google. Consulte Versionamento de entidade para mais esclarecimentos. |