# 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**](https://bird.com/dashboard/w/whatsapp/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](/docs/guides/whatsapp/opt-outs/preferences).

![Lista czterech zablokowanych numerów, każdy przypisany do wszystkich kont biznesowych lub do jednego](/images/docs/dashboard-whatsapp-suppressions.png)

## 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:

**TypeScript**

```typescript
// 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);
```

Examples: [TypeScript](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.curl.md)

![Okno dialogowe blokowania numeru z zakresem ustawionym na pojedyncze konto biznesowe](/images/docs/dashboard-whatsapp-suppression-new.png)

## 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](/docs/guides/whatsapp/business-scoped-user-ids) 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:

**TypeScript**

```typescript
// 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");
}
```

Examples: [TypeScript](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.curl.md)

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:

**TypeScript**

```typescript
// 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");
```

Examples: [TypeScript](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.curl.md)

## 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`:

**TypeScript**

```typescript
// 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");
```

Examples: [TypeScript](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pl-pl/dokumentacja/guides/whatsapp/opt-outs/suppressions.curl.md)

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](/docs/guides/whatsapp/events).

## Następne kroki

- [Preferencje](/docs/guides/whatsapp/opt-outs/preferences): wpisy zgłoszone przez odbiorców i informacja, które z nich możesz cofnąć.
- [Zdarzenia WhatsApp](/docs/guides/whatsapp/events): payload `whatsapp.rejected` generowany przez zablokowaną wysyłkę.
- [Wysyłanie wiadomości WhatsApp](/docs/guides/whatsapp/sending-whatsapp): API wysyłki i jej asynchroniczny model dostarczania.

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/whatsapp-api) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
