Sign inGet started

Preferenze

Una preferenza è una dichiarazione su ciò che una persona desidera, registrata sul suo handle in un canale. Su WhatsApp l'handle è un numero di telefono in formato E.164. È un record separato da una soppressione, ed entrambi vengono verificati prima di un invio.
Le preferenze raggiungono il tuo spazio di lavoro in tre modi: WhatsApp ne segnala una, un destinatario digita una keyword, oppure ne registri una tu stesso. Cosa puoi fare con ciascuna dipende da chi l'ha dichiarata.

Cosa contiene una preferenza

Una dichiarazione è revoked, un opt-out, oppure granted, un consenso.
Contiene anche una copertura, che determina quanto traffico blocca. non_transactional copre i messaggi di marketing e altri messaggi non essenziali, mentre i messaggi transazionali come ricevute e codici di verifica continuano a essere recapitati. all copre ogni messaggio. La scheda Preferences li mostra nella colonna Covers come Non-transactional e All messages.
Una dichiarazione può restringersi a un singolo mittente con sender_scope, che su WhatsApp identifica l'account business. Senza di esso, la dichiarazione copre il canale nell'intero spazio di lavoro, compresi gli account che colleghi in seguito.
Una persona può avere più righe su un canale, ad esempio un opt-out a livello di canale accanto a uno con ambito mittente. La dichiarazione più restrittiva decide se un messaggio viene inviato.

Preferenze che Bird registra per te

Quando Bird riceve un evento Meta che indica che un destinatario ha interrotto i messaggi di marketing, registra una preferenza di origine destinatario per quell'account business WhatsApp. La preferenza copre i messaggi non transazionali. Non crea una soppressione per tutti i messaggi e non esclude la persona da ogni account nel tuo spazio di lavoro.
Un destinatario può dichiarare la stessa cosa rispondendo STOP. Quella preferenza ha come ambito l'account business a cui ha scritto, come quella precedente. Copre tutti i messaggi, perché un STOP digitato è più ampio dell'opt-out marketing di WhatsApp. Consulta le regole keyword per sapere cosa riconosce Bird e come modificare la risposta.
Un evento di ripresa successivo aggiorna la preferenza di quell'account. Le soppressioni e le altre preferenze applicabili restano in vigore, quindi un evento di ripresa da solo non dimostra che un invio sia consentito.

Preferenze che registri tu

Apri la pagina Suppressions e passa alla scheda Preferences. Registrandone una con Every business account in the workspace impedisci all'indirizzo di ricevere messaggi WhatsApp da ogni account che possiedi, compresi quelli che colleghi in seguito.
Un elenco di iscritti che hanno scelto di ricevere o non ricevere messaggi, con la copertura di ogni dichiarazione
Il dialog Record opt-out in quella scheda registra una copertura per tutti i messaggi.
Una finestra di dialogo per registrare un opt-out, con l'ambito a livello di spazio di lavoro selezionato
Per registrarne una che blocchi solo il marketing, usa la pagina Contacts > Preferences a livello di spazio di lavoro, il cui dialog offre Marketing messages oltre a All messages.

Leggere le preferenze da codice

GET /v1/preferences restituisce le preferenze registrate dello spazio di lavoro, dalla più recente alla meno recente. Passa channel=whatsapp per restringere a questo canale e handle insieme per consultare tutto ciò che è registrato per un numero prima di inviargli un messaggio:
for await (const preference of bird.preferences.list({
  channel: "whatsapp",
  handle: "+15550001234",
})) {
  console.log(preference.status, preference.coverage, preference.sender_scope);
}
handle richiede channel, poiché lo stesso handle può esistere su più di un canale.

Registrare una preferenza da codice

POST /v1/preferences registra una dichiarazione. La scrittura è un upsert con chiave su canale, handle e ambito mittente, quindi una nuova dichiarazione sostituisce quella corrente della chiave:
const result = await bird.preferences.create({
  channel: "whatsapp",
  handle: "+15550001234",
  status: "revoked",
  coverage: "non_transactional",
});
console.log(result.applied, result.preference?.id);
Le dichiarazioni sono ordinate in base a quando sono state fatte, non a quando arrivano. API rifiuta una dichiarazione con data anteriore a quella corrente della chiave e restituisce applied: false con la dichiarazione rimasta in vigore. Il rifiuto resta nella cronologia della chiave.
Un 201 significa che la chiave non aveva alcun record e questa dichiarazione ne ha creato uno. Un 200 restituisce il record rimasto in vigore della chiave, sia che questa dichiarazione lo abbia sostituito, ripetuto o sia stata rifiutata.

Cosa puoi annullare

Una preferenza che hai registrato tu puoi rimuoverla dalla scheda Preferences o con DELETE /v1/preferences/{preference_id} quando il destinatario ti chiede di riprendere l'invio.
Una dichiarazione fatta dalla persona stessa spetta a lei annullarla. Un'annullamento dell'iscrizione o una keyword di stop termina quando la persona effettua di nuovo l'opt-in, e un'eliminazione restituisce 422. Per riprendere l'invio con il suo consenso, registra una dichiarazione granted con consented_at, il momento in cui ha acconsentito. Il consenso si applica quando quel momento è successivo all'opt-out che annulla, registrando così il cambio di decisione anziché cancellare la dichiarazione originale.
Un'eliminazione è ordinata come qualsiasi altra dichiarazione, in base al momento in cui viene ricevuta. Se il record contiene una dichiarazione fatta dopo quel momento, l'eliminazione viene rifiutata e restituita con applied: false insieme al record rimasto in vigore.

Quando un errore di recapito arriva prima

Un errore di recapito del provider può segnalare uno stop prima che Bird abbia registrato un evento corrispondente. Rispetta la scelta del destinatario e indaga la cronologia delle preferenze e degli eventi anziché trattare l'assenza di un record locale come permesso di inviare.

Passaggi successivi

  • Soppressioni: gli indirizzi che il tuo spazio di lavoro blocca direttamente.
  • Regole keyword: le parole che registrano una preferenza sui tuoi numeri.
  • Eventi WhatsApp: il payload whatsapp.rejected prodotto da un invio bloccato.