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

# Integração de data warehouse, DMP e CRM

> Integre seu CRM, banco de dados ou DMP com o OneSignal para acionar notificações personalizadas em tempo real e sincronizar dados de mensagens de usuários em escala.

Conectar o OneSignal aos seus sistemas internos como um data warehouse, CRM ou plataforma de gerenciamento de dados (DMP) desbloqueia capacidades poderosas para mensagens em tempo real, personalizadas e escaláveis. Seja você usando Salesforce, um sistema de usuário personalizado ou outra plataforma, a integração permite:

* Enviar mensagens personalizadas e sensíveis ao tempo usando dados ao vivo
* Sincronizar atributos de usuário e dados de mensagens entre sistemas
* Acionar [Journeys](./journeys-overview) automatizados a partir de ações do usuário em seu sistema
* Usar seu sistema interno como a fonte da verdade enquanto aproveita a infraestrutura de mensagens do OneSignal

<Frame caption="Integração de banco de dados">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/3a0f52f88c855832e2f2185aa456925c300ed7c2d13446f52802cbda474c3570-Screenshot_2024-10-08_at_15.27.28.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=4887fb763f121365fbdf803e3b298d3b" alt="Diagrama mostrando o fluxo de dados entre um banco de dados e o OneSignal" width="747" height="537" data-path="images/docs/3a0f52f88c855832e2f2185aa456925c300ed7c2d13446f52802cbda474c3570-Screenshot_2024-10-08_at_15.27.28.png" />
</Frame>

***

## Guia de integração

O OneSignal possui integrações diretas com muitas plataformas populares. Verifique a página de integrações para ver se sua plataforma é compatível — se for, siga o guia de configuração correspondente.

<Card title="Integrações" icon="plug" href="./integrations">
  Navegue por todas as integrações disponíveis do OneSignal com CRMs, data warehouses, ferramentas de análise e muito mais.
</Card>

Se sua plataforma não estiver listada, siga as etapas abaixo para integrar via API REST do OneSignal.

### Etapa 1: Identificar usuários com External ID

O [`external_id`](./users) do OneSignal é o vínculo chave entre o OneSignal e seu banco de dados. Defina o `external_id` de cada usuário no OneSignal para corresponder ao ID de usuário no seu banco de dados. Isso permite que você direcione usuários, sincronize dados e acione mensagens usando identificadores que você já possui.

Se você usa vários aplicativos OneSignal (por exemplo, aplicativos separados para iOS, Android e web), definir o mesmo `external_id` em todos os aplicativos identifica o mesmo usuário em todas as plataformas.

Se você tiver usuários anônimos ou não tiver um ID de usuário estável para rastrear usuários entre sistemas, você pode usar o `onesignal_id` ou `subscription_id` do OneSignal. No entanto, recomendamos definir um `external_id` quando o usuário for estável e identificável.

