# Préférences

Une préférence est une déclaration sur ce qu'une personne souhaite, enregistrée en regard de son identifiant sur un canal. Sur WhatsApp, l'identifiant est un numéro de téléphone au format E.164. C'est un enregistrement distinct d'une [suppression](/docs/guides/whatsapp/opt-outs/suppressions), et les deux sont vérifiés avant chaque envoi.

Les préférences parviennent à votre espace de travail de trois façons : WhatsApp en signale une, un destinataire tape un mot-clé, ou vous en enregistrez une vous-même. Ce que vous pouvez faire de chacune dépend de qui l'a déclarée.

## Ce que porte une préférence

Une déclaration est soit `revoked`, un opt-out, soit `granted`, un consentement.

Elle porte aussi une portée, qui détermine la quantité de trafic qu'elle bloque. `non_transactional` couvre les messages marketing et autres messages non essentiels, tandis que les messages transactionnels tels que les reçus et les codes de vérification continuent d'être acheminés. `all` couvre tous les messages. L'onglet **Preferences** les affiche dans sa colonne **Covers** sous les libellés **Non-transactional** et **All messages**.

Une déclaration peut se restreindre à un expéditeur avec `sender_scope`, qui sur WhatsApp identifie le compte professionnel. Sans cela, la déclaration couvre le canal dans tout votre espace de travail, y compris les comptes que vous connecterez ultérieurement.

Une personne peut avoir plusieurs lignes sur un même canal, par exemple un opt-out sur l'ensemble du canal à côté d'un opt-out limité à un expéditeur. La déclaration la plus restrictive détermine si un message est envoyé.

## Préférences que Bird enregistre pour vous

Lorsque Bird reçoit un événement Meta indiquant qu'un destinataire a arrêté les messages marketing, il enregistre une préférence d'origine destinataire pour ce compte professionnel WhatsApp. La préférence couvre les messages non transactionnels. Elle ne crée pas de suppression tous messages, et elle ne désinscrit pas la personne de tous les comptes de votre espace de travail.

Un destinataire peut déclarer la même chose en répondant `STOP`. Cette préférence est limitée au compte professionnel auquel il a écrit, comme celle ci-dessus. Elle couvre tous les messages, car un `STOP` tapé a une portée plus large que l'opt-out marketing de WhatsApp. Consultez les [règles de mots-clés](/docs/guides/whatsapp/opt-outs/keyword-rules) pour savoir ce que Bird reconnaît et comment modifier la réponse.

Un événement de reprise ultérieur met à jour la préférence de ce compte. Les suppressions et les autres préférences applicables continuent de s'appliquer : un événement de reprise seul ne prouve pas qu'un envoi est autorisé.

## Préférences que vous enregistrez

Ouvrez la page [**Suppressions**](https://bird.com/dashboard/w/whatsapp/suppressions) et passez à l'onglet **Preferences**. En enregistrer une avec **Every business account in the workspace** empêche l'adresse de recevoir des messages WhatsApp de tous les comptes que vous détenez, y compris ceux que vous connecterez ultérieurement.

![Une liste d'abonnés ayant accepté ou refusé les messages, avec la couverture de chaque déclaration](/images/docs/dashboard-whatsapp-preferences.png)

La boîte de dialogue **Record opt-out** de cet onglet enregistre une portée tous messages.

![Une boîte de dialogue pour enregistrer un refus, avec la portée à l'échelle de l'espace de travail sélectionnée](/images/docs/dashboard-whatsapp-preference-new.png)

Pour en enregistrer une qui bloque uniquement le marketing, utilisez la page **Contacts** > **Preferences** à l'échelle de l'espace de travail, dont la boîte de dialogue propose **Marketing messages** ainsi que **All messages**.

## Lire les préférences depuis le code

`GET /v1/preferences` renvoie les préférences enregistrées de l'espace de travail, les plus récentes en premier. Passez `channel=whatsapp` pour restreindre à ce canal, et `handle` avec pour consulter tout ce qui est enregistré pour un numéro avant de lui envoyer un message :

**TypeScript**

```typescript
for await (const preference of bird.preferences.list({
  channel: "whatsapp",
  handle: "+15550001234",
})) {
  console.log(preference.status, preference.coverage, preference.sender_scope);
}
```

Examples: [TypeScript](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.ts.md) · [Python](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.py.md) · [Go](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.go.md) · [PHP](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.php.md) · [CLI](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.cli.md) · [cURL](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.curl.md)

`handle` exige `channel`, car le même identifiant peut exister sur plus d'un canal.

## Enregistrer une préférence depuis le code

`POST /v1/preferences` enregistre une déclaration. L'écriture est un upsert indexé sur le canal, l'identifiant et la portée d'expéditeur : une nouvelle déclaration remplace celle en cours pour cette clé :

**TypeScript**

```typescript
const result = await bird.preferences.create({
  channel: "whatsapp",
  handle: "+15550001234",
  status: "revoked",
  coverage: "non_transactional",
});
console.log(result.applied, result.preference?.id);
```

Examples: [TypeScript](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.ts.md) · [Python](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.py.md) · [Go](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.go.md) · [PHP](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.php.md) · [CLI](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.cli.md) · [cURL](/fr-fr/documentation/guides/whatsapp/opt-outs/preferences.curl.md)

Les déclarations sont ordonnées par la date à laquelle elles ont été faites, et non par la date de leur arrivée. API refuse une déclaration antérieure à celle en cours pour la clé et renvoie `applied: false` avec la déclaration qui a prévalu. Le refus reste dans l'historique de la clé.

Un `201` signifie que la clé n'avait aucun enregistrement et que cette déclaration en a créé un. Un `200` renvoie l'enregistrement en vigueur de la clé, que cette déclaration l'ait remplacé, répété ou ait été refusée.

## Ce que vous pouvez annuler

Une préférence que vous avez enregistrée, vous pouvez la supprimer depuis l'onglet **Preferences** ou avec `DELETE /v1/preferences/{preference_id}` une fois que le destinataire vous demande de reprendre les envois.

Une déclaration faite par la personne elle-même lui appartient. Un désabonnement ou un mot-clé stop prend fin lorsqu'elle se réinscrit, et une suppression renvoie `422`. Pour reprendre l'envoi de messages avec son consentement, enregistrez une déclaration `granted` portant `consented_at`, le moment où la personne a consenti. L'autorisation s'applique lorsque ce moment est postérieur à l'opt-out qu'elle annule : elle enregistre le changement d'avis plutôt que d'effacer la déclaration d'origine.

Une suppression est ordonnée comme toute autre déclaration, en utilisant l'heure de réception. Si l'enregistrement porte une déclaration faite après ce moment, la suppression est refusée et renvoyée avec `applied: false` accompagnée de l'enregistrement en vigueur.

## Quand une erreur de livraison arrive en premier

Une erreur de livraison du fournisseur peut signaler un stop avant que Bird n'ait enregistré un événement correspondant. Respectez le choix du destinataire et examinez l'historique des préférences et des événements plutôt que de traiter l'absence d'enregistrement local comme une autorisation d'envoi.

## Étapes suivantes

- [Suppressions](/docs/guides/whatsapp/opt-outs/suppressions) : les adresses que votre espace de travail bloque directement.
- [Règles de mots-clés](/docs/guides/whatsapp/opt-outs/keyword-rules) : les mots qui enregistrent une préférence sur vos numéros.
- [Événements WhatsApp](/docs/guides/whatsapp/events) : le payload `whatsapp.rejected` produit par un envoi bloqué.

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/whatsapp-api) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
