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

# Centre de préférences

> Apprenez à implémenter un centre de préférences utilisateur personnalisé dans votre application ou site web en utilisant les API OneSignal pour gérer les sujets de notification, les fréquences, les canaux et les paramètres de confidentialité des données.

## Qu'est-ce qu'un centre de préférences ?

Un centre de préférences est une page sur votre application ou site web qui permet à vos utilisateurs de contrôler comment et quel type de messages ils reçoivent de vous. Pour plus de détails et de raisons de créer un centre de préférences, consultez [Un guide des centres de préférences utilisateur](https://onesignal.com/blog/a-guide-to-user-preference-centers).

Ce guide explique la configuration technique nécessaire pour inclure un centre de préférences utilisateur dans votre application ou site web en utilisant les API de OneSignal. Dans ce guide, nous discutons de comment :

* assigner des sujets, catégories et contrôles de fréquence avec les [balises de données](./add-user-data-tags)
* collecter de nouveaux canaux de communication (notifications push, email, SMS)
* désactiver les canaux de communication si l'utilisateur souhaite se désabonner
* gérer la conformité des données
* supprimer les données utilisateur

## Exigences

* SDK mobiles OneSignal version 5+ et/ou SDK Web 16+
* Définir l'[ID externe ou alias](./users)
* OneSignal ne fournit aucune API pour créer la mise en page du centre de préférences, uniquement les API pour GET, PATCH et DELETE les utilisateurs et abonnements
  * Si vous avez un site web et avez besoin d'un centre de préférences simple, essayez notre [invite de catégorie](./permission-requests)

### Lectures supplémentaires recommandées

* [Un guide des centres de préférences utilisateur](https://onesignal.com/blog/a-guide-to-user-preference-centers)
* [Données collectées par le SDK OneSignal](./data-collected-by-the-onesignal-sdk)
* [Gestion des données personnelles](./handling-personal-data)

## Configuration

Lorsque l'utilisateur arrive sur votre centre de préférences, utilisez l'API [Afficher l'utilisateur](/reference/view-user) pour récupérer les données OneSignal de l'utilisateur en fonction soit de l'`external_id` soit d'un alias personnalisé que vous définissez. Cela vous fournira les `properties` et `subscriptions` de l'utilisateur. Les données utiles incluent mais ne se limitent pas à :

* `properties` : les données utilisateur
  * `tags` - données personnalisées que vous envoyez à OneSignal
  * `language` - le code de langue pour l'utilisateur
* `subscriptions` : les canaux de messagerie et le statut d'abonnement
  * `id` - l'ID d'abonnement
  * `type` - `Email`, `SMS`, \*Push (`AndroidPush`, `iOSPush`, `ChromePush`, `SafariPush`, etc)
  * `enabled` - `true` signifie abonné, `false` signifie désabonné
  * `token` - le jeton push, l'adresse email ou le numéro de téléphone selon le type d'abonnement

<CodeGroup>
  ```json json theme={null}
  {
    "properties": {
      "tags": {
        "finance": "1",
        "tech": "1",
        "sports": "1",
        "breaking-news": "0",
        "entertainment": "0",
        "deals": "0",
        "newsletter-frequency": "weekly",
        "customer_status": "Enterprise",
        "event": "1693411710",
        "first_name": "Jon",
        "last_name": "F"
      },
      "language": "en"
    },
    "subscriptions": [
      {
        "id": "sub_id_1",
        "type": "Email",
        "token": "email@example.com",
        "enabled": true
      },
      {
        "id": "sub_id_2",
        "type": "SMS",
        "token": "1234567890",
        "enabled": true
      },
      {
        "id": "sub_id_3",
        "type": "ChromePush",
        "token": "some_token_here",
        "enabled": true
      }
    ]
  }
  ```
</CodeGroup>

Utilisez les données fournies pour remplir le centre de préférences selon vos besoins.

## Assigner des catégories et des contrôles de fréquence

Consultez [Balises de données](./add-user-data-tags). Les balises sont des paires clé-valeur utilisées pour segmenter et personnaliser. Utilisez des entiers encodés en chaîne ou des horodatages pour activer le filtrage par plage.

Les utilisateurs peuvent basculer des intérêts (par exemple, `sports: 1`) ou définir des balises de fréquence comme `newsletter-frequency: weekly`. Utilisez ces données dans les [segments](./segmentation) ou l'API [Créer une notification](/reference/create-message) avec des filtres.

Pour mettre à jour une balise, appelez l'API [Mettre à jour l'utilisateur](/reference/update-user).

## Collecter de nouveaux canaux de communication

Vérifiez `subscriptions` pour le type et le statut activé. Affichez `token` uniquement pour email/SMS, pas pour push.

<Warning>
  Si les informations de contact existent dans votre système mais pas encore dans OneSignal, utilisez votre propre
  base de données comme solution de secours pour les afficher.
</Warning>

### Mises à jour Email & SMS

Utilisez les méthodes SDK `addEmail`, `addSms` ou les API [Créer un abonnement](/reference/create-subscription) et [Mettre à jour l'abonnement](/reference/update-subscription). L'`id` d'abonnement est requis pour les mises à jour.

### Mises à jour Push

Si le push n'est pas activé, invitez l'utilisateur.

* Pour les applications mobiles : [Inviter pour les permissions push](./prompt-for-push-permissions)
* Pour le web : utilisez l'[invite de navigateur native](./permission-requests) ou l'[invite déroulante](./permission-requests)

## Désactiver les canaux de communication

Utilisez [Mettre à jour l'abonnement](/reference/update-subscription) pour définir `enabled` sur `false`. Basculez sur `true` pour se réabonner.

## Gérer la conformité des données

Empêchez l'initialisation du SDK par défaut et exigez le consentement de l'utilisateur pour initialiser. Consultez [Gestion des données personnelles](./handling-personal-data).

## Supprimer les données utilisateur

Utilisez l'API [Supprimer l'utilisateur](/reference/delete-user) pour supprimer complètement un utilisateur de OneSignal.

***