O `onesignal_id` e/ou `subscription_id` está disponível na resposta da API Create user e via nossos SDKs móveis e web usando os [métodos Observer](./mobile-sdk-reference#addobserver-push-subscription-changes).

#### Configuração apenas com API

Se você está usando o OneSignal apenas para e-mail e SMS/RCS (sem aplicativos móveis ou sites), você pode gerenciar usuários inteiramente pela API REST:

* [Create user](/reference/create-user) — Crie um usuário com `external_id`, endereço de e-mail e/ou número de telefone
* [Update user](/reference/update-user) — Atualize propriedades do usuário e assinaturas

Não é necessária instalação de SDK. Seu backend envia dados do usuário diretamente para o OneSignal.

**Configuração com SDK**

Se você tem aplicativos móveis ou sites, use os SDKs frontend do OneSignal para capturar tokens de notificação push e definir o `external_id`:

1. Instale o [SDK do OneSignal](./mobile-sdk-setup) para sua plataforma.
2. Chame `login` com o `external_id` do usuário após ele se autenticar no seu aplicativo.
3. O SDK captura automaticamente o token push e o vincula ao usuário.

***

### Etapa 2: Sincronizar dados do usuário e eventos

Após a identidade do usuário estar configurada, você pode sincronizar dois tipos de dados do seu sistema para o OneSignal:

**Tags** — propriedades persistentes do usuário

As [Tags](./add-user-data-tags) armazenam atributos do usuário no OneSignal para segmentação e [personalização de mensagens](./message-personalization). Use-as para dados que descrevem quem é um usuário, como tipo de plano, idioma preferido ou data de cadastro.

* Defina tags via API [Update user](/reference/update-user) ou por meio de nossos SDKs frontend
* Tags persistem no usuário até que você as atualize ou remova
* Use tags para criar [Segmentos](./segmentation) e [personalizar o conteúdo da mensagem](./message-personalization)

**Eventos personalizados** — ações do usuário

[Custom Events](./custom-events) representam ações que um usuário realiza, como `completed_purchase`, `viewed_page` ou `subscription_expired`. Use-os para acionar [Journeys](./journeys-overview) automatizados.

* Envie Custom Events via nossa API ou SDKs frontend
* Custom Events não são persistidos como tags, mas podem ser usados para acionar Journeys e personalização de mensagens

### Etapa 3: Exportar dados de mensagens e engajamento

Para sincronizar dados de entrega e engajamento de volta para seus sistemas:

* **[Event Streams](./event-streams)** — (Recomendado) Entrega de webhooks em tempo real de eventos de mensagens (enviado, entregue, clicado, etc.). Ideal para manter seu banco de dados sincronizado conforme os eventos acontecem.
* **[Export subscriptions CSV](/reference/csv-export)** — Exportação em massa de dados de assinatura para sincronizações periódicas ou migrações.
* **[View messages API](/reference/view-messages)** — Consulte o histórico de mensagens e estatísticas de entrega programaticamente.

***

## Recomendações de arquitetura

* **Mantenha seu banco de dados como a fonte da verdade.** Trate o OneSignal como a camada de mensagens — envie dados do usuário e eventos para o OneSignal e recupere dados de entrega/engajamento de volta.
* **Use a API para atualizações em tempo real.** Quando um usuário realiza uma ação (por exemplo, conclui uma compra), chame a API do OneSignal imediatamente para atualizar tags ou enviar um evento personalizado.
* **Use importação CSV para operações em massa.** Para integração inicial ou grandes migrações, use [importação CSV](./import) em vez de fazer milhares de chamadas de API individuais.
* **Respeite os [limites de taxa](/reference/rate-limits).** Para atualizações de alto volume, agrupe solicitações sempre que possível e implemente lógica de repetição com backoff exponencial.
* **Use Event Streams para o caminho de retorno.** Em vez de consultar a API do OneSignal para dados de entrega, configure [Event Streams](./event-streams) para receber webhooks em tempo real de eventos de mensagens.

***

## Acionando mensagens do seu banco de dados

Você pode acionar mensagens usando duas abordagens — escolha uma ou ambas com base no seu caso de uso.

<Tabs>
  <Tab title="API">
    Use a API [Create message](/reference/create-message) para mensagens imediatas e transacionais.

    Segmente usuários via:

    * `external_id`
    * Aliases (por exemplo, `crm_id`)
    * E-mail ou número de telefone

    Melhor para:

    * [Mensagens transacionais](./transactional-messages) (por exemplo, recibos, alertas)
    * Notificações sensíveis ao tempo ou personalizadas
    * Segmentação de indivíduos ou grupos (até 20.000 usuários por chamada)

    Você também pode agendar mensagens usando o parâmetro `send_after`.
  </Tab>

  <Tab title="Tags e Journeys">
    Use [Tags](./add-user-data-tags) para construir segmentos dinâmicos de usuário.

    Envie mensagens por:

    * Segmentação de segmentos ou filtros via API
    * Envios manuais através do dashboard
    * Mensagens automatizadas usando [Journeys](./journeys-overview)

    Melhor para:

    * Campanhas de marketing (promoções, reengajamento)
    * Mensagens agendadas ou de ciclo de vida
    * Capacitar equipes não técnicas a executar campanhas
  </Tab>

  <Tab title="Custom Events e Journeys">
    Use [Custom Events](./custom-events) para acionar [Journeys](./journeys-overview) com base nas ações do usuário, enviados via API ou sincronizados de uma [integração de warehouse compatível](./integrations).

    Veja [Custom Events](./custom-events) para mais informações.
  </Tab>
</Tabs>

***

## Perguntas frequentes

### Devo usar a API ou Journeys para enviar mensagens do meu banco de dados?

Use a API [Create message](/reference/create-message) para mensagens transacionais imediatas como recibos ou alertas. Use [Journeys](./journeys-overview) com [Tags](./add-user-data-tags) ou [Custom Events](./custom-events) para mensagens de ciclo de vida e marketing automatizadas que se beneficiam da criação visual de fluxo de trabalho.

### Quais dados devo armazenar no OneSignal vs. no meu próprio sistema?

Decida com base na finalidade dos dados:

**O que armazenar no OneSignal**

* Armazene dados usados diretamente para mensagens:
  * `external_id` e aliases
  * E-mails (para mensagens de e-mail)
  * Números de telefone (para SMS)
  * Atributos leves de usuário como [Tags](./add-user-data-tags)
  * Eventos-chave para os quais você deseja enviar mensagens como [Custom Events](./custom-events)

<Note>
  O OneSignal suporta várias formas de personalizar mensagens detalhadas em [Personalização de mensagens](./message-personalization).
</Note>

**O que manter em seus próprios sistemas**

* Mantenha dados não relacionados a mensagens (por exemplo, perfis completos de usuário, logs de transações) em seus próprios sistemas para performance, privacidade e controle. Arquive o histórico de mensagens do OneSignal para analytics de longo prazo ou conformidade.

### Posso enviar mensagens para usuários que não têm um External ID?

Sim, mas requer tratamento extra. Você pode usar o `onesignal_id` ou `subscription_id` do OneSignal, mas estes são anônimos até serem vinculados a um `external_id`. Recomendamos definir um `external_id` para cada usuário para simplificar a identificação entre sistemas.

### Qual é a diferença entre tags e eventos personalizados?

[Tags](./add-user-data-tags) são propriedades persistentes do usuário (por exemplo, tipo de plano, preferência de idioma) usadas para segmentação e personalização. [Custom Events](./custom-events) representam ações únicas do usuário (por exemplo, `completed_purchase`) usadas para acionar [Journeys](./journeys-overview). Tags descrevem quem é um usuário; eventos personalizados descrevem o que um usuário fez.

***

<Columns cols={2}>
  <Card title="Usuários" icon="user" href="./users">
    Entenda o modelo de usuário do OneSignal e como as identidades são estruturadas.
  </Card>

  <Card title="Custom events" icon="bolt" href="./custom-events">
    Envie eventos dos seus sistemas para acionar Journeys e rastrear o comportamento do usuário.
  </Card>

  <Card title="Personalização de mensagens" icon="wand-magic-sparkles" href="./message-personalization">
    Personalize mensagens com tags, dados personalizados e conteúdo dinâmico.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Crie fluxos de trabalho de mensagens automatizados acionados pelo comportamento e dados do usuário.
  </Card>
</Columns>
