Como usar a caixa de depósito de feed genérico

A caixa de depósito genérica de feeds permite que vários tipos de feed sejam enviados para uma caixa de depósito por ambiente. Este guia explica como usar a caixa de depósito genérica e fornece links para o guia adequado do feed que você planeja usar.

(Consulte a seção Exportar feeds (de ponta a ponta) ou Feeds (iniciante) da documentação.)

A caixa de depósito genérica depende de dois uploads separados:

  1. Arquivo descritor:descreve o tipo de feed que você vai fazer upload.
  2. Arquivos de feed: o conteúdo do feed real

Como estruturar o campo de descritor

O arquivo de descritor é enviado para informar ao sistema o tipo de feed que você está enviando. Isso nos permite validar e processar o feed corretamente. O arquivo de descritor precisa ser enviado antes do conteúdo do feed e seguir estes requisitos de nomenclatura:

  • Você precisa usar a extensão de arquivo .filesetdesc.json para o arquivo de descritor.
  • Cada nome de arquivo do descritor precisa ser exclusivo e não pode ser reutilizado em vários uploads. Recomendamos incluir o carimbo de data/hora de geração e o nome do feed no nome do arquivo.
    • Exemplo: offers_1524606581.filesetdesc.json
  • Cada arquivo de descritor precisa listar todos os arquivos de dados no feed mais recente para o nome do feed relevante.
message FilesetDescriptor {
  // The timestamp at which this feed was generated, in Unix time format
  // (seconds since the epoch). (required)
  int64 generation_timestamp = 1;

  // Identifies the name of this feed. (required)
  string name = 2;

  // Paths (relative to the dropbox root) specifying data files included in this
  // feed. (required)
  repeated string data_file = 3;
}

Os valores possíveis para o campo name incluem:

Confira abaixo um exemplo de arquivo de descritor JSON para um feed de ofertas com dois fragmentos:

{
  "generation_timestamp": 1524606581,
  "name": "promote.offer",
  "data_file": [
    "offers_1524606581_1.json",
    "offers_1524606581_2.json"
  ]
}

Como estruturar o conteúdo do feed

Depois de fazer upload do arquivo de descritor, você vai fazer upload de todos os arquivos de feed para o tipo de dados do feed correspondente ao arquivo de configuração de feed nomeado pelo arquivo de descritor. Os nomes de arquivo e os locais de caminho (relativos no Dropbox) precisam corresponder exatamente ao que foi incluído no campo data_file. Se algum arquivo estiver ausente, tiver um nome incorreto ou for enviado para um local diferente, o feed inteiro não será processado.

O conteúdo desses arquivos de dados de feed precisa estar em conformidade com a especificação relevante do feed especificado no arquivo de descritor.

Cada nome de arquivo de feed precisa ser exclusivo e não pode ser reutilizado em outros uploads. Recomendamos incluir o carimbo de data/hora de geração e o número do fragmento (ID incremental) no nome do arquivo.

  • Exemplo: offers_1524606581_1.json

Tamanhos de arquivo e frequência de upload do feed

  • O arquivo do feed precisa ter até 200 MB (após a compactação).
  • Cada arquivo de dados descompactado precisa ter menos de 2 GB.
  • A maioria das integrações só precisa usar um único fragmento. Use o menor número possível de fragmentos. Há um máximo de 1.000 fragmentos por feed.
  • Registros individuais enviados em um fragmento não precisam ser enviados no mesmo número de fragmento em feeds futuros.
  • Para melhorar o desempenho, divida os dados uniformemente entre os fragmentos para que todos os arquivos de fragmento tenham um tamanho semelhante.
  • Se necessário, use o gzip para compactar os feeds. No entanto, faça isso para cada fragmento de feed individual.

Solução de problemas e depuração

Depois de fazer upload dos arquivos (descriptor e feed), acesse o Painel de histórico de feeds (documentação) no portal do parceiro (navegue até Histórico > Feeds) para acompanhar o progresso da transferência.

Procure o name que você inseriu no arquivo de descritor na coluna "Nome do feed" para encontrar seu feed.

Depois que o feed for processado (o status é Success ou Fail), clique na linha dele para conferir os detalhes dos erros e avisos.