> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Referência de dados do Event Stream

> Referência de schema para todas as propriedades de evento, mensagem, usuário e assinatura disponíveis no Event Streams e Webhooks, com sintaxe Liquid para cada campo.

Acesse os dados do event stream [usando sintaxe Liquid](./using-liquid-syntax). Envolva qualquer campo em `{{ }}` para incluí-lo no corpo do Event Stream. Veja [Exemplos](./event-streams#example-body).

<Warning>
  Dados de mensagens para Jornadas e envios via API são retidos por 30 dias. Eventos de interação (cliques, aberturas, cancelamentos de inscrição) que ocorram após 30 dias podem ter propriedades de mensagem em branco. Para recuperar os dados, correlacione o `message.id` do evento de interação com o evento `sent` original, que contém os dados completos da mensagem.
</Warning>

## Propriedades de `event`

Cada evento inclui os campos principais abaixo. Os campos específicos de canal em `event.data.*` são incluídos apenas quando aplicável — veja [Campos específicos de canal](#channel-specific-fields).

<ParamField body="event.kind" type="string">
  O tipo de evento, combinando canal e ação (ex.: `message.push.clicked`, `message.email.bounced`). Veja a lista completa de valores na [referência de event kind](#event-kind-reference) abaixo. **Liquid:** `{{ event.kind }}`
</ParamField>

<ParamField body="event.id" type="UUID">
  Um identificador único gerado pelo OneSignal para cada evento individual no formato UUID v4. Use este ID para rastreamento de entrega idempotente. Para o identificador de mensagem ou template, use [`message.id`](#message-id) ou [`message.template_id`](#template-id). **Liquid:** `{{ event.id }}`
</ParamField>

<ParamField body="event.timestamp" type="integer">
  Timestamp UNIX do evento. **Liquid:** `{{ event.timestamp }}`
</ParamField>

<ParamField body="event.datetime" type="string">
  Horário legível do evento em UTC como string ISO 8601 (ex.: "2024-02-21T23:45:15.228Z"). **Liquid:** `{{ event.datetime }}`
</ParamField>

<ParamField body="event.app_id" type="UUID">
  O [App ID](./keys-and-ids) do OneSignal. **Liquid:** `{{ event.app_id }}`
</ParamField>

<ParamField body="event.subscription_device_type" type="string">
  O tipo de assinatura (ex.: `iOS`, `Android`, `Chrome`, `Email`, `SMS`). **Liquid:** `{{ event.subscription_device_type }}`
</ParamField>

<ParamField body="event.subscription_id" type="UUID">
  O [Subscription ID](./subscriptions) do OneSignal. **Liquid:** `{{ event.subscription_id }}`
</ParamField>

<ParamField body="event.onesignal_id" type="UUID">
  O [User ID](./users) do OneSignal. **Liquid:** `{{ event.onesignal_id }}`
</ParamField>

<ParamField body="event.external_id" type="string">
  Seu User ID definido como o alias de [External ID](./users) do OneSignal. Pode estar vazio se não definido. **Liquid:** `{{ event.external_id }}`
</ParamField>

### Campos específicos de canal

Esses campos `event.data.*` estão presentes apenas para determinados tipos de evento.

#### Eventos de mensagem in-app

Incluídos com eventos `message.iam.*`. Veja [Event Streams de mensagens in-app](./iam-event-streams) para detalhes.

<ParamField body="event.data.page_name" type="string">
  O nome da página ou cartão da mensagem in-app exibido. **Liquid:** `{{ event.data.page_name }}`
</ParamField>

<ParamField body="event.data.page_id" type="string">
  Identificador único para a página ou cartão da mensagem in-app exibido. **Liquid:** `{{ event.data.page_id }}`
</ParamField>

<ParamField body="event.data.target_name" type="string">
  O nome do botão ou elemento de bloco de imagem clicado. O elemento deve conter uma [ação de clique in-app](./iam-click-actions). **Liquid:** `{{ event.data.target_name }}`
</ParamField>

<ParamField body="event.data.target_id" type="string">
  Identificador único para o botão ou elemento de bloco de imagem clicado. **Liquid:** `{{ event.data.target_id }}`
</ParamField>

#### Eventos de Live Activity

Incluídos com eventos `message.live_activity.*`.

<ParamField body="event.data.live_activity_id" type="string">
  Identificador único para uma Live Activity específica (ex.: "Knicks vs Cavs - Oct 22 7PM"). **Liquid:** `{{ event.data.live_activity_id }}`
</ParamField>

<ParamField body="event.data.live_activity_type" type="string">
  Rótulo de agrupamento para categorias de Live Activity (ex.: "Knicks\_games"). **Liquid:** `{{ event.data.live_activity_type }}`
</ParamField>

#### Eventos de falha

Incluídos com eventos `message.push.failed` e `message.email.failed`.

<ParamField body="event.data.failure_reason" type="string">
  O motivo pelo qual a mensagem falhou ao ser enviada. Veja [Relatórios de Mensagens Push](./push-notification-message-reports#failure-message-troubleshooting) ou [Relatórios de Mensagens de Email](./email-message-reports#why-are-my-emails-marked-as-failed) para motivos comuns. **Liquid:** `{{ event.data.failure_reason }}`
</ParamField>

### Referência de event kind

Para definições detalhadas de cada métrica, veja o [Glossário de Métricas](./analytics-metrics-glossary).

| Tipo de Evento de Mensagem (OneSignal) | Nome do evento (no conjunto de dados) | Descrição do Evento                                                                                                                                                                              |
| -------------------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Push Enviado                           | `message.push.sent`                   | Notificação push enviada com sucesso para os serviços push (FCM, APNS, etc).                                                                                                                     |
| Push Recebido                          | `message.push.received`               | Notificação push recebida pelo destinatário. Não disponível em todas as plataformas. Veja [Entrega Confirmada](./confirmed-delivery) para mais detalhes.                                         |
| Push Clicado                           | `message.push.clicked`                | Usuário tocou na notificação push para abrir o aplicativo no dispositivo.                                                                                                                        |
| Push Falhou                            | `message.push.failed`                 | Push falhou ao ser enviado. Veja os [Relatórios de Mensagens Push](./push-notification-message-reports) para detalhes.                                                                           |
| Push Cancelado                         | `message.push.unsubscribed`           | Usuário cancelou inscrição de push [assinatura](./subscriptions). Veja [Quando os status de assinatura push são atualizados?](./subscriptions#when-do-push-subscription-statuses-update%3F).     |
| Impressão In-App                       | `message.iam.impression`              | Mensagem In-App exibida com sucesso no dispositivo.                                                                                                                                              |
| In-App Clicado                         | `message.iam.clicked`                 | Usuário tocou em um elemento na Mensagem In-App.                                                                                                                                                 |
| Página In-App Exibida                  | `message.iam.page_displayed`          | Página da Mensagem In-App foi exibida. Útil para rastrear carrosséis.                                                                                                                            |
| Email Enviado                          | `message.email.sent`                  | Email enviado com sucesso.                                                                                                                                                                       |
| Email Recebido                         | `message.email.received`              | Email recebido pelo destinatário.                                                                                                                                                                |
| Email Aberto                           | `message.email.opened`                | Email foi aberto pelo destinatário. Veja [Relatórios de Mensagens de Email](./email-message-reports) para detalhes.                                                                              |
| Link de Email Clicado                  | `message.email.clicked`               | Usuário tocou em um link no email.                                                                                                                                                               |
| Email Cancelado                        | `message.email.unsubscribed`          | Usuário cancelou inscrição de email via [link de cancelamento de inscrição](./unsubscribe-links-email-subscriptions).                                                                            |
| Email Reportado Como Spam              | `message.email.reported_as_spam`      | Usuário reportou o email como spam. Gmail requer [Google Postmaster Tools](./google-postmaster-tools) para rastrear. Veja [Entregabilidade de email](./email-deliverability) para mais detalhes. |
| Email Rejeitado                        | `message.email.bounced`               | Email retornou ao remetente devido a erro permanente. Veja [Relatórios de Mensagens de Email](./email-message-reports) para detalhes.                                                            |
| Email Falhou                           | `message.email.failed`                | Email não pôde ser entregue. Veja [Relatórios de Mensagens de Email](./email-message-reports) para detalhes.                                                                                     |
| Email Suprimido                        | `message.email.suppressed`            | Email não pôde ser enviado porque o endereço de email está na [Lista de supressão](./email-deliverability).                                                                                      |
| SMS Enviado                            | `message.sms.sent`                    | SMS enviado para destinatário.                                                                                                                                                                   |
| SMS Falhou                             | `message.sms.failed`                  | SMS falhou ao enviar. Veja [Relatórios de Mensagens SMS](./sms-message-reports) para detalhes.                                                                                                   |
| SMS Entregue                           | `message.sms.delivered`               | SMS entregue com sucesso.                                                                                                                                                                        |
| SMS Não Entregue                       | `message.sms.undelivered`             | SMS não pôde ser enviado. Veja [Relatórios de Mensagens SMS](./sms-message-reports) para detalhes.                                                                                               |
| Live Activity Enviada                  | `message.live_activity.sent`          | Live Activity enviada com sucesso para FCM/APNS.                                                                                                                                                 |
| Live Activity Entregue                 | `message.live_activity.delivered`     | Live Activity recebida pelo destinatário.                                                                                                                                                        |
| Live Activity Cancelada                | `message.live_activity.unsubscribed`  | Usuário cancelou inscrição de Live Activities.                                                                                                                                                   |
| Live Activity Falhou                   | `message.live_activity.failed`        | Live Activity falhou ao enviar.                                                                                                                                                                  |
| Live Activity Clicada                  | `message.live_activity.clicked`       | Live Activity clicada pelo usuário.                                                                                                                                                              |

### Exemplo de objeto de evento

Copie este template Liquid no corpo do seu Event Stream para capturar todos os campos de evento:

```json JSON theme={null}
{
  "event.kind": "{{ event.kind }}",
  "event.id": "{{ event.id }}",
  "event.timestamp": "{{ event.timestamp }}",
  "event.datetime": "{{ event.datetime }}",
  "event.app_id": "{{ event.app_id }}",
  "event.subscription_device_type": "{{ event.subscription_device_type }}",
  "event.subscription_id": "{{ event.subscription_id }}",
  "event.onesignal_id": "{{ event.onesignal_id }}",
  "event.external_id": "{{ event.external_id }}",
  "event.data.page_name": "{{ event.data.page_name }}",
  "event.data.page_id": "{{ event.data.page_id }}",
  "event.data.target_name": "{{ event.data.target_name }}",
  "event.data.target_id": "{{ event.data.target_id }}",
  "event.data.failure_reason": "{{ event.data.failure_reason }}"
}
```

<Accordion title="Exemplo de saída renderizada">
  Como um evento de clique em push fica após a renderização Liquid:

  ```json JSON theme={null}
  {
    "event.kind": "message.push.clicked",
    "event.id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "event.timestamp": 1708559115,
    "event.datetime": "2024-02-21T23:45:15.228Z",
    "event.app_id": "your-onesignal-app-id",
    "event.subscription_device_type": "iOS",
    "event.subscription_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "event.onesignal_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
    "event.external_id": "user_12345",
    "event.data.page_name": "",
    "event.data.page_id": "",
    "event.data.target_name": "",
    "event.data.target_id": "",
    "event.data.failure_reason": ""
  }
  ```

  Campos específicos de canal como `event.data.page_name` ficam vazios para tipos de evento que não os incluem.
</Accordion>

***

## Propriedades de `message`

O objeto `message` descreve a mensagem enviada ao usuário final, incluindo seu ID, template, conteúdo e URLs.

<ParamField body="message.id" type="UUID">
  O ID da mensagem gerado pelo OneSignal. **Liquid:** `{{ message.id }}`
</ParamField>

<ParamField body="message.name" type="string">
  O nome da mensagem conforme definido no dashboard ou usando a propriedade `name` da API. **Liquid:** `{{ message.name }}`
</ParamField>

<ParamField body="message.title" type="object">
  O título da mensagem push ou assunto do email. Para push, retorna um objeto localizado como `{'en':'Your title'}`. Para email, retorna a linha de assunto como string simples. Definido via dashboard ou propriedades `headings` / `email_subject` da API. **Liquid:** `{{ message.title }}`
</ParamField>

<ParamField body="message.contents" type="object">
  O conteúdo da mensagem push ou SMS (cortado em 50 caracteres). O conteúdo de email (`email_body`) não é fornecido. Definido via dashboard ou propriedade `contents` da API. **Liquid:** `{{ message.contents }}`
</ParamField>

<ParamField body="message.template_id" type="UUID">
  O ID do template para uma mensagem enviada via Jornadas ou a propriedade `template_id` da API. **Liquid:** `{{ message.template_id }}`
</ParamField>

<ParamField body="message.url" type="string">
  A URL de lançamento da mensagem ao usar uma única URL agnóstica de web e app. Veja [URLs, Links e Deep Links](./links). **Liquid:** `{{ message.url }}`
</ParamField>

<ParamField body="message.app_url" type="string">
  A URL de lançamento específica do app ao usar URLs separadas de web e app. Veja [URLs, Links e Deep Links](./links). **Liquid:** `{{ message.app_url }}`
</ParamField>

<ParamField body="message.web_url" type="string">
  A URL de lançamento específica da web ao usar URLs separadas de web e app. Veja [URLs, Links e Deep Links](./links). **Liquid:** `{{ message.web_url }}`
</ParamField>

<ParamField body="message.live_activity_event_kind" type="string">
  O tipo de ação da Live Activity: `start`, `update` ou `end`. Presente apenas para eventos `message.live_activity.*`. **Liquid:** `{{ message.live_activity_event_kind }}`
</ParamField>

### Exemplo de objeto de mensagem

Copie este template Liquid no corpo do seu Event Stream para capturar todos os campos de mensagem:

```json JSON theme={null}
{
  "message.id": "{{ message.id }}",
  "message.name": "{{ message.name }}",
  "message.title": "{{ message.title }}",
  "message.contents": "{{ message.contents }}",
  "message.template_id": "{{ message.template_id }}",
  "message.url": "{{ message.url }}",
  "message.app_url": "{{ message.app_url }}",
  "message.web_url": "{{ message.web_url }}"
}
```

<Accordion title="Exemplo de saída renderizada">
  Uma mensagem de notificação push:

  ```json JSON theme={null}
  {
    "message.id": "f3c9cd09-10d7-4f59-b9bc-66e16607f1d5",
    "message.name": "weekly-promo-push",
    "message.title": "{'en':'Flash Sale: 50% Off Today'}",
    "message.contents": "{'en':'Shop now and save on select items'}",
    "message.template_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "message.url": "https://example.com/sale",
    "message.app_url": "",
    "message.web_url": ""
  }
  ```

  Uma mensagem de email — `message.title` é a linha de assunto como string simples, e `message.contents` está vazio pois o conteúdo do corpo do email não é incluído nos dados do Event Stream:

  ```json JSON theme={null}
  {
    "message.id": "e2d3c4b5-a6f7-8901-bcde-f12345678901",
    "message.name": "onboarding-welcome-email",
    "message.title": "Welcome to Acme — here's how to get started",
    "message.contents": "",
    "message.template_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
    "message.url": "",
    "message.app_url": "",
    "message.web_url": ""
  }
  ```
</Accordion>

***

## Propriedades de `user`

O objeto `user` contém dados em nível de perfil do usuário que recebeu a mensagem.

<ParamField body="user.onesignal_id" type="string">
  O OneSignal ID do usuário. **Liquid:** `{{ user.onesignal_id }}`
</ParamField>

<ParamField body="user.external_id" type="string">
  O External ID do usuário. **Liquid:** `{{ user.external_id }}`
</ParamField>

<ParamField body="user.tags" type="object">
  As [tags](./add-user-data-tags) do usuário. Acesse o objeto completo com `{{ user.tags }}` ou uma tag específica com `{{ user.tags.your_tag }}`. Use um padrão para lidar com tags ausentes: `{{ user.tags.your_tag | default: '' }}`.
</ParamField>

<ParamField body="user.language" type="string">
  O código de idioma do usuário. **Liquid:** `{{ user.language }}`
</ParamField>

***

## Propriedades de `subscription`

Essas propriedades descrevem a [assinatura](./subscriptions) que recebeu a mensagem.

<ParamField body="user.subscription.id" type="string">
  O OneSignal ID da assinatura. **Liquid:** `{{ user.subscription.id }}`
</ParamField>

<ParamField body="user.subscription.app_id" type="string">
  O OneSignal App ID. **Liquid:** `{{ user.subscription.app_id }}`
</ParamField>

<ParamField body="user.subscription.subscription_token" type="string">
  O token específico de plataforma da assinatura. Para **Email**, é o endereço de email. Para **SMS**, um número de telefone no formato E.164. Para **Push**, o token de push. **Liquid:** `{{ user.subscription.subscription_token }}`
</ParamField>

<ParamField body="user.subscription.session_count" type="number">
  Total de sessões registradas para esta assinatura. **Liquid:** `{{ user.subscription.session_count }}`
</ParamField>

<ParamField body="user.subscription.language" type="string">
  O código de idioma definido na assinatura. **Liquid:** `{{ user.subscription.language }}`
</ParamField>

<ParamField body="user.subscription.game_version" type="string">
  A versão do app ou jogo reportada pela assinatura. **Liquid:** `{{ user.subscription.game_version }}`
</ParamField>

<ParamField body="user.subscription.last_active" type="number">
  Timestamp UNIX da sessão mais recente da assinatura. **Liquid:** `{{ user.subscription.last_active }}`
</ParamField>

<ParamField body="user.subscription.play_time" type="number">
  Tempo total de jogo registrado para esta assinatura, em segundos. **Liquid:** `{{ user.subscription.play_time }}`
</ParamField>

<ParamField body="user.subscription.amount_spent" type="number">
  Valor total de compras in-app registrado para esta assinatura. **Liquid:** `{{ user.subscription.amount_spent }}`
</ParamField>

<ParamField body="user.subscription.created_at" type="number">
  Timestamp UNIX de quando a assinatura foi criada. **Liquid:** `{{ user.subscription.created_at }}`
</ParamField>

<ParamField body="user.subscription.subscribed" type="boolean">
  Se a assinatura está atualmente optada. **Liquid:** `{{ user.subscription.subscribed }}`
</ParamField>

<ParamField body="user.subscription.sdk" type="string">
  A versão do OneSignal SDK no dispositivo da assinatura. **Liquid:** `{{ user.subscription.sdk }}`
</ParamField>

<ParamField body="user.subscription.device_model" type="string">
  O modelo de hardware do dispositivo (ex.: "iPhone14,2", "Pixel 7"). **Liquid:** `{{ user.subscription.device_model }}`
</ParamField>

<ParamField body="user.subscription.device_os" type="string">
  O sistema operacional e versão do dispositivo (ex.: "iOS 17.2", "Android 14"). **Liquid:** `{{ user.subscription.device_os }}`
</ParamField>

***

## Páginas relacionadas

<Columns cols={2}>
  <Card title="Event Streams" icon="bolt" href="./event-streams">
    Configure o Event Streams, incluindo setup, templates de corpo e depuração.
  </Card>

  <Card title="Usando sintaxe Liquid" icon="code" href="./using-liquid-syntax">
    Referência da sintaxe Liquid usada para personalizar corpos de Event Stream.
  </Card>

  <Card title="Event Streams de mensagens in-app" icon="message" href="./iam-event-streams">
    Detalhes sobre dados de eventos de mensagens in-app e rastreamento de carrossel.
  </Card>

  <Card title="Glossário de Métricas" icon="chart-bar" href="./analytics-metrics-glossary">
    Definições de todas as métricas de eventos de mensagem entre canais.
  </Card>
</Columns>

***

## FAQ

### Por que alguns dados de evento estão ausentes ou em branco?

Dados de mensagens para Jornadas e envios via API são retidos por 30 dias. Se um usuário interagir com uma mensagem (clique, abertura, cancelamento de inscrição) mais de 30 dias após o envio, as propriedades de mensagem associadas podem estar em branco. Para contornar isso, correlacione o `message.id` do evento de interação com o evento `sent` original, que contém os dados completos da mensagem.

### Qual é a diferença entre `event.id` e `message.id`?

`event.id` é um identificador único para o evento individual (ex.: um clique específico). `message.id` é o identificador da mensagem que foi enviada — múltiplos eventos podem compartilhar o mesmo `message.id` (por exemplo, um evento `sent` e um evento `clicked` para a mesma notificação push).

### Qual é o formato de `message.title` para push vs email?

Para notificações push, `message.title` retorna um objeto localizado como `{'en':'Your title'}`. Para email, retorna a linha de assunto como string simples. O formato depende do canal.

### Eventos Personalizados são incluídos no Event Streams?

Não. O Event Streams contém **eventos de mensagem** (enviado, clicado, aberto, rejeitado, etc.) — não [Eventos Personalizados](./custom-events). Eventos Personalizados são ações do usuário que você envia *para* o OneSignal. O Event Streams exporta dados de entrega e engajamento de mensagens *do* OneSignal.

### Como faço referência a uma tag específica no corpo do meu Event Stream?

Use `{{ user.tags.your_tag_key }}` com a chave de tag exata. Para evitar erros quando uma tag não está definida, adicione um padrão: `{{ user.tags.your_tag_key | default: '' }}`. Veja [Usando sintaxe Liquid](./using-liquid-syntax) para mais detalhes.

***
