- Saldo de recompensas atual de um usuário
- Status de pedido mais recente
- Recomendações personalizadas de produtos
Data Feeds estão atualmente disponíveis apenas para mensagens de email enviadas através de Journeys.
Precisa de outro canal? Preencha esta breve pesquisa.
Como funcionam os Data Feeds
- Criar um Data Feed – Configure como o OneSignal se conecta à sua API.
- Anexar o Data Feed a um template de mensagem.
- Inserir campos de resposta na sua mensagem usando sintaxe Liquid.
- No momento do envio, o OneSignal faz uma chamada de API para cada destinatário, analisa a resposta e injeta os dados na sua mensagem.
Exemplo: Exibir pontos de recompensa
Suponha que você queira mostrar a cada cliente seu saldo de recompensas:{{ data_feed.rewards.points }} e {{ data_feed.rewards.status_level }}.
Usaremos este exemplo para mostrar como configurar um Data Feed passo a passo abaixo.
Criando e usando um Data Feed
1. Configurar sua configuração de Data Feed
Navegue até Data > Data Feeds na barra lateral para ver a lista de Data Feeds existentes e criar um novo. Cada Data Feed deve ter:- Name: Um nome descritivo como “Customer Rewards API” para ajudá-lo a distingui-lo na sua lista de feeds. Recomendamos que sejam únicos, mas não é obrigatório.
- Alias: Um nome curto como rewards que você usará na sintaxe Liquid. Estes devem ser únicos, não conter espaços e só podem conter caracteres alfanuméricos minúsculos sem símbolos especiais.
- Method: Como devemos contatar sua API. Geralmente isso é GET, mas POST também é suportado.
- URL: O endereço da API. Você pode incluir sintaxe Liquid, permitindo-nos chamar a API para buscar dados específicos do usuário.
- Headers: Insira pares chave-valor de cabeçalho conforme necessário pelas especificações da sua API. Um uso importante típico será incluir informações de autenticação. Esses campos também suportam sintaxe Liquid caso seja necessário.
- Body: Se sua API exigir, você pode incluir um body na solicitação em formato JSON. Este editor suporta sintaxe Liquid, assim como Webhooks de Journey.

Exemplo de configuração de Data Feed
2. Anexar o Data Feed ao seu template de mensagem
Anexe seu Data Feed ao seu template de mensagem para que o OneSignal saiba usá-lo.- Navegue até Messages > Templates
- Na seção Message, selecione o botão Personalization

Opções do botão de personalização
- Ative Data Feeds e selecione seu feed

