Sign inGet started

Regole per le keyword

Bird include il catalogo di keyword, quindi un destinatario che risponde STOP a uno dei tuoi numeri abilitati alla ricezione viene escluso senza alcuna configurazione da parte tua. START annulla l'esclusione. Una tua regola personalizzata sovrascrive il comportamento predefinito di Bird per l'ambito che copre.
Questa pagina illustra cosa riconosce Bird, come viene confrontato un messaggio in entrata e come modificare il testo o aggiungere keyword. La pagina Keywords è l'equivalente nella dashboard.
Un elenco di regole per parole chiave, con le regole dello spazio di lavoro sopra le regole predefinite che sostituiscono

Cosa riconosce Bird per impostazione predefinita

Nove parole registrano un opt-out:
stop, stop all, stopall, unsubscribe, cancel, end, quit, revoke, optout
Due lo annullano: start e unstop.
Il confronto avviene sull'intero messaggio, non su una sottostringa. Poiché cancel e end sono keyword, questa distinzione è importante: "cancel my 3pm delivery" è un messaggio normale, non una revoca del consenso. Maiuscole/minuscole, accenti, spazi ripetuti e punteggiatura finale vengono ignorati, quindi Stop! e STOP corrispondono entrambi. La punteggiatura prima o all'interno della parola non viene ignorata, quindi #stop non corrisponde.

Dove le keyword non vengono confrontate

Una keyword all'interno di un messaggio di gruppo viene ignorata, quindi un partecipante non può fare opt-out rispondendo lì. Gestisci l'opt-out dichiarato da un membro del gruppo nella tua logica di invio.

Quando viene registrata la preferenza

La classificazione avviene in parallelo all'evento whatsapp.received, non prima. Un'integrazione in ascolto su quell'evento può quindi vedere arrivare un STOP prima che la preferenza che registra esista. Se il tuo handler reagisce al messaggio in entrata inviando qualcosa, rileggi i record del destinatario invece di dare per scontato l'ordine degli eventi.

Vedere cosa si applica

GET /v1/whatsapp/keyword-rules descrive come vengono gestite le risposte ai tuoi numeri. Senza filtri, restituisce il catalogo di Bird insieme a tutte le regole che hai creato. Restringi i risultati con country, waba, operation o scope:
  • scope=system restituisce il catalogo di Bird, inclusa la regola predefinita che una tua regola sovrascrive.
  • scope=workspace restituisce solo le tue regole.
const rules = await bird.whatsapp.keywordRules.list({ operation: "opt_out" });
for (const rule of rules.data ?? []) {
  console.log(rule.scope, rule.effective_keywords);
}
Le regole vengono restituite dalla più specifica, che è l'ordine in cui un messaggio in entrata viene confrontato con esse. Ciascuna include effective_keywords: l'insieme di Bird per quell'operazione e paese, più tutto ciò che hai aggiunto.
Per una tua regola senza country, effective_keywords mostra l'insieme globale di Bird, perché la regola non ha un paese e quello del mittente è sconosciuto finché non arriva un messaggio. Quella regola viene confrontata con l'insieme di Bird per il paese del mittente, che può essere più ampio. Imposta un country sulla tua regola per vedere esattamente con cosa corrispondono quei mittenti.
country è il paese del mittente, ricavato dal suo numero di telefono e non dal numero a cui ha scritto. È il segnale di paese che WhatsApp invia. Un mittente identificato da un user ID con ambito business non ha un paese associato, quindi un messaggio da esso salta le regole per paese e corrisponde a una regola globale.

Modificare la risposta

Le risposte predefinite di Bird sono corrette ma generiche. Per rispondere a tuo nome, crea una regola:
const rule = await bird.whatsapp.keywordRules.create({
  operation: "opt_out",
  country: "US", // the SENDER's country, from their own number
  reply: "You're off the list. ACME Courier won't message you again.",
});
// effective_keywords is Bird's set plus any of your own.
console.log(rule.id, rule.effective_keywords);
La tua regola sostituisce la risposta di Bird per quell'ambito e mantiene le keyword di Bird. I tuoi keywords sono aggiunte, non una sostituzione, quindi una keyword che Bird introduce in seguito inizia a corrispondere senza modifiche da parte tua.
Per non inviare nulla pur registrando l'opt-out, ometti reply quando crei la regola. Per silenziare una regola esistente, imposta reply a null in un body JSON nell'aggiornamento qui sotto; un flag CLI non può contenere null.
Una finestra di dialogo per aggiungere una regola per parole chiave, con campi per parole chiave aggiuntive e una risposta

Aggiungere keyword personalizzate

// Omitting keywords leaves the set alone; an empty array clears your additions
// back to Bird's. reply: null switches the auto-reply off and still records
// the opt-out.
const rule = await bird.whatsapp.keywordRules.update("wkr_01m2kj8x4te9p0rr7e5w2n1abc", {
  keywords: ["no more texts", "remove me"],
});
console.log(rule.effective_keywords);
Omettere keywords lascia invariate le tue aggiunte. Inviare un array vuoto le riporta all'insieme di Bird.

Ambito delle regole e duplicati

Una regola può restringersi a un singolo WhatsApp Business Account con waba, a un singolo paese del mittente con country, a entrambi o a nessuno dei due. Puoi avere una sola regola per combinazione di operazione, paese e account. Una seconda scrittura per la stessa combinazione restituisce un errore di duplicato.
Bird rifiuta una regola che associa stop a opt_in, sia che la parola provenga dal catalogo di Bird sia da un'altra delle tue regole, in modo che una parola di opt-out non possa essere usata per concedere il consenso.

Eliminare una regola

Eliminare la tua regola trasferisce quell'ambito alla regola successiva nell'ordine di corrispondenza, che non è sempre una delle tue. L'ordine è:
  1. La tua regola per un account e un paese.
  2. La tua regola per l'account.
  3. La tua regola per il paese.
  4. La regola di Bird per il paese del mittente.
  5. La tua regola globale.
  6. La regola globale di Bird.
Eliminare la tua regola per un paese trasferisce quindi l'ambito alla regola di Bird per quel paese prima della tua regola globale:
// The next rule in the ladder answers the scope, which is another rule of yours if you hold a less specific one; STOP never stops working.
await bird.whatsapp.keywordRules.delete("wkr_01m2kj8x4te9p0rr7e5w2n1abc");
Eliminare una regola non interrompe il funzionamento di STOP. Riporta il testo e l'insieme di keyword alla regola successiva in quell'ordine.

Prossimi passi

  • Preferenze: i record creati da una keyword e quali puoi annullare.
  • Soppressioni: gli indirizzi che il tuo spazio di lavoro blocca direttamente.
  • Opt-out e keyword per SMS: lo stesso meccanismo sull'altro canale, che include anche keyword di help e campagna.