Sign inGet Started

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, 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 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 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
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
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 :
for await (const preference of bird.preferences.list({
  channel: "whatsapp",
  handle: "+15550001234",
})) {
  console.log(preference.status, preference.coverage, preference.sender_scope);
}
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é :
const result = await bird.preferences.create({
  channel: "whatsapp",
  handle: "+15550001234",
  status: "revoked",
  coverage: "non_transactional",
});
console.log(result.applied, result.preference?.id);
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