Seção Data Feeds no compositor de mensagens
- Salve seu template
3. Usar os dados na sua mensagem
Use sintaxe Liquid para inserir os dados de resposta em qualquer lugar da sua mensagem. No nosso exemplo, digamos que a resposta para Sarah, cujo external_id é1a1-b2c3, é um blob JSON simples assim:
- Use um Data Feed
- Use o Data Feed
rewards- Lembre-se: o feed
rewardssabe chamar a API com oexternal_iddo destinatário
- Lembre-se: o feed
- Da resposta, insira o valor do item
points(193) e do itemstatus_level(Gold)
Requisitos e limites
Sua API precisa:- Aceitar autenticação de etapa única com tokens de autenticação em cabeçalhos
- Responder rapidamente. Menos de 250ms recomendado (isso afeta diretamente a velocidade de envio)
- Retornar JSON. Outros formatos não são suportados neste momento.
- Se você tem um caso de uso que depende de um formato alternativo, queremos ouvir de você! Preencha esta breve pesquisa aqui.
- Lidar com seu volume e taxa de envio de mensagens. Se sua API tem um limite de taxa baixo, isso impedirá que entreguemos suas mensagens rapidamente.
- Retornar payloads de tamanho razoável. Recomendamos manter as respostas abaixo de 50kb para melhor performance.
- Um Data Feed por template. Esperamos aumentar esse limite no futuro. Preencha esta breve pesquisa aqui para nos informar que você precisa disso.
- Uma chamada de API por Data Feed por mensagem. Busque tudo o que você precisa em uma chamada.
- Apenas Journeys. Ainda não disponível para outros métodos de envio. Preencha esta breve pesquisa aqui para nos informar que você precisa disso.
- Sem encadeamento de chamadas. O payload de um Data Feed não pode ser usado para chamar outro.
Configurando sua API
Antes de criar um Data Feed, certifique-se de que sua API pode atender a esses requisitos:Autenticação
Sua API deve aceitar autenticação via cabeçalhos:Body de solicitação JSON
Se você precisa incluir um body na solicitação, sua API deve aceitar JSON. Isso pode significar que seus cabeçalhos precisam incluirContent: application/json.
Resposta JSON
Sua API deve retornar um objeto JSON. Tipicamente isso significa que seus cabeçalhos incluirãoAccept: application/json.
Parâmetros de personalização
Você normalmente passará identificadores de usuário na URL assim:JSON
Limites de taxa
Considere os limites de taxa da sua API. Se você está enviando para 10.000 usuários em rápida sucessão, faremos 10.000 chamadas de API. Certifique-se de que sua API pode lidar com esse volume.Tratamento de erros
Se sua API retornar um erro ou não tiver dados para um usuário, a mensagem não será enviada para aquele destinatário. Certifique-se de que sua API retorna dados para todos os usuários esperados.Checklist de primeiros passos
Antes de implementar Data Feeds, responda estas perguntas:- Quais dados eu quero mostrar na minha mensagem? Trabalhar de trás para frente a partir de um esboço simples com os itens a serem preenchidos pela sua API identificados ajudará você a organizar seu pensamento.
- Esses dados estão disponíveis através de um único endpoint de API?
- Como vou autenticar solicitações de API?
- Qual identificador ou outro item de dados vou usar para buscar dados personalizados?
- Esse identificador já está armazenado no OneSignal? Se não, como será preenchido?
- Minha API pode lidar com o volume de solicitações que vou gerar?
- O que acontece se minha API não tiver dados para um usuário?
Exemplos e casos de uso avançados
Data Feeds podem ser usados com sintaxe Liquid ou em combinação com outros recursos de formas criativas para produzir personalização mais complexa.Iterando com loops: carrinho abandonado
Digamos que você tem um Data Feed cart que retorna um array de itens no carrinho do usuário, mais o valor total em dólares do carrinho:JSON
HTML
Se você está usando o editor de blocos de email, ao inserir este tipo de sintaxe Liquid complexa, particularmente se você precisar incluir imagens ou links, para melhores resultados use o elemento de bloco HTML personalizado.
Propriedades de eventos personalizados
Continuando o exemplo anterior de carrinho abandonado, como poderíamos saber como buscar aquele carrinho específico em primeiro lugar? Um método poderia ser criar uma Jornada acionada por um evento personalizadocart_abandoned, onde as propriedades incluem um cart_id. Neste exemplo, esse evento está sendo enviado ao OneSignal via API:
curl

Evento personalizado para entrada de Journey
user_12345 entra na jornada quando este evento é disparado, depois alcança um nó enviando um email. Esse template de email está configurado com o Data Feed cart, onde a URL está definida para recuperar o conteúdo de um carrinho específico assim:
- O valor
cart_idde98765será armazenado na Journey - Quando a etapa de email for alcançada, o Data Feed
cartreferenciará aquele valorcart_ide o usará para chamar a API do carrinho - As propriedades JSON retornadas serão analisadas e inseridas no email como no exemplo anterior acima
Exibição condicional: status do pedido
Digamos que você queira incluir o status do pedido de um cliente, mas só incluir um link de número de rastreamento se o pedido foi enviado. Você pode usar uma instruçãoif para fazer isso:
tracking_number existir.
Automação sem personalização
Data Feeds podem ser usados para inserir automaticamente informações atualizadas em suas mensagens sem necessariamente precisar ser personalizado por destinatário. Por exemplo, talvez você insira uma imagem de banner no topo dos seus emails e a altere mensalmente para acompanhar feriados e outros eventos mensais. Em vez de lembrar de fazer upload de uma nova imagem para o OneSignal e alterar todos os seus templates a cada mês, você pode configurar um Data Feed que busque a URL da imagem do banner atual do seu CMS ou outro local de gerenciamento de ativos. Você configuraria um Data Feedbanner que aponta para um endpoint sem quaisquer variáveis na URL assim:
JSON
{{ data_feed.banner.banner_url }} como a URL de origem da imagem, automatizando este processo daqui em diante.
Solução de problemas
Meus dados não estão aparecendo
- Verifique se seu Data Feed está anexado ao template
- Verifique se sua sintaxe Liquid corresponde à sua estrutura JSON exatamente
- Teste seu endpoint de API manualmente para garantir que está retornando dados
- Verifique se o usuário tem as tags de dados necessárias (como
external_id)
As mensagens estão sendo enviadas lentamente
- Verifique o tempo de resposta da sua API
- Certifique-se de que sua API pode lidar com solicitações simultâneas
Alguns destinatários não estão recebendo mensagens
- Sua API pode não ter dados para esses usuários
- Verifique o log de erros na configuração do Data Feed para 404s ou erros
- Verifique os logs da sua API para 404s ou erros
- Verifique se esses usuários têm os identificadores necessários no OneSignal