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

# Integración de almacén de datos, DMP y CRM

> Integre su CRM, base de datos o DMP con OneSignal para activar notificaciones personalizadas en tiempo real y sincronizar datos de mensajería de usuarios a escala.

Conectar OneSignal a sus sistemas internos como un almacén de datos, CRM o plataforma de gestión de datos (DMP) desbloquea poderosas capacidades para mensajería en tiempo real, personalizada y escalable. Ya sea que esté usando Salesforce, un sistema de usuarios personalizado u otra plataforma, la integración le permite:

* Enviar mensajes personalizados y urgentes usando datos en vivo
* Sincronizar atributos de usuario y datos de mensajes entre sistemas
* Activar [Journeys](./journeys-overview) automatizados desde acciones de usuarios en su sistema
* Usar su sistema interno como la fuente de verdad mientras aprovecha la infraestructura de mensajería de OneSignal

<Frame caption="Integración de base de datos">
  <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 que muestra el flujo de datos entre una base de datos y OneSignal" width="747" height="537" data-path="images/docs/3a0f52f88c855832e2f2185aa456925c300ed7c2d13446f52802cbda474c3570-Screenshot_2024-10-08_at_15.27.28.png" />
</Frame>

***

## Guía de integración

OneSignal tiene integraciones directas con muchas plataformas populares. Consulte la página de integraciones para ver si su plataforma es compatible; si es así, siga esa guía de configuración en su lugar.

<Card title="Integraciones" icon="plug" href="./integrations">
  Explore todas las integraciones disponibles de OneSignal con CRMs, almacenes de datos, herramientas de análisis y más.
</Card>

Si su plataforma no aparece en la lista, siga los pasos a continuación para integrarla a través de la API REST de OneSignal.

### Paso 1: Identificar usuarios con External ID

El [`external_id`](./users) de OneSignal es el vínculo clave entre OneSignal y su base de datos. Establezca el `external_id` de cada usuario en OneSignal para que coincida con su ID de usuario en su base de datos. Esto le permite apuntar a usuarios, sincronizar datos y activar mensajes usando identificadores que ya tiene.

Si usa múltiples aplicaciones de OneSignal (por ejemplo, aplicaciones separadas para iOS, Android y web), establecer el mismo `external_id` en todas las aplicaciones identifica al mismo usuario en todas las plataformas.

Si tiene usuarios anónimos o no tiene un ID de usuario estable para rastrear usuarios entre sistemas, puede usar el `onesignal_id` o el `subscription_id` de OneSignal. Sin embargo, recomendamos establecer un `external_id` cuando el usuario sea estable e identificable.

