Com os feeds de dados, você pode disponibilizar restaurantes, serviços e cardápios no Pedir com o Google.
Neste documento, veremos como hospedar seu inventário de sandbox e de produção e como usar a ingestão em lote para atualizar seu inventário no Pedir com o Google.
Ambientes de feed de dados
Há três ambientes de feed de dados disponíveis para seu desenvolvimento de integração:
Ambiente do feed | Descrição | Ingestão em lote |
---|---|---|
Sandbox | O ambiente de teste do desenvolvimento do feed. | Obrigatório |
Produção | O ambiente de produção do inventário que você quer lançar. | Obrigatório |
Hospedagem de feeds de dados
Para que o Order with Google processe seus feeds de dados de sandbox e de produção por ingestão em lote, é preciso hospedar os arquivos do feed de dados no Google Cloud Storage, Amazon S3 ou HTTPS com um sitemap.
Recomendamos que você hospede os feeds de dados dos seus ambientes de sandbox e de produção separadamente. Essa abordagem permite fazer desenvolvimento e teste no ambiente de feed do sandbox antes de implantar as alterações na produção.
Por exemplo, se usar o Google Cloud Storage como opção de hospedagem, você terá os seguintes caminhos:
- Feed do sandbox:
gs://foorestaurant-google-feed-sandbox/
- Feed de produção:
gs://foorestaurant-google-feed-prod/
Para hospedar seu inventário, faça o seguinte:
- Gere os arquivos do feed de dados.
- Escolha uma solução de hospedagem.
- Hospede seus feeds de dados.
- Seus arquivos de feed de dados devem ser atualizados regularmente. Os feeds de dados de produção precisam ser atualizados diariamente.
Para saber mais sobre como criar um feed de inventário, consulte a documentação das entidades
Restaurant
,
Service
e Menu
,
bem como na seção
Criar um feed de dados.
Diretrizes sobre arquivos de feed de dados
Cada arquivo, que pode conter várias entidades, não pode exceder 200 MB. As entidades
de nível superior Restaurant
, Service
e Menu
, além das
entidades filhas, não podem exceder 4 MB juntas.
Escolha uma solução de hospedagem
A tabela a seguir lista as opções para hospedar seus feeds de dados e como esses hosts funcionam com o Pedir com o Google:
Amazon S3 | Google Cloud Storage | HTTPS com um sitemap | |
---|---|---|---|
Credenciais e acesso |
Forneça ao Google as seguintes informações:
O bucket do S3 precisa incluir as seguintes informações:
Exemplo de arquivo |
Forneça ao Google os caminhos para os diretórios do bucket de produção e de sandbox e o arquivo
Adicione a conta de serviço fornecida pelo consultor do Google como uma leitura do seu bucket do Google Cloud Storage. Para mais informações sobre como controlar o acesso ao Google Cloud Storage (GCS), consulte Console do Google Cloud Platform: como definir permissões de bucket. O bucket do GCS precisa incluir as seguintes informações:
Exemplo de arquivo |
Forneça ao Google as seguintes informações:
|
Como o Google sabe quais arquivos precisam ser buscados | Lista de diretórios de todos os arquivos no bucket. | Lista de diretórios de todos os arquivos no bucket. | Os URLs individuais dos arquivos estão listados no sitemap. |
Como o Google sabe que os arquivos estão prontos para busca | Depois de gerar seus feeds de dados, atualize o arquivo marker.txt
com o carimbo de data/hora mais recente. |
Depois de gerar seus feeds de dados, atualize o arquivo marker.txt
com o carimbo de data/hora mais recente. |
Depois de gerar seus feeds de dados, atualize o cabeçalho de resposta
last-modified do seu sitemap.xml com o carimbo de data/hora mais recente. |
Limites de arquivos |
Número máximo de arquivos: 100.000. Você precisa ter menos de 100.000 arquivos no bucket do Amazon S3. |
Número máximo de arquivos: 100.000. Você precisa ter menos de 100.000 arquivos no bucket do Google Cloud Storage. |
Número máximo de arquivos: 100.000. O número de caminhos de arquivo no seu arquivo XML de sitemap precisa ser inferior a 100.000. |
Conectar seus feeds de dados para processamento em lote
Depois de hospedar seus feeds, você precisa conectá-los ao seu projeto no Portal do parceiro. A configuração inicial dos feeds de produção é feita na página Tarefas de integração. Mais tarde, a configuração dos feeds de produção e de sandbox poderá ser atualizada na página Feeds de configuração > a qualquer momento por usuários do portal com um papel administrativo. O ambiente sandbox é usado para fins de desenvolvimento e teste, enquanto os feeds de produção são exibidos aos usuários.
Se você hospeda seus feeds de dados com o Amazon S3
- No Portal do parceiro, acesse Configuração > Feeds.
-
Clique em Editar e preencha o formulário Atualizar feed:
- Método de entrega de feed: defina como Amazon S3.
- Arquivo de marcador:forneça o URL do arquivo
marker.txt
. - Arquivos de dados:forneça o URL ao bucket do S3 que contém os feeds de dados.
- ID de acesso:insira o ID da chave de acesso do IAM com permissões para ler os recursos do S3.
- Chave de acesso: insira a chave de acesso secreta do IAM com permissões para ler os recursos do S3.
- Clique em Enviar.
- Após uma ou duas horas, verifique se a ingestão em lote busca seus arquivos de feed.
Se você hospeda seus feeds de dados com o Google Cloud Storage
- No Portal do parceiro, acesse Configuração > Feeds.
-
Clique em Editar e preencha o formulário Atualizar feed:
- Método de envio de feed: defina como Google Cloud Storage.
- Arquivo de marcador:forneça o URL do arquivo
marker.txt
. - Arquivos de dados:forneça o URL ao bucket do GCS que contém os feeds de dados.
- Clique em Enviar.
- Uma conta de serviço é criada para acessar seu bucket do GCS. O nome da conta pode ser encontrado em Feeds de configuração > após a conclusão das tarefas de integração. Essa conta de serviço precisa do papel "Leitor de objetos legado do Storage". Esse papel pode ser concedido à conta de serviço na página do IAM do Console do Google Cloud.
- Após uma ou duas horas, verifique se a ingestão em lote busca seus arquivos de feed.
Se você hospeda seus feeds de dados com HTTPS
- No Portal do parceiro, acesse Configuração > Feeds.
-
Clique em Editar e preencha o formulário Atualizar feed:
- Método de envio de feed: defina como HTTPS.
- Arquivo de sitemap: forneça o URL do arquivo
sitemap.xml
. - Nome de usuário:digite as credenciais de nome de usuário para acessar o servidor HTTPS.
- Password:digite a senha para acessar o servidor HTTPS.
- Clique em Enviar.
- Após uma ou duas horas, verifique se a ingestão em lote busca seus arquivos de feed.
Exemplos de caminhos
A tabela a seguir contém exemplos de caminhos para cada uma das opções de hospedagem:
Amazon S3 | Google Cloud Storage | HTTPS com um sitemap | |
---|---|---|---|
Caminho | s3://foorestaurant-google-feed-sandbox/ |
gs://foorestaurant-google-feed-sandbox/ |
https://sandbox-foorestaurant.com/sitemap.xml |
Arquivo marcador | s3://foorestaurant-google-feed-sandbox/marker.txt |
gs://foorestaurant-google-feed-sandbox/marker.txt |
Não aplicável |
Sitemaps para hospedagem HTTPS
Use as seguintes diretrizes ao definir sitemaps:
- Os links no sitemap precisam apontar para os próprios arquivos.
- Se o sitemap incluir referências a um provedor de nuvem em vez do seu próprio nome de domínio, verifique se o início dos URLs, como
https://www.yourcloudprovider.com/your_id
, é estável e exclusivo para seu job em lote. - Tenha cuidado para não fazer upload de sitemaps parciais (como no caso de um upload de dados parcial). Isso faz com que o Google processe apenas os arquivos no sitemap, o que fará com que os níveis de inventário caiam e podem resultar no bloqueio da ingestão do feed.
- Verifique se os caminhos para os arquivos referenciados no sitemap não mudam. Por exemplo, não faça
a referência do sitemap
https://www.yourcloudprovider.com/your_id/10000.json
hoje, mas faça referência ahttps://www.yourcloudprovider.com/your_id/20000.json
amanhã.
Exemplo de sitemap
Veja um exemplo de um arquivo sitemap.xml
que exibe arquivos de feed de dados:
Exemplo 1: entidades agrupadas por comerciantes (recomendado).
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant_1.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_2.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/restaurant_3.ndjson</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
Exemplo 2: entidades agrupadas por tipos.
XML
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://your_fulfillment_url.com/restaurant.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/menu.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> <url> <loc>https://your_fulfillment_url.com/service.json</loc> <lastmod>2018-06-11T10:46:43+05:30</lastmod> </url> </urlset>
Atualizar feeds de dados
Depois que seus feeds de dados são conectados, o Google verifica se há atualizações uma vez por hora, mas só ingerimos todos os feeds quando os arquivos marker.txt
ou sitemap.xml
são modificados. Esperamos que você atualize seus feeds de dados uma vez por dia para evitar inventários desatualizados.
Para especificar que os feeds de dados foram modificados e estão prontos para ingestão em lote, atualize o
campo de metadados do objeto last-modified
do arquivo marker.txt
(para GCP e
S3) ou o cabeçalho de resposta last-modified
do arquivo sitemap.xml
. O Google
usa esses valores para determinar se um feed de dados é ou não atualizado.
Conforme o feed em lote é ingerido,
- Novas entidades que não existem no seu inventário atual do OwG e que não têm erros serão inseridas.
-
As entidades já presentes no inventário que não têm erros de
ingestão e têm um
dateModified
mais recente do que a entrada atual ou, no caso de não ter umdateModified
, o horário de início da ingestão do feed é mais recente do que a entrada atual que seria atualizada. Caso contrário, elas seriam marcadas como desatualizadas. - As entidades que faziam parte de um feed anterior que não estão mais incluídas no feed em lote sendo processado serão excluídas, desde que não haja erros no nível do arquivo no feed.
O carimbo de data/hora ou o cabeçalho de resposta last-modified
precisam ser atualizados somente depois que todos os arquivos do feed de dados forem gerados e atualizados. Limite os jobs em lote que atualizam seus feeds de dados para serem executados apenas
uma vez por dia. Ou então, tenha um intervalo de pelo menos três horas entre cada job em lote. Se você não
seguir essas etapas, o Google poderá buscar arquivos desatualizados.