Sign inGet started

Supresje

Supresja to adres, do którego Twój obszar roboczy nie będzie wysyłać wiadomości, zapisany z określonym zakresem. Bird blokuje wysyłkę na zablokowany adres, zanim dotrze ona do WhatsApp.
Otwórz stronę Suppressions, aby zarządzać listą, lub użyj API poniżej. Wpisy zgłoszone przez odbiorców znajdują się na karcie Preferences tej samej strony i podlegają innym zasadom.
Lista czterech zablokowanych numerów, każdy przypisany do wszystkich kont biznesowych lub do jednego

Blokowanie konta biznesowego

Na karcie Suppressions utwórz supresję dla numeru telefonu i wybierz konto biznesowe, którego dotyczy. Bird blokuje wiadomości z tego konta, a Twoje pozostałe konta nadal mogą wysyłać wiadomości na ten numer. Kolumna Business account na liście wskazuje konto, do którego supresja jest przypisana, lub wyświetla All accounts, jeśli obejmuje cały obszar roboczy.
POST /v1/whatsapp/suppressions zapisuje to samo z poziomu kodu. waba to konto, do którego chcesz przypisać zakres; pomiń je, aby zablokować adres w całym obszarze roboczym, w tym na kontach, które podłączysz później:
// Omit waba to block the address for the whole workspace, whichever account
// sends. With it, your other accounts keep reaching them, and the same
// address for two accounts is two records.
const suppression = await bird.whatsapp.suppressions.add({
  address: "+15550001234",
  waba: "102290129340398",
});
console.log(suppression.id, suppression.applies_to);
Okno dialogowe blokowania numeru z zakresem ustawionym na pojedyncze konto biznesowe

Jeden zakres, jeden wpis

Supresja ma jeden zakres, więc ten sam adres zablokowany dla dwóch kont to dwa wpisy, nie jeden. Aby objąć cały obszar roboczy, wykonaj jedno wywołanie bez waba.
Dodanie adresu, który jest już zablokowany w danym zakresie, zwraca 200 z istniejącym wpisem zamiast tworzyć drugi. Nowy wpis zwraca 201.
Supresja jest identyfikowana po zapisanym adresie. Odbiorca wskazany numerem telefonu i ten sam odbiorca wskazany identyfikatorem użytkownika w zakresie konta biznesowego to dwa różne klucze, więc zablokowanie jednego nie blokuje drugiego. Zapisz oba, jeśli kontaktujesz się z tą samą osobą na oba sposoby.

Odczytywanie listy supresji

GET /v1/whatsapp/suppressions zwraca obowiązujące supresje, od najnowszych, jako stronę kursorową. address filtruje po prefiksie bez rozróżniania wielkości liter: częściowa wartość dopasowuje każdy adres pod nią, a pełna wartość dopasowuje dokładnie ten adres. reason zawęża do kategorii, na przykład manual dla tych dodanych przez Ciebie:
// address is a prefix, so a partial value matches every address under it.
const suppressions = await bird.whatsapp.suppressions.list({ address: "+1555" });
for (const suppression of suppressions.data ?? []) {
  console.log(suppression.address, suppression.waba ?? "every account");
}
Lista zawiera wpisy obowiązujące; zakończone wpisy są pomijane. Brak adresu nie dowodzi, że obszar roboczy nigdy go nie blokował; wpis mógł zostać zakończony. Odczytaj go po ID, aby to potwierdzić.

Odczytywanie pojedynczego wpisu

GET /v1/whatsapp/suppressions/{suppression_id} zwraca zarówno wpis zakończony, jak i obowiązujący, podając kiedy został zakończony i co go zakończyło:
// Resolves a record that has already ended, which the list leaves out.
const suppression = await bird.whatsapp.suppressions.get("was_01krdgeqcxet5s7t44vh8rt9mg");
console.log(suppression.reason, suppression.ended_at ?? "still in force");

Kończenie supresji

Akcja Delete w wierszu supresji kończy supresję, a nie usuwa ją. Blokada przestaje obowiązywać. Wpis pozostaje czytelny i pokazuje, kiedy został zakończony i kto go zakończył. DELETE /v1/whatsapp/suppressions/{suppression_id} robi to samo i zwraca 204:
// Only a manual suppression can be ended; a recipient's own opt-out is
// theirs to reverse. The record is kept and still reads back by id.
await bird.whatsapp.suppressions.remove("was_01krdgeqcxet5s7t44vh8rt9mg");
Supresja dodana przez Ciebie ma powód manual i można ją zakończyć. Rezygnacja zgłoszona przez odbiorcę może być cofnięta tylko przez niego, a próba zwraca 422. Ponowne wywołanie na supresji, która już się zakończyła, kończy się sukcesem bez żadnych zmian, a ID nieistniejące w obszarze roboczym zwraca 404.
Zakończenie supresji wymaga jej ID, więc najpierw wyszukaj je na liście.

Obserwowanie nowych supresji

whatsapp_suppression.created jest wywoływane, gdy supresja zostanie zapisana, dzięki czemu Twój system widzi nowe blokady bez odpytywania. Jego payload zawiera:
  • suppression_id, identyfikator wpisu.
  • address, zablokowany numer w formacie E.164.
  • waba, konto, do którego blokada jest ograniczona, lub null, gdy obejmuje cały obszar roboczy.
  • reason i workspace_id.
Żadne zdarzenie nie jest wywoływane, gdy supresja się kończy, więc przed użyciem posiadanej kopii ponownie odczytaj listę. Pełny payload znajdziesz w zdarzeniach WhatsApp.

Następne kroki