Sign inGet started

Preferencje

Preferencja to deklaracja dotycząca tego, czego dana osoba chce, zapisana dla jej identyfikatora na jednym kanale. Na WhatsApp identyfikatorem jest numer telefonu w formacie E.164. Jest to oddzielny wpis od blokady i oba są sprawdzane przed wysyłką.
Preferencje trafiają do Twojego obszaru roboczego na trzy sposoby: WhatsApp zgłasza jedną, odbiorca wpisuje słowo kluczowe albo sam ją rejestrujesz. To, co możesz z nią zrobić, zależy od tego, kto ją złożył.

Co zawiera preferencja

Deklaracja to albo revoked, rezygnacja, albo granted, zgoda.
Niesie też zakres, który decyduje, ile ruchu blokuje. non_transactional obejmuje wiadomości marketingowe i inne nieistotne, a wiadomości transakcyjne, takie jak potwierdzenia i kody weryfikacyjne, nadal docierają. all obejmuje każdą wiadomość. Karta Preferences pokazuje te wartości w kolumnie Covers jako Non-transactional i All messages.
Deklarację można zawęzić do jednego nadawcy za pomocą sender_scope, który na WhatsApp identyfikuje konto firmowe. Bez niego deklaracja obejmuje cały kanał w Twoim obszarze roboczym, łącznie z kontami podłączonymi w przyszłości.
Jedna osoba może mieć kilka wierszy na jednym kanale, na przykład rezygnację dla całego kanału obok rezygnacji dla konkretnego nadawcy. Najbardziej restrykcyjna deklaracja decyduje, czy wiadomość zostanie wysłana.

Preferencje rejestrowane przez Bird

Gdy Bird odbierze zdarzenie Meta informujące, że odbiorca zrezygnował z wiadomości marketingowych, rejestruje preferencję pochodzącą od odbiorcy dla tego konta WhatsApp Business Account. Preferencja obejmuje wiadomości nietransakcyjne. Nie tworzy blokady wszystkich wiadomości ani nie wypisuje osoby ze wszystkich kont w Twoim obszarze roboczym.
Odbiorca może wyrazić to samo, odpowiadając STOP. Ta preferencja jest przypisana do konta firmowego, do którego napisał, tak jak powyższa. Obejmuje wszystkie wiadomości, ponieważ wpisane STOP jest szersze niż marketingowa rezygnacja WhatsApp. Zobacz reguły słów kluczowych, aby dowiedzieć się, co rozpoznaje Bird i jak zmienić odpowiedź.
Późniejsze zdarzenie wznowienia aktualizuje preferencję tego konta. Blokady i inne obowiązujące preferencje nadal działają, więc samo zdarzenie wznowienia nie dowodzi, że wysyłka jest dozwolona.

Preferencje rejestrowane przez Ciebie

Otwórz stronę Suppressions i przejdź do karty Preferences. Zarejestrowanie preferencji z opcją Every business account in the workspace blokuje odbiór wiadomości WhatsApp z każdego konta, które posiadasz, łącznie z kontami podłączonymi w przyszłości.
Lista subskrybentów, którzy wyrazili zgodę lub z niej zrezygnowali, z zakresem każdego oświadczenia
Okno dialogowe Record opt-out na tej karcie rejestruje zakres obejmujący wszystkie wiadomości.
Okno dialogowe rejestrowania rezygnacji z wybranym zakresem obejmującym cały obszar roboczy
Aby zarejestrować preferencję blokującą tylko marketing, użyj strony Contacts > Preferences dla całego obszaru roboczego. Jej okno dialogowe oferuje opcję Marketing messages oprócz All messages.

Odczytywanie preferencji z kodu

GET /v1/preferences zwraca preferencje zapisane w obszarze roboczym, od najnowszych. Przekaż channel=whatsapp, aby zawęzić do tego kanału, i handle razem z nim, aby sprawdzić wszystko zarejestrowane dla jednego numeru przed wysyłką:
for await (const preference of bird.preferences.list({
  channel: "whatsapp",
  handle: "+15550001234",
})) {
  console.log(preference.status, preference.coverage, preference.sender_scope);
}
handle wymaga channel, ponieważ ten sam identyfikator może istnieć na więcej niż jednym kanale.

Rejestrowanie preferencji z kodu

POST /v1/preferences rejestruje jedną deklarację. Zapis działa jako upsert po kluczu złożonym z kanału, identyfikatora i zakresu nadawcy, więc nowa deklaracja zastępuje bieżącą dla danego klucza:
const result = await bird.preferences.create({
  channel: "whatsapp",
  handle: "+15550001234",
  status: "revoked",
  coverage: "non_transactional",
});
console.log(result.applied, result.preference?.id);
Deklaracje są uporządkowane według momentu złożenia, nie momentu dotarcia. API odrzuca deklarację z datą wcześniejszą niż bieżąca dla danego klucza i zwraca applied: false z deklaracją, która przetrwała. Odrzucenie pozostaje w historii klucza.
201 oznacza, że klucz nie miał wpisu i ta deklaracja go utworzyła. 200 zwraca przetrwały wpis klucza, niezależnie od tego, czy ta deklaracja go zastąpiła, powtórzyła, czy została odrzucona.

Co możesz cofnąć

Preferencję zarejestrowaną przez Ciebie możesz usunąć z karty Preferences lub za pomocą DELETE /v1/preferences/{preference_id}, gdy odbiorca poprosi o wznowienie wysyłki.
Deklarację złożoną przez samą osobę może cofnąć tylko ona. Wypisanie lub słowo kluczowe stop kończy się, gdy osoba ponownie wyrazi zgodę, a usunięcie zwraca 422. Aby wznowić wysyłkę za jej zgodą, zarejestruj deklarację granted z consented_at, momentem wyrażenia zgody. Zgoda obowiązuje, gdy ten moment jest późniejszy niż rezygnacja, którą odwraca, więc rejestruje zmianę decyzji zamiast kasować pierwotną deklarację.
Usunięcie jest porządkowane jak każda inna deklaracja, według czasu odbioru. Jeśli wpis zawiera deklarację złożoną po tym momencie, usunięcie jest odrzucane i zwracane z applied: false obok przetrwałego wpisu.

Gdy błąd dostarczenia dotrze pierwszy

Błąd dostarczenia od operatora może zgłosić rezygnację, zanim Bird zarejestruje odpowiadające zdarzenie. Zachowaj wybór odbiorcy i zbadaj historię preferencji oraz zdarzeń, zamiast traktować brak lokalnego wpisu jako zgodę na wysyłkę.

Następne kroki