El `onesignal_id` y/o `subscription_id` está disponible en la respuesta de la API Create user y a través de nuestros SDK móviles y web usando los [métodos Observer](./mobile-sdk-reference#addobserver-push-subscription-changes).

#### Configuración solo con API

Si solo usa OneSignal para correo electrónico y SMS/RCS (sin aplicaciones móviles ni sitios web), puede gestionar usuarios completamente a través de la API REST:

* [Create user](/reference/create-user) — Cree un usuario con `external_id`, dirección de correo electrónico y/o número de teléfono
* [Update user](/reference/update-user) — Actualice propiedades de usuario y suscripciones

No se requiere instalación de SDK. Su backend envía datos de usuario directamente a OneSignal.

**Configuración con SDK**

Si tiene aplicaciones móviles o sitios web, use los SDK frontend de OneSignal para capturar tokens de notificaciones push y establecer el `external_id`:

1. Instale el [SDK de OneSignal](./mobile-sdk-setup) para su plataforma.
2. Llame a `login` con el `external_id` del usuario después de que se autentique en su app.
3. El SDK captura automáticamente el token push y lo vincula al usuario.

***

### Paso 2: Sincronizar datos de usuario y eventos

Una vez configurada la identidad del usuario, puede sincronizar dos tipos de datos desde su sistema a OneSignal:

**Tags** — propiedades de usuario persistentes

Las [Tags](./add-user-data-tags) almacenan atributos de usuario en OneSignal para segmentación y [personalización de mensajes](./message-personalization). Úselas para datos que describen quién es un usuario, como tipo de plan, idioma preferido o fecha de registro.

* Establezca tags a través de la API [Update user](/reference/update-user) o a través de nuestros SDK frontend
* Las tags persisten en el usuario hasta que las actualice o elimine
* Use tags para crear [Segmentos](./segmentation) y [personalizar el contenido del mensaje](./message-personalization)

**Eventos personalizados** — acciones del usuario

Los [Eventos personalizados](./custom-events) representan acciones que realiza un usuario, como `completed_purchase`, `viewed_page` o `subscription_expired`. Úselos para activar [Journeys](./journeys-overview) automatizados.

* Envíe eventos personalizados a través de nuestra API o SDK frontend
* Los eventos personalizados no se persisten como las tags, pero pueden usarse para activar Journeys y personalización de mensajes

### Paso 3: Exportar datos de mensajes y participación

Para sincronizar datos de entrega y participación de vuelta a sus sistemas:

* **[Event Streams](./event-streams)** — (Recomendado) Entrega de webhooks en tiempo real de eventos de mensajes (enviado, entregado, abierto, etc.). Ideal para mantener su base de datos sincronizada a medida que ocurren los eventos.
* **[Exportar CSV de suscripciones](/reference/csv-export)** — Exportación masiva de datos de suscripciones para sincronizaciones periódicas o migraciones.
* **[API Ver mensajes](/reference/view-messages)** — Consulte el historial de mensajes y estadísticas de entrega de forma programática.

***

## Recomendaciones de arquitectura

* **Mantenga su base de datos como la fuente de verdad.** Trate OneSignal como la capa de mensajería: envíe datos de usuario y eventos a OneSignal, y recupere los datos de entrega/participación.
* **Use la API para actualizaciones en tiempo real.** Cuando un usuario realiza una acción (por ejemplo, completa una compra), llame a la API de OneSignal de inmediato para actualizar tags o enviar un evento personalizado.
* **Use la importación CSV para operaciones masivas.** Para la incorporación inicial o migraciones grandes, use la [importación CSV](./import) en lugar de hacer miles de llamadas API individuales.
* **Respete los [límites de velocidad](/reference/rate-limits).** Para actualizaciones de alto volumen, agrupe las solicitudes cuando sea posible e implemente lógica de reintento con retroceso exponencial.
* **Use Event Streams para el camino de retorno.** En lugar de sondear la API de OneSignal para obtener datos de entrega, configure [Event Streams](./event-streams) para recibir webhooks en tiempo real de eventos de mensajes.

***

## Activar mensajes desde su base de datos

Puede activar mensajes usando dos enfoques — elija uno o ambos según su caso de uso.

<Tabs>
  <Tab title="API">
    Use la API de [crear mensaje](/reference/create-message) para mensajería transaccional inmediata.

    Segmente usuarios a través de:

    * `external_id`
    * Alias (por ejemplo, `crm_id`)
    * Correo electrónico o número de teléfono

    Mejor para:

    * [Mensajes transaccionales](./transactional-messages) (por ejemplo, recibos, alertas)
    * Notificaciones urgentes o personalizadas
    * Segmentar individuos o grupos (hasta 20,000 usuarios por llamada)

    También puede programar mensajes usando el parámetro `send_after`.
  </Tab>

  <Tab title="Tags y Journeys">
    Use [Tags](./add-user-data-tags) para crear segmentos de usuarios dinámicos.

    Envíe mensajes mediante:

    * Segmentación de segmentos o filtros a través de la API
    * Envíos manuales a través del panel
    * Mensajería automatizada usando [Journeys](./journeys-overview)

    Mejor para:

    * Campañas de marketing (promociones, reactivación)
    * Mensajes programados o de ciclo de vida
    * Empoderar a equipos no técnicos para ejecutar campañas
  </Tab>

  <Tab title="Eventos personalizados y Journeys">
    Use [Eventos personalizados](./custom-events) para activar [Journeys](./journeys-overview) basados en acciones del usuario, ya sea enviados a través de la API o sincronizados desde una [integración de almacén compatible](./integrations).

    Consulte [Eventos personalizados](./custom-events) para más información.
  </Tab>
</Tabs>

***

## Preguntas frecuentes

### ¿Debo usar la API o Journeys para enviar mensajes desde mi base de datos?

Use la API de [crear mensaje](/reference/create-message) para mensajes transaccionales inmediatos como recibos o alertas. Use [Journeys](./journeys-overview) con [Tags](./add-user-data-tags) o [Eventos personalizados](./custom-events) para mensajes de ciclo de vida y marketing automatizados que se benefician de la construcción visual de flujos de trabajo.

### ¿Qué datos debo almacenar en OneSignal vs. en mi propio sistema?

Decida según el propósito de los datos:

**Qué almacenar en OneSignal**

* Almacene datos usados directamente para mensajería:
  * `external_id` y alias
  * Correos electrónicos (para mensajería por correo electrónico)
  * Números de teléfono (para SMS)
  * Atributos de usuario ligeros como [Tags](./add-user-data-tags)
  * Eventos clave para los que desea enviar mensajes como [Eventos personalizados](./custom-events)

<Note>
  OneSignal admite varias formas de personalizar mensajes detalladas en [Personalización de mensajes](./message-personalization).
</Note>

**Qué mantener en sus propios sistemas**

* Mantenga datos no relacionados con la mensajería (por ejemplo, perfiles de usuario completos, registros de transacciones) en sus propios sistemas para rendimiento, privacidad y control. Archive el historial de mensajes de OneSignal para análisis a largo plazo o cumplimiento.

### ¿Puedo enviar mensajes a usuarios que no tienen un External ID?

Sí, pero requiere manejo adicional. Puede usar el `onesignal_id` o `subscription_id` de OneSignal, pero estos son anónimos hasta que se vinculan a un `external_id`. Recomendamos establecer un `external_id` para cada usuario para simplificar la identificación entre sistemas.

### ¿Cuál es la diferencia entre tags y eventos personalizados?

Las [Tags](./add-user-data-tags) son propiedades de usuario persistentes (por ejemplo, tipo de plan, preferencia de idioma) usadas para segmentación y personalización. Los [Eventos personalizados](./custom-events) representan acciones únicas del usuario (por ejemplo, `completed_purchase`) usadas para activar [Journeys](./journeys-overview). Las tags describen quién es un usuario; los eventos personalizados describen qué hizo un usuario.

***

<Columns cols={2}>
  <Card title="Usuarios" icon="user" href="./users">
    Comprenda el modelo de usuario de OneSignal y cómo se estructuran las identidades.
  </Card>

  <Card title="Eventos personalizados" icon="bolt" href="./custom-events">
    Envíe eventos desde sus sistemas para activar Journeys y rastrear el comportamiento del usuario.
  </Card>

  <Card title="Personalización de mensajes" icon="wand-magic-sparkles" href="./message-personalization">
    Personalice mensajes con tags, datos personalizados y contenido dinámico.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Cree flujos de trabajo de mensajería automatizados activados por el comportamiento y los datos del usuario.
  </Card>
</Columns>
