Como funciona a personalização
Você pode adicionar dados personalizados em mensagens, templates, Journey Webhooks e Event Streams usando sintaxe Liquid. Os dados podem ser provenientes de:- Data feeds: Dados em tempo real de suas APIs.
- Custom Events: Eventos de usuário em tempo real para personalizar mensagens de Journey.
- Properties & Tags: Valores integrados de usuário, Journey, mensagem, template, aplicativo ou organização.
- API:
custom_data: Dados personalizados que você passa diretamente para nossa API Create Message. - Dynamic content com CSV: Personalização baseada em CSV via uploads no painel.
Considerações principais
A personalização ajuda os usuários a se conectarem mais profundamente com seu aplicativo, potencialmente aumentando o engajamento e a receita. Exemplos comuns são colocar o nome da pessoa ou informações específicas (como itens de carrinho abandonado) em uma mensagem, mas os casos de uso são infinitos. Qual é o objetivo? O que você quer enviar na mensagem? Exemplos:- Adicionar uma propriedade de usuário como nome ou ID
- Mostrar fatura ou OTP
- Enviar conteúdo dinâmico de um CSV
- Os dados estão armazenados no OneSignal como uma propriedade ou tag?
- Os dados estão armazenados no seu próprio banco de dados?
- Você precisa passar dados do seu backend para o OneSignal?
- Mensagens únicas: Enviar a mensagem do seu servidor ou através do painel OneSignal?
- Mensagens recorrentes: Usando Journeys ou outros fluxos de trabalho automatizados?
- Objetivo: Enviar uma senha de uso único para ajudar um usuário a fazer login.
- Dados:
- OTP armazenado no seu backend.
- Nome de usuário armazenado no OneSignal como uma tag.
- External ID armazenado no OneSignal como uma propriedade.
- Envio:
- Do seu servidor usando nossa API REST.
- De um fluxo de trabalho automatizado usando Journeys.
Um passo a passo detalhado deste exemplo está disponível no tutorial de exemplo Verificação, Magic Link e OTP.Veja mais exemplos de Tutorial abaixo.
Fontes de dados
Opções disponíveis para personalização.Data feeds
Data Feeds são uma maneira de puxar dados em tempo real de suas APIs diretamente para mensagens no momento do envio. Basta conectar um template à sua fonte de dados e puxaremos os dados do seu servidor e os injetaremos na mensagem.Custom Events
Referencie Custom Events dentro de Templates usados em Journeys. Dependendo da configuração da Journey, ela pode armazenar um ou mais Custom Events em nome do usuário. Você pode usar sintaxe Liquid para exibir propriedades desses eventos armazenados ou para exibir condicionalmente partes da sua mensagem com base nos eventos.- Journeys acionadas por evento armazenarão o evento que causou a entrada do usuário na Journey
- Qualquer Journey usando nós Wait Until armazenará Custom Events quando eles corresponderem a uma condição.
- Propriedades de Custom Event
- Estrutura de Custom Event de exemplo
- Usando eventos em templates
journey.first_event
Para Journeys acionadas por evento, este será sempre o evento que causou a entrada do usuário na Journey.Se a regra de entrada da Journey não for acionada por evento, este será o primeiro evento correspondido por uma condição Wait Until.
journey.last_event
O Custom Event mais recente armazenado. Se houver apenas um Custom Event armazenado, então
first_event e last_event retornarão o mesmo.journey.event.most_recent_event_name
O evento mais recente com um nome fornecido (substitua
most_recent_event_name pelo nome do evento que você deseja referenciar). Se o mesmo evento for usado várias vezes, isso retornará a instância mais recente. Exemplo: purchase.Para caracteres especiais (por exemplo, espaços), use notação de hash se o nome do evento contiver caracteres não alfanuméricos. Por exemplo, se o nome do evento for “order status”, você pode referenciá-lo com
journey.event["order status"].Properties
Campos predefinidos salvos no OneSignal.Properties de User & Subscription
Siga as etapas fornecidas dependendo de onde você precisa acessar os dados.- Properties disponíveis em mensagens e templates
- Properties disponíveis em Journey Webhooks e Event Streams
Use o objeto Se você tiver tags
subscription para acessar properties no nível Subscription em mensagens e templates. Tags também podem ser acessadas diretamente através do nome da chave. Por exemplo:first_name: Jon e level: 5 para o Usuário A e first_name: Jeff e level: 100 para o Usuário B, cada um verá seu nome e nível na mensagem. Caso contrário, eles verão os valores padrão.subscription.external_id
O External ID associado à Subscription.
subscription.email
O endereço de e-mail da Subscription de e-mail recebendo a mensagem.
subscription.phone_number
O número de telefone da Subscription de SMS recebendo a mensagem.
subscription.language
O código de idioma do usuário.
subscription.unsubscribe_token
O token usado com a API de cancelamento de inscrição de e-mail com token.
liquid
Properties de Journey
O objetojourney é útil para rastrear o nome da Journey ou referenciar Custom Events dentro de Templates usados em Journeys.
journey.name
O nome da Journey.
JSON
Properties de Message
O objetomessage é útil para acessar custom_data enviado do seu backend ou para rastrear properties da mensagem com Event Streams.
message.id
O ID de mensagem do OneSignal.
JSON
message.name
O nome da mensagem.
JSON
message.template_id
O ID de template do OneSignal.
JSON
Properties de Template
O objetotemplate é útil para acessar detalhes sobre o Template usado para enviar a mensagem.
template.id
O ID de template do OneSignal.
JSON
template.name
O nome do template.
JSON
Properties do OneSignal
Os objetosapp e org são úteis para acessar detalhes sobre o App e a Organization que enviaram a mensagem.
app.id
O ID do App do OneSignal.
JSON
app.name
O nome do App do OneSignal.
JSON
org.id
O ID da Organization do OneSignal.
JSON
org.name
O nome da Organization do OneSignal.
JSON
API custom_data
Adicione personalização diretamente do seu backend usando custom_data e nossa API Create message.
Passos:
- Criar um template
- Usar sintaxe Liquid com formato
{{ message.custom_data.key }} - Enviar requisição de API com o objeto
custom_dataetemplate_id
Exemplo: JSON plano
Template
API Request
O cliente vê: - “Sua fatura para Widget está pronta.” - A URL final:
https://your-domain.com/invoice=463246732Exemplo: Dados de array
Template
API Request
O cliente vê: - “Seu sweater está esperando por você!” - A imagem:
https://.../sweater.pngExemplo: Personalização em massa
Para personalizar uma única mensagem para muitos usuários em uma requisição:Template
API Request
O cliente vê: - “Olá John, você tem 150 pontos. Seu nível é Gold.” - “Olá
Sarah, você tem 200 pontos. Seu nível é Platinum.”
Dynamic Content CSV
Faça upload de um CSV de dados para personalizar o conteúdo da mensagem ou template. Consulte Dynamic content com CSV para mais detalhes.Tutoriais
Tutorial de exemplo Verificação, Magic Link e OTP
Envie e-mails de verificação, Magic Links via SMS, senhas de uso único ou
URLs personalizadas.
Conteúdo de carrinho abandonado
Envie listas de dados para usuários como em um carrinho abandonado ou tabela de classificação.
Mensagens transacionais
Envie qualquer tipo de mensagem transacional através de qualquer canal.
Exemplos de mensagens in-app
Mostre mensagens in-app personalizadas baseadas em tags.