Feeds prontos

Os feeds fornecem seus dados de inventário à Central de ações. Esse upload diário do protocolo de transferência segura de arquivos (SFTP) atualiza todos os dados de comerciantes, serviços e horários disponíveis. Os feeds especificam quais comerciantes você aceita, a disponibilidade deles e os recursos especiais necessários para confirmar que o Google mostra seu inventário corretamente. Os feeds são enviados para as caixas de depósito SFTP configuradas quando você fornece sua chave SSH em Configuração.

Conclua as seguintes tarefas do Feeds Ready antes de migrar para o servidor de reservas:

As tarefas serão marcadas como concluídas e ficarão verdes depois que você fizer o upload dos feeds com sucesso. Consulte a documentação vinculada para concluir cada tarefa específica de marco.

Para o funcionamento adequado da sua integração de ponta a ponta de reservas de restaurantes, é necessário fazer uploads diários e automáticos dos feeds de comerciantes, serviços e disponibilidade. Sua infraestrutura de feed automatizada precisa fornecer o inventário completo.

Tipos de feed

As integrações completas de reservas de restaurantes exigem os seguintes feeds e frequências de upload:

Feed Descrição Frequência Exemplo
Comerciante Descreve seus comerciantes. Uma vez a cada 24 horas Exemplo de feed de comerciantes
Serviços Descreva os serviços dos seus comerciantes. Uma vez a cada 24 horas Exemplo de feed de serviços
Disponibilidade Descreve os horários disponíveis para os serviços dos seus comerciantes. É necessário fornecer uma cobertura mínima de 30 dias. Para estender a cobertura para 90 dias, entre em contato com o suporte do Google usando o formulário de contato na Central de ações. Uma vez a cada 24 horas Exemplo de feed de disponibilidade

Os formatos de feed são descritos com a sintaxe do buffer de protocolo 3, mas é possível fazer upload dos feeds no formato JSON correspondente. Consulte os exemplos de feed para o formato JSON. Recomendamos que você faça upload dos feeds no formato JSON.

Convenções de nomenclatura e metadados

Nomes de arquivos

Se você usar fragmentação, os feeds enviados precisarão ter nomes exclusivos que especifiquem o tipo e a contagem. Um carimbo de data/hora para geração de feed atende ao requisito exclusivo de nomenclatura de arquivo de feed.

Estrutura: {feed_name}_{timestamp_epoch}_{shard_nunber}_{total_shard}.json

Exemplo: availability_feed_1574117613_001_of_002.json.gz

Definir IDs

Ao definir IDs para seus comerciantes ou outros atributos que exigem um ID, recomendamos usar UIDs ou UUIDs. Você pode fornecer sua própria solução alfanumérica, desde que os IDs permaneçam distintos em toda a plataforma.

Metadados

Ao criar feeds, o generation_timestamp precisa refletir o momento em que os dados foram extraídos do banco de dados. A reutilização desse valor em vários feeds pode causar erros de processamento.

Os valores de nonce, números aleatórios ou não repetidos, precisam ser exclusivos em todos os tipos de feed e não podem ser reutilizados. O valor precisa corresponder a todos os arquivos no feed fragmentado específico.

Tamanho do arquivo de feed

Como fragmentar arquivos de feed

Dependendo do seu inventário, pode ser necessário fragmentar ou dividir os feeds em vários arquivos. Seus feeds podem precisar de fragmentação nas seguintes condições:

  • O feed gzip compactado excede 200 MB em um arquivo.
    • Exemplo: o feed de disponibilidade gerado tem 1 GB. Ele precisa ser fragmentado em cinco ou mais fragmentos separados.
  • O inventário do parceiro é distribuído em sistemas ou regiões, o que dificulta a conciliação.
    • Exemplo: o parceiro tem inventário nos EUA e na UE que fica em sistemas separados. O feed pode ser gerado com dois fragmentos. Um para os EUA e outro para a UE com o mesmo nonce e generation_timestamp.

Para mais informações, consulte Tutoriais e práticas recomendadas para fragmentar arquivos de feed.

Um feed pode constituir vários arquivos chamados de fragmentos. Para determinar o tamanho dos feeds, siga estas diretrizes:

  • Fragmentação de feed sugerida:
    • Feed de comerciantes: um fragmento.
    • Feed de serviços: um fragmento.
    • Feed de disponibilidade: menos de 20 fragmentos. Se você tiver uma justificativa comercial que exija mais do que o valor especificado, entre em contato com o suporte para receber mais instruções.
  • Tamanho dos arquivos de feed e fragmentação:
    • O arquivo de fragmento precisa ter até 200 MB após a compactação. Use vários fragmentos, se necessário.
    • Registros individuais enviados em um fragmento não precisam ser enviados no mesmo fragmento em feeds futuros.
    • Para melhorar o desempenho, divida os dados uniformemente entre os fragmentos para deixar todos os arquivos semelhantes.
    • Se necessário, use o gzip para compactar os feeds JSON de texto simples para cada fragmento de feed individual.

Compactar arquivos de feed

Qualquer arquivo JSON ou PB3 pode ser compactado com gzip antes do upload. Isso pode reduzir significativamente o tamanho do byte dos feeds diários.

Cada arquivo de fragmento precisa ser compactado com gzip e enviado individualmente, como gzip*.json. Os fragmentos de feed compactados precisam terminar em .json.gz ou .pb3.gz.

Fazer upload dos feeds para sua caixa de depósito SFTP

Depois de gerar os feeds de comerciante, serviço e disponibilidade, você pode fazer upload deles para o ambiente de sandbox ou de produção usando a caixa de depósito SFTP. A caixa de depósito SFTP é configurada quando você fornece sua chave SSH na configuração. O servidor SFTP do Google está disponível em sftp://partnerupload.google.com na porta 19321.

O Google analisa e valida os arquivos de feed assim que eles são enviados para a caixa de depósito SFTP. Se o feed estiver fragmentado em vários arquivos, eles serão processados após o upload do último arquivo. Se o feed tiver erros, você vai receber um e-mail com os códigos de erro do feed. Os erros impedem que comerciantes, serviços ou disponibilidade definidos sejam ingeridos. Depois que os feeds são validados, pode levar até 24 horas para que eles apareçam no front-end.