# Supressões

Uma supressão é um endereço para o qual seu espaço de trabalho não enviará mensagens, registrado com um escopo. Bird bloqueia um envio para um endereço suprimido antes que ele chegue a WhatsApp.

Abra a página [**Suppressions**](https://bird.com/dashboard/w/whatsapp/suppressions) para trabalhar com a lista, ou use a API abaixo. Registros declarados pelo destinatário ficam na aba **Preferences** da mesma página e seguem [regras diferentes](/docs/guides/whatsapp/opt-outs/preferences).

![Uma lista de quatro números bloqueados, cada um com escopo para todas as contas comerciais ou para uma só](/images/docs/dashboard-whatsapp-suppressions.png)

## Suprimindo uma conta de negócio

Na aba **Suppressions**, crie uma supressão para um número de telefone e escolha a conta de negócio à qual ela se aplica. Bird bloqueia mensagens dessa conta, e suas outras contas ainda podem enviar mensagens para o número. A coluna **Business account** da lista mostra a conta à qual a supressão está vinculada, ou exibe **All accounts** quando ela cobre todo o seu espaço de trabalho.

`POST /v1/whatsapp/suppressions` registra a mesma coisa via código. `waba` é a conta à qual vincular o escopo; omita para bloquear o endereço em todo o seu espaço de trabalho, incluindo contas que você conectar depois:

**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](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.curl.md)

![Uma caixa de diálogo para bloquear um número, com o escopo definido para uma única conta comercial](/images/docs/dashboard-whatsapp-suppression-new.png)

## Um escopo, um registro

Uma supressão carrega um escopo, então o mesmo endereço bloqueado para duas contas são dois registros, não um. Para cobrir todo o espaço de trabalho, faça uma chamada sem `waba`.

Adicionar um endereço que já está suprimido para esse escopo retorna `200` com o registro existente em vez de criar um segundo. Um novo registro retorna `201`.

Uma supressão é indexada pelo endereço que você registra. Um destinatário alcançado por número de telefone e o mesmo destinatário alcançado por um [ID de usuário com escopo de negócio](/docs/guides/whatsapp/business-scoped-user-ids) são duas chaves, então suprimir um não suprime o outro. Registre ambos se você endereça a mesma pessoa de qualquer forma.

## Lendo sua lista de supressões

`GET /v1/whatsapp/suppressions` retorna as supressões em vigor, da mais recente para a mais antiga, como uma página de cursor. `address` filtra por prefixo e ignora maiúsculas e minúsculas: um valor parcial corresponde a todos os endereços abaixo dele, e um valor completo corresponde apenas àquele endereço. `reason` restringe a uma categoria, como `manual` para as que você adicionou:

**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](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.curl.md)

A lista traz o que está em vigor, e registros encerrados ficam de fora. Um endereço ausente não prova que o espaço de trabalho nunca o suprimiu; o registro pode ter sido encerrado. Leia-o pelo ID para confirmar.

## Lendo um registro

`GET /v1/whatsapp/suppressions/{suppression_id}` resolve tanto um registro encerrado quanto um em vigor, informando quando ele foi encerrado e o que o encerrou:

**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](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.curl.md)

## Encerrando uma supressão

A ação **Delete** em uma linha de supressão encerra a supressão em vez de removê-la. O bloqueio para. O registro continua legível e mostra quando foi encerrado e quem o encerrou. `DELETE /v1/whatsapp/suppressions/{suppression_id}` faz o mesmo e retorna `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](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.ts.md) · [Python](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.py.md) · [Go](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.go.md) · [PHP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.php.md) · [CLI](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.cli.md) · [MCP](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.mcp.md) · [cURL](/pt-br/documentacao/guides/whatsapp/opt-outs/suppressions.curl.md)

Uma supressão que você adicionou carrega o motivo `manual` e pode ser encerrada. O opt-out do próprio destinatário cabe a ele reverter, e a tentativa retorna `422`. Chamar isso novamente em uma supressão já encerrada tem sucesso e não altera nada, e um ID que o espaço de trabalho não possui retorna `404`.

Encerrar uma supressão exige o ID dela, então consulte a lista primeiro.

## Monitorando novas supressões

`whatsapp_suppression.created` dispara quando uma supressão é registrada, para que seu próprio sistema veja novos bloqueios sem fazer polling. O payload carrega:

- `suppression_id`, o identificador do registro.
- `address`, o número suprimido no formato E.164.
- `waba`, a conta à qual o bloqueio está limitado, ou null quando cobre todo o espaço de trabalho.
- `reason` e `workspace_id`.

Nenhum evento dispara quando uma supressão é encerrada, então releia a lista antes de confiar em uma cópia que você possui. Consulte [eventos de WhatsApp](/docs/guides/whatsapp/events) para o payload completo.

## Próximos passos

- [Preferências](/docs/guides/whatsapp/opt-outs/preferences): os registros que os destinatários declaram, e quais deles você pode reverter.
- [Eventos de WhatsApp](/docs/guides/whatsapp/events): o payload de `whatsapp.rejected` que um envio bloqueado produz.
- [Enviando mensagens WhatsApp](/docs/guides/whatsapp/sending-whatsapp): a API de envio e seu modelo de entrega assíncrono.

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