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

# Intégration d'entrepôt de données, DMP et CRM

> Intégrez votre CRM, base de données ou DMP avec OneSignal pour déclencher des notifications personnalisées en temps réel et synchroniser les données de messagerie utilisateur à grande échelle.

Connecter OneSignal à vos systèmes internes comme un entrepôt de données, un CRM ou une plateforme de gestion de données (DMP) déverrouille des capacités puissantes pour une messagerie en temps réel, personnalisée et évolutive. Que vous utilisiez Salesforce, un système utilisateur personnalisé ou une autre plateforme, l'intégration vous permet de :

* Envoyer des messages personnalisés et urgents en utilisant des données en direct
* Synchroniser les attributs utilisateur et les données de message entre les systèmes
* Déclencher des [Journeys](./journeys-overview) automatisés à partir des actions des utilisateurs dans votre système
* Utiliser votre système interne comme source de vérité tout en exploitant l'infrastructure de messagerie de OneSignal

<Frame caption="Intégration de base de données">
  <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="Diagramme montrant le flux de données entre une base de données et OneSignal" width="747" height="537" data-path="images/docs/3a0f52f88c855832e2f2185aa456925c300ed7c2d13446f52802cbda474c3570-Screenshot_2024-10-08_at_15.27.28.png" />
</Frame>

***

## Guide d'intégration

OneSignal dispose d'intégrations directes avec de nombreuses plateformes populaires. Consultez la page des intégrations pour voir si votre plateforme est prise en charge — si c'est le cas, suivez plutôt ce guide de configuration.

<Card title="Intégrations" icon="plug" href="./integrations">
  Parcourez toutes les intégrations OneSignal disponibles avec les CRM, les entrepôts de données, les outils d'analyse, etc.
</Card>

Si votre plateforme n'est pas répertoriée, suivez les étapes ci-dessous pour l'intégrer via l'API REST OneSignal.

### Étape 1 : Identifier les utilisateurs avec External ID

L'[`external_id`](./users) de OneSignal est le lien clé entre OneSignal et votre base de données. Définissez l'`external_id` de chaque utilisateur dans OneSignal pour qu'il corresponde à leur ID utilisateur dans votre base de données. Cela vous permet de cibler des utilisateurs, de synchroniser des données et de déclencher des messages en utilisant des identifiants que vous avez déjà.

Si vous utilisez plusieurs applications OneSignal (par ex., des applications séparées pour iOS, Android et web), définir le même `external_id` sur toutes les applications identifie le même utilisateur sur toutes les plateformes.

Si vous avez des utilisateurs anonymes ou n'avez pas d'ID utilisateur stable pour suivre les utilisateurs entre les systèmes, vous pouvez utiliser l'`onesignal_id` ou le `subscription_id` de OneSignal. Cependant, nous recommandons de définir un `external_id` lorsque l'utilisateur est stable et identifiable.

L'`onesignal_id` et/ou le `subscription_id` est disponible dans la réponse de l'API Create user et via nos SDK mobiles et web en utilisant les [méthodes Observer](./mobile-sdk-reference#addobserver-push-subscription-changes).

#### Configuration API uniquement

Si vous n'utilisez OneSignal que pour les e-mails et les SMS/RCS (sans applications mobiles ni sites web), vous pouvez gérer les utilisateurs entièrement via l'API REST :

* [Create user](/reference/create-user) — Créez un utilisateur avec un `external_id`, une adresse e-mail et/ou un numéro de téléphone
* [Update user](/reference/update-user) — Mettez à jour les propriétés utilisateur et les abonnements

Aucune installation de SDK n'est requise. Votre backend envoie les données utilisateur directement à OneSignal.

**Configuration avec SDK**

Si vous avez des applications mobiles ou des sites web, utilisez les SDK frontend de OneSignal pour capturer les tokens de notification push et définir l'`external_id` :

1. Installez le [SDK OneSignal](./mobile-sdk-setup) pour votre plateforme.
2. Appelez `login` avec l'`external_id` de l'utilisateur après son authentification dans votre application.
3. Le SDK capture automatiquement le token push et le lie à l'utilisateur.

***

### Étape 2 : Synchroniser les données utilisateur et les événements

Une fois l'identité utilisateur configurée, vous pouvez synchroniser deux types de données depuis votre système vers OneSignal :

**Balises** — propriétés utilisateur persistantes

Les [balises](./add-user-data-tags) stockent les attributs utilisateur dans OneSignal pour la segmentation et la [personnalisation des messages](./message-personalization). Utilisez-les pour les données qui décrivent qui est un utilisateur, comme le type d'abonnement, la langue préférée ou la date d'inscription.

* Définissez les balises via l'API [Update user](/reference/update-user) ou via nos SDK frontend
* Les balises persistent sur l'utilisateur jusqu'à ce que vous les mettiez à jour ou les supprimiez
* Utilisez les balises pour créer des [Segments](./segmentation) et [personnaliser le contenu des messages](./message-personalization)

**Événements personnalisés** — actions des utilisateurs

Les [Événements personnalisés](./custom-events) représentent des actions effectuées par un utilisateur, comme `completed_purchase`, `viewed_page` ou `subscription_expired`. Utilisez-les pour déclencher des [Journeys](./journeys-overview) automatisés.

* Envoyez des événements personnalisés via notre API ou nos SDK frontend
* Les événements personnalisés ne sont pas persistants comme les balises, mais peuvent être utilisés pour déclencher des Journeys et la personnalisation des messages

### Étape 3 : Exporter les données de messages et d'engagement

Pour synchroniser les données de livraison et d'engagement vers vos systèmes :

* **[Event Streams](./event-streams)** — (Recommandé) Livraison de webhooks en temps réel des événements de messages (envoyé, livré, cliqué, etc.). Idéal pour maintenir votre base de données synchronisée à mesure que les événements se produisent.
* **[Export subscriptions CSV](/reference/csv-export)** — Exportation en masse des données d'abonnement pour les synchronisations périodiques ou les migrations.
* **[View messages API](/reference/view-messages)** — Interrogez l'historique des messages et les statistiques de livraison par programmation.

***

## Recommandations d'architecture

* **Conservez votre base de données comme source de vérité.** Traitez OneSignal comme la couche de messagerie — envoyez les données utilisateur et les événements à OneSignal, et récupérez les données de livraison/engagement.
* **Utilisez l'API pour les mises à jour en temps réel.** Lorsqu'un utilisateur effectue une action (par ex., finalise un achat), appelez immédiatement l'API OneSignal pour mettre à jour les balises ou envoyer un événement personnalisé.
* **Utilisez l'importation CSV pour les opérations en masse.** Pour l'intégration initiale ou les grandes migrations, utilisez [l'importation CSV](./import) plutôt que de faire des milliers d'appels API individuels.
* **Respectez les [limites de débit](/reference/rate-limits).** Pour les mises à jour à volume élevé, regroupez les requêtes dans la mesure du possible et implémentez une logique de réessai avec backoff exponentiel.
* **Utilisez Event Streams pour le chemin de retour.** Plutôt que d'interroger l'API OneSignal pour les données de livraison, configurez [Event Streams](./event-streams) pour recevoir des webhooks en temps réel pour les événements de messages.

***

## Déclencher des messages depuis votre base de données

Vous pouvez déclencher des messages en utilisant deux approches — choisissez l'une ou les deux en fonction de votre cas d'utilisation.

<Tabs>
  <Tab title="API">
    Utilisez l'API [Create message](/reference/create-message) pour une messagerie transactionnelle immédiate.

    Ciblez les utilisateurs via :

    * `external_id`
    * Alias (par ex., `crm_id`)
    * E-mail ou numéro de téléphone

    Idéal pour :

    * [Messages transactionnels](./transactional-messages) (par ex., reçus, alertes)
    * Notifications urgentes ou personnalisées
    * Ciblage d'individus ou de groupes (jusqu'à 20 000 utilisateurs par appel)

    Vous pouvez également planifier des messages en utilisant le paramètre `send_after`.
  </Tab>

  <Tab title="Balises et Journeys">
    Utilisez les [balises](./add-user-data-tags) pour créer des segments d'utilisateurs dynamiques.

    Envoyez des messages en :

    * Ciblant des segments ou des filtres via l'API
    * Envois manuels via le tableau de bord
    * Messagerie automatisée utilisant [Journeys](./journeys-overview)

    Idéal pour :

    * Campagnes marketing (promotions, réengagement)
    * Messages planifiés ou de cycle de vie
    * Permettre aux équipes non techniques d'exécuter des campagnes
  </Tab>

  <Tab title="Événements personnalisés et Journeys">
    Utilisez les [Événements personnalisés](./custom-events) pour déclencher des [Journeys](./journeys-overview) basés sur les actions des utilisateurs, soit envoyés via l'API, soit synchronisés depuis une [intégration d'entrepôt prise en charge](./integrations).

    Consultez [Événements personnalisés](./custom-events) pour plus d'informations.
  </Tab>
</Tabs>

***

## FAQ

### Dois-je utiliser l'API ou Journeys pour envoyer des messages depuis ma base de données ?

Utilisez l'API [Create message](/reference/create-message) pour les messages transactionnels immédiats comme les reçus ou les alertes. Utilisez [Journeys](./journeys-overview) avec des [balises](./add-user-data-tags) ou des [Événements personnalisés](./custom-events) pour les messages de cycle de vie et marketing automatisés qui bénéficient d'une création visuelle de flux de travail.

### Quelles données dois-je stocker dans OneSignal vs. dans mon propre système ?

Décidez en fonction de l'objectif des données :

**Ce qu'il faut stocker dans OneSignal**

* Stockez les données utilisées directement pour la messagerie :
  * `external_id` et alias
  * E-mails (pour la messagerie e-mail)
  * Numéros de téléphone (pour SMS)
  * Attributs utilisateur légers sous forme de [balises](./add-user-data-tags)
  * Événements clés pour lesquels vous souhaitez envoyer des messages sous forme d'[Événements personnalisés](./custom-events)

<Note>
  OneSignal prend en charge plusieurs façons de personnaliser les messages détaillées dans [Personnalisation des messages](./message-personalization).
</Note>

**Ce qu'il faut garder dans vos propres systèmes**

* Gardez les données non liées à la messagerie (par ex., profils utilisateur complets, journaux de transactions) dans vos propres systèmes pour les performances, la confidentialité et le contrôle. Archivez l'historique des messages depuis OneSignal pour des analyses à long terme ou la conformité.

### Puis-je envoyer des messages à des utilisateurs qui n'ont pas d'External ID ?

Oui, mais cela nécessite une gestion supplémentaire. Vous pouvez utiliser l'`onesignal_id` ou le `subscription_id` de OneSignal, mais ceux-ci sont anonymes jusqu'à ce qu'ils soient liés à un `external_id`. Nous recommandons de définir un `external_id` pour chaque utilisateur afin de simplifier l'identification inter-systèmes.

### Quelle est la différence entre les balises et les événements personnalisés ?

Les [balises](./add-user-data-tags) sont des propriétés utilisateur persistantes (par ex., type d'abonnement, préférence de langue) utilisées pour la segmentation et la personnalisation. Les [Événements personnalisés](./custom-events) représentent des actions ponctuelles des utilisateurs (par ex., `completed_purchase`) utilisées pour déclencher des [Journeys](./journeys-overview). Les balises décrivent qui est un utilisateur ; les événements personnalisés décrivent ce qu'un utilisateur a fait.

***

<Columns cols={2}>
  <Card title="Utilisateurs" icon="user" href="./users">
    Comprenez le modèle utilisateur de OneSignal et comment les identités sont structurées.
  </Card>

  <Card title="Événements personnalisés" icon="bolt" href="./custom-events">
    Envoyez des événements depuis vos systèmes pour déclencher des Journeys et suivre le comportement des utilisateurs.
  </Card>

  <Card title="Personnalisation des messages" icon="wand-magic-sparkles" href="./message-personalization">
    Personnalisez les messages avec des balises, des données personnalisées et du contenu dynamique.
  </Card>

  <Card title="Journeys" icon="route" href="./journeys-overview">
    Créez des flux de travail de messagerie automatisés déclenchés par le comportement et les données des utilisateurs.
  </Card>
</Columns>
