> ## 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.

# Segment (Twilio)

> Integre o OneSignal com o Twilio Segment para dados de usuário e eventos de mensagens.

<Frame caption="Visão geral da integração OneSignal Segment">
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0fe35d2-onesignal-segment-integration_1.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=f70d1f0b0ea879b548b634bb253ecacf" width="1280" height="720" data-path="images/docs/0fe35d2-onesignal-segment-integration_1.png" />
</Frame>

## Visão geral

A integração OneSignal + Segment permite que você:

* Envie características e eventos de usuários do Segment para o OneSignal para enriquecer perfis de usuários, potencializar segmentação e acionar mensagens.
* Envie eventos de entrega e engajamento de mensagens do OneSignal para o Segment para análises centralizadas e data warehousing.

Esta configuração bidirecional suporta todos os principais canais do OneSignal: Push, In-App, Email e SMS.

***

## Requisitos

* Uma [Conta OneSignal](https://onesignal.com/pricing) Growth, Professional ou Enterprise.
* Permissões de Administrador do Segment
* O [SDK Móvel](./mobile-sdk-setup) e/ou [SDK Web](./web-push-setup) do OneSignal do qual você deseja enviar dados. Integrações apenas de [Email](./email-setup) ou [SMS](./sms-setup) não requerem o SDK.
* A Propriedade do OneSignal: [ID Externo](./users) que mapeia para o `userId` do Segment.com.

***

## Configuração

### 1. Configure o OneSignal

Use um aplicativo existente ou crie um novo no dashboard do OneSignal. Em seguida, configure seus canais preferidos:

* [Configuração Web Push](./web-push-setup)
* [Configuração Mobile Push](./mobile-sdk-setup)
* [Configuração SMS](./sms-setup)
* [Configuração Email](./email-setup)

### 2. Conecte o Segment ao OneSignal

No Dashboard do OneSignal, navegue até **Dados > Integrações** e clique em **Ativo** no cartão Segment.com. Em seguida, continue com as opções de configuração.

#### Entrada de dados

"Entrada de Dados" para o OneSignal permite que você envie [segmentos do OneSignal](./segmentation), [tags](./add-user-data-tags) e [eventos personalizados](./custom-events) da sua conta Segment.com para o OneSignal. Clique em **Autenticar** na seção *Entrada de Dados* da página de configurações do Segment.com no Dashboard do OneSignal.

<Warning>
  Uma vez habilitado para rastrear eventos personalizados, a integração Segment.com enviará tanto Tags quanto Eventos, então você não precisará atualizar nenhum template existente que referencie Tags.
</Warning>

<Frame caption="Configurações de autenticação de Entrada de Dados">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/48031e3-Data_in.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=3985a85e39ed139234cf81b3f29a0290" width="1182" height="428" data-path="images/docs/48031e3-Data_in.png" />
</Frame>

Assim que você clicar em Autenticar, uma página web do Segment.com será aberta e você será solicitado a fazer login na sua conta Segment.com. Em seguida, você será solicitado a configurar um novo destino de dados da sua conta Segment.com.

<Frame caption="Tela de configuração do Segment">
  <img src="https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/85c6577-segment_set_up.png?fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=a8a554790d8c80595116aca43093627b" width="898" height="916" data-path="images/docs/85c6577-segment_set_up.png" />
</Frame>

#### Saída de dados

Habilitar "Saída de Dados" para o Segment.com sincroniza eventos de mensagens gerados de volta para sua conta Segment.com. Esses eventos de mensagens são gerados ao enviar mensagens para seus usuários na plataforma OneSignal. Mais detalhes sobre que tipo de eventos podem ser gerados e as propriedades com as quais são enviados podem ser encontrados [abaixo](./segment-onesignal-integration#message-events).

Primeiro, você precisa adicionar o OneSignal como uma fonte da sua conta Segment.com. Você pode fazer isso navegando até a [listagem de Fonte OneSignal](https://segment.com/docs/connections/sources/catalog/cloud-apps/onesignal/) no Catálogo de Conexões do Segment.

A partir daí, você pode adicionar seu token de API do Segment.com no Dashboard do OneSignal. Por favor, navegue até **Dados > Integrações > Segment** no Dashboard do OneSignal para adicionar a chave de API do Segment.

<Frame caption="Configuração de chave de API de Saída de Dados">
  <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/9d8eb5f-data_out_3.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=56098282da219dd7eb274b183b271362" width="1604" height="1052" data-path="images/docs/9d8eb5f-data_out_3.png" />
</Frame>

Após configurar a chave de API, certifique-se de verificar suas configurações de Política de Dados no Segment.com para determinar se você precisa enviar eventos para o Endpoint de Residência da UE do Segment.

Depois que todas essas configurações estiverem concluídas, você pode selecionar quais eventos deseja sincronizar com sua Conta Segment dependendo de quais canais você utiliza com o OneSignal.

### 3. Adicione o destino OneSignal no Segment

Em **Segment.com Dashboard > Destinos** você deve ver **OneSignal**. Caso contrário, adicione o OneSignal como um novo destino.

Habilite o Destino OneSignal, você também deve ver sua Chave de API e ID de Aplicativo do OneSignal já configurados.

<Frame caption="Configuração de destino OneSignal no Segment">
  <img src="https://mintcdn.com/onesignal/56ctKxZSV4m5VEkn/images/docs/b191d42-turn-on-configuration-in-segment.png?fit=max&auto=format&n=56ctKxZSV4m5VEkn&q=85&s=aebe97a4fbfe4775b502b2c3186ff5fb" width="2046" height="946" data-path="images/docs/b191d42-turn-on-configuration-in-segment.png" />
</Frame>

Se a chave de API e o ID do Aplicativo não estiverem definidos, navegue até o [dashboard do OneSignal](https://app.onesignal.com/apps/), selecione o Aplicativo e vá para **Configurações > Chaves e IDs**. Copie e cole o "ID do Aplicativo" e a "chave de API" no Segment.com.

#### Múltiplas Fontes do Segment.com

Se você tiver múltiplas fontes, pode utilizar [o recurso **Personas > Spaces** do Segment](https://segment.com/docs/personas/#personas-spaces) para vincular múltiplas fontes a um destino.

### 4. Envie dados do Segment para o OneSignal

O OneSignal armazena registros no nível do canal: Push/IAM, Email e SMS. Esses registros já devem estar criados no OneSignal e você também deve definir o alias de [ID Externo](./users) no OneSignal para corresponder ao campo `userID` enviado pelo Segment.com.

<Warning>
  Registros que não tenham um mapeamento **ID de Usuário do Segment \<--> ID Externo do OneSignal** serão descartados.
</Warning>

## Características ou propriedades do usuário

Você pode agregar dados em todos os pontos de contato com o cliente no Segment e, em seguida, enviar essas propriedades do usuário em tempo real para o OneSignal como [Tags](./add-user-data-tags).

**Nota**: O OneSignal não pode aceitar objetos aninhados ou arrays como propriedades de usuário.

[Identify](https://segment.com/docs/connections/spec/identify) - Características ou propriedades de usuário enviadas usando a *chamada Identify do Segment* são armazenadas como Tags no OneSignal. Por exemplo:

<Frame caption="Exemplo de chamada identify do usuário">
  <img src="https://mintcdn.com/onesignal/ciRrThfP6xMpI7GY/images/docs/0209647-Screenshot_2024-05-08_at_11.44.24_AM.png?fit=max&auto=format&n=ciRrThfP6xMpI7GY&q=85&s=423258a2b318e017771eb7a0586a88d9" width="2360" height="632" data-path="images/docs/0209647-Screenshot_2024-05-08_at_11.44.24_AM.png" />
</Frame>

[Track](https://segment.com/docs/connections/spec/track/) - Para eventos e propriedades associadas enviadas usando a *chamada Track do Segment*, o OneSignal armazenará todas as *propriedades do evento* como Tags, mas *descartará* o *nome do evento* ao armazenar as tags. Se você quiser manter os *nomes dos eventos* nas Tags, pode anexar o nome do evento às propriedades antes de enviá-las ao OneSignal. Por exemplo:

<CodeGroup>
  ```javascript track example theme={null}
  let timestampInSeconds = Int(NSDate().timeIntervalSince1970).toString()//convert to string since Segment adds decimals to end
  //name will be dropped and only properties will be sent to OneSignal as tag "last opened: timestampInSeconds"
  analytics.track(
    name: "iOS App Last Opened",
    properties: ["last opened": timestampInSeconds]
  )
  ```
</CodeGroup>

<Frame caption="Exemplo de propriedades de chamada track">
  <img src="https://mintcdn.com/onesignal/4HyuQPBpu-4xjmQC/images/docs/ce2b574-Screenshot_2024-05-08_at_11.49.34_AM.png?fit=max&auto=format&n=4HyuQPBpu-4xjmQC&q=85&s=0a32647a69bae9078fa785b6df4a7d24" width="2360" height="632" data-path="images/docs/ce2b574-Screenshot_2024-05-08_at_11.49.34_AM.png" />
</Frame>

<Frame caption="Interface de características e propriedades do usuário">
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/565e212-user-traits-or-properties.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=a18d3a422c087b32ce05d702b51b2e6b" width="1773" height="1209" data-path="images/docs/565e212-user-traits-or-properties.png" />
</Frame>

## Audiência Personas e Características Computadas

[Audiências Persona](https://segment.com/docs/personas/) aparecem automaticamente como um [segmento no OneSignal](./segmentation).

Características computadas são atualizadas como [Tags](./add-user-data-tags) nos registros de usuário do OneSignal.

**Audiência**

<Frame caption="Interface de audiência persona e características computadas">
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/c494a4b-persona-audience-or-computed-traits.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=2a858790b04fbcbc6676e894efd3254b" width="1773" height="1209" data-path="images/docs/c494a4b-persona-audience-or-computed-traits.png" />
</Frame>

Audiências enviadas usando a [chamada Track](https://segment.com/docs/connections/spec/track/) do Segment criarão um segmento do OneSignal com o *Nome da Audiência*.

Audiências enviadas usando a [chamada Identify](https://segment.com/docs/connections/spec/identify/) do Segment irão

* criar um segmento do OneSignal com o *Nome da Audiência*
* adicionar Tags (se houver propriedades adicionais na chamada Identify) em todos os registros de usuário correspondentes.

<Frame caption="Segmentos criados no OneSignal a partir do Segment">
  <img src="https://mintcdn.com/onesignal/Z6xkXGfmy814If53/images/docs/e5ad7f4-segments-in-onesignal.png?fit=max&auto=format&n=Z6xkXGfmy814If53&q=85&s=21e0f73a8bf21f50311b1c6e11535c51" width="1773" height="1209" data-path="images/docs/e5ad7f4-segments-in-onesignal.png" />
</Frame>

As chamadas Identify e Track são enviadas automaticamente para o OneSignal sempre que um usuário entra ou sai da Audiência.

**Características Computadas** As Características Computadas de Personas são armazenadas como [Tags](./add-user-data-tags) nos registros de usuário do OneSignal, seja passadas ao OneSignal como uma chamada Identify ou uma chamada Track. Você pode então usar essas Tags para criar manualmente segmentos do OneSignal e automatizar seus fluxos de trabalho de mensagens.

***

## Eventos de Mensagem

## Tipos de Eventos

Estes são os tipos de eventos de mensagem que o OneSignal envia para o Segment

| Tipo de MessageEvent          | Descrição do Evento                                   |
| ----------------------------- | ----------------------------------------------------- |
| Push Sent                     | Notificação push enviada com sucesso                  |
| Push Received                 | Notificação push recebida com sucesso                 |
| Push Clicked                  | Notificação push tocada no dispositivo                |
| In-App Message Displayed      | Mensagem In-App exibida com sucesso no dispositivo    |
| In-App Message Clicked        | Mensagem In-App clicada no dispositivo                |
| In-App Message Page Displayed | Página de Mensagem In-App é exibida                   |
| Email Sent                    | Email enviado com sucesso                             |
| Email Opened                  | Email aberto pelo destinatário                        |
| Email Unsubscribed            | Destinatário cancelou inscrição do email              |
| Email Received                | Email recebido pelo destinatário                      |
| Email Reported As Spam        | Email relatado como spam pelo destinatário            |
| Email Bounced                 | Email retornado ao remetente devido a erro permanente |
| Email Failed                  | Não foi possível entregar o email na caixa de entrada |
| SMS Sent                      | SMS enviado ao destinatário                           |
| SMS Delivered                 | SMS entregue com sucesso                              |
| SMS Failed                    | Falha ao enviar SMS                                   |

### Propriedades de Eventos

Estas são as propriedades presentes nos eventos enviados do OneSignal para o Segment.com

| NOME DA PROPRIEDADE | DESCRIÇÃO                                             |
| ------------------- | ----------------------------------------------------- |
| `userId`            | O `external_id` associado à mensagem                  |
| `anonymousId`       | O `subscription_id`                                   |
| `messageId`         | O identificador da mensagem discreta                  |
| `campaign_id`       | O mesmo valor que `messageId`                         |
| `message_name`      | O nome da mensagem                                    |
| `message_title`     | O título da mensagem                                  |
| `message_contents`  | O conteúdo da mensagem                                |
|                     |                                                       |
| `subscription_type` | O canal através do qual a mensagem foi enviada        |
| `template_id`       | O template de mensagem usado                          |
| `subscription_id`.  | O identificador de dispositivo/email/sms do OneSignal |
| `device_type`       | O tipo de dispositivo que recebeu a mensagem          |
| `language`          | O código de idioma de dois caracteres do dispositivo  |
| `message_type`      | O tipo de mensagem enviada: push, in-app, email, SMS  |

## Perguntas frequentes

### Como podemos passar eventos de Assinatura?

Os eventos de assinatura não estão sendo enviados automaticamente no momento. Isso pode ser feito com os Métodos do Observador de Assinatura do SDK do OneSignal. Consulte [Rastreamento de Assinatura](./analytics-overview#subscription-tracking) para mais detalhes.

### Gerenciando Propriedades de Usuário Reservadas e Personalizadas do Segment no OneSignal

* Todas as características de usuário do Segment são enviadas ao OneSignal como Tags. O número de Tags permitidas no OneSignal depende do seu plano de preços do OneSignal. Tags acima do número permitido serão descartadas.
* O OneSignal sempre atualiza as propriedades firstName e lastName para usuários correspondentes. Todas as outras características são adicionadas/atualizadas por ordem de chegada. As tags *firstName* e *lastName* são armazenadas como "first\_name" e "last\_name".
* Propriedades de usuário enviadas ao OneSignal com valores em branco/nulos são removidas do registro de usuário do OneSignal. Isso é feito para garantir que você esteja dentro dos seus limites de data tag.

***
