> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ararahq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Compliance e LGPD

> O que a LGPD e as políticas do WhatsApp exigem de quem opera WhatsApp Business em escala: opt-in, opt-out, dados pessoais, exportação e eliminação de dados de contato, e o que a Arara oferece por API para cada ponto.

Operar WhatsApp Business em escala no Brasil envolve dois conjuntos de regras que se sobrepõem:

1. **LGPD** (Lei 13.709/2018): tratamento de dados pessoais.
2. **Políticas do WhatsApp e da Meta**: termos da WhatsApp Business Platform, política comercial e política de mensagens.

Dependendo do seu setor, o Código de Defesa do Consumidor e leis estaduais sobre contato comercial também se aplicam.

Esta página resume o essencial e mostra o que a Arara oferece por API. Não substitui aconselhamento jurídico.

## Opt-in: o requisito mais quebrado

**Antes de mandar mensagem iniciada pela empresa**, o cliente precisa ter consentido em receber WhatsApp da sua marca. É exigência das políticas do WhatsApp.

| Situação | Conta como opt-in? |
| - | - |
| Cliente marcou "Aceito receber WhatsApp" no cadastro | Sim |
| Cliente iniciou a conversa a partir de um link de WhatsApp da sua marca | Sim, para responder a essa conversa |
| Cliente só informou o telefone no checkout, sem aceite específico | Não |
| Lista de leads comprada | Não |
| Cliente aceitou só e-mail | Não. O consentimento precisa citar o WhatsApp |

### Opt-in bem feito

```
Cadastro:
[ ] Aceito que a Marca X envie atualizações por WhatsApp para o
    número +55 (11) 99999-9999. Posso descadastrar a qualquer momento.

[Cadastrar]
```

O checkbox **não pode vir pré-marcado**. Tem que ser ação ativa do usuário.

## Opt-out

Quem pediu para sair não pode continuar recebendo mensagens da sua marca.

### Por palavra-chave

Quando o cliente responde, com a mensagem inteira sendo uma destas palavras, a Arara trata como pedido de saída, responde confirmando e marca o contato como `OPTED_OUT`:

`stop`, `sair`, `parar`, `pare`, `cancelar`, `remover`, `unsubscribe`, `não quero mais`, `nao quero mais`, `optout`, `opt-out`, `opt out`, `desinscrever`

Para voltar a receber, o cliente responde `start`, `voltar`, `inscrever`, `subscribe`, `optin` ou `opt-in`.

Envio pela API para um contato que saiu por palavra-chave é recusado com `422` e `error.code = "RECIPIENT_OPTED_OUT"`.

Mensagens com essas palavras não chegam como `message.received` no seu webhook. Palavras diferentes ("não me mande mais nada", "me tira dessa lista") chegam normalmente e precisam ser tratadas pela sua aplicação.

### Lista de opt-out da organização

Pedidos recebidos por outros canais (telefone, e-mail, formulário) vão para a lista de opt-out da organização:

```bash theme={null}
# Registrar
curl -X POST https://api.ararahq.com/v1/opt-outs \
  -H "Authorization: Bearer $ARARA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "phone": "+5511999999999", "reason": "Pedido por telefone" }'

# Consultar um número
curl https://api.ararahq.com/v1/opt-outs/%2B5511999999999 \
  -H "Authorization: Bearer $ARARA_API_KEY"

# Listar
curl https://api.ararahq.com/v1/opt-outs \
  -H "Authorization: Bearer $ARARA_API_KEY"

# Remover (cliente pediu para voltar)
curl -X DELETE https://api.ararahq.com/v1/opt-outs/%2B5511999999999 \
  -H "Authorization: Bearer $ARARA_API_KEY"
```

* `phone` em E.164 (`+5511999999999`). Na URL, codifique o `+` como `%2B`. Formato inválido responde `400 INVALID_PHONE`.
* `reason` é opcional, até 80 caracteres.
* A consulta responde `{ "phone", "channel": "WHATSAPP", "optedOut": true | false }`.
* O registro responde `201`; a remoção, `204`.

<Warning>
  Hoje a lista de opt-out é aplicada automaticamente na ingestão da [recuperação de receita](/recovery), que rejeita o evento com `OPTED_OUT`. Para envios por `POST /v1/messages` e campanhas, consulte `GET /v1/opt-outs/{phone}` antes de enviar ou filtre a sua base.
</Warning>

<Note>
  As rotas `/v1/opt-outs` exigem chave com permissão `ADMIN`.
</Note>

## Horário de envio

A Arara não bloqueia envio por horário. Leis estaduais e regras do seu setor podem limitar horário de contato comercial: confirme com o seu jurídico. Para disparar no horário certo, agende com `scheduled_at` em `POST /v1/messages` ou `scheduledAt` em `POST /v1/campaigns`.

## LGPD: dados pessoais

Número de telefone e histórico de conversa são dados pessoais. Para operar dentro da LGPD:

### 1. Base legal

Para cada uso, defina a base legal com o seu jurídico. Referências comuns:

| Uso | Base legal típica |
| - | - |
| Código de verificação (OTP) | Execução de contrato |
| Confirmação de pedido | Execução de contrato |
| Carrinho abandonado | Legítimo interesse ou consentimento |
| Campanha de marketing | Consentimento |
| Atendimento com Brain | Execução de contrato |

### 2. Política de privacidade

A sua política precisa citar o tratamento via WhatsApp e quem opera os dados. Exemplo de trecho:

```
Tratamento de dados via WhatsApp:

Utilizamos a infraestrutura da Arara (ARARAHQ TECNOLOGIA DA INFORMAÇÃO LTDA,
CNPJ 65.945.394/0001-04) como operadora de dados para envio e recebimento
de mensagens WhatsApp. Os dados tratados incluem:
- Número de telefone
- Histórico de conversa
- Status de entrega
- Cliques em links rastreados

Bases legais:
- Execução de contrato (mensagens transacionais)
- Consentimento (marketing)
- Legítimo interesse (recuperação de carrinho de cliente ativo)

Direitos do titular:
- Acesso, correção e eliminação pelo contato [contato@suaempresa.com]
```

### 3. Exportar e eliminar dados de um contato

Quando um titular exerce os direitos do art. 18 da LGPD, a Arara oferece as duas operações por API:

```bash theme={null}
# Exportar tudo o que a organização tem sobre o contato
curl https://api.ararahq.com/v1/contacts/%2B5511999999999/lgpd/export \
  -H "Authorization: Bearer $ARARA_API_KEY"

# Eliminar os dados do contato
curl -X DELETE "https://api.ararahq.com/v1/contacts/%2B5511999999999/lgpd?reason=pedido_titular" \
  -H "Authorization: Bearer $ARARA_API_KEY"
```

A **exportação** retorna o contato (nome, e-mail, telefone, atributos), a conversa e as mensagens trocadas (até 1.000):

```json theme={null}
{
  "phoneHash": "3f1c...",
  "phone": "+5511999999999",
  "exportedAt": "2026-09-15T14:00:00Z",
  "contact": { "id": "...", "name": "João", "email": null, "phone": "+5511999999999", "attributes": null, "createdAt": "..." },
  "conversations": [ { "id": "...", "status": "...", "lastInteractionAt": "...", "windowExpiresAt": "...", "leadStatus": "..." } ],
  "messages": [ { "id": "...", "status": "DELIVERED", "sender": "...", "receiver": "...", "body": "...", "processedContent": "...", "createdAt": "..." } ]
}
```

A **eliminação** apaga o contato, substitui o conteúdo das mensagens e da conversa por um marcador de redação, e registra o número na lista de opt-out:

```json theme={null}
{
  "phoneHash": "3f1c...",
  "deletedAt": "2026-09-15T14:05:00Z",
  "contactDeleted": true,
  "conversationsRedacted": 1,
  "messagesRedacted": 42,
  "optOutRegistered": true
}
```

`reason` é opcional. Telefone fora de E.164 responde `400 INVALID_PHONE`.

<Note>
  Exportação exige chave com permissão `ADMIN`. Eliminação exige chave com permissão de escrita em contatos ou `ADMIN`.
</Note>

### 4. Dados da sua própria conta

O titular da conta Arara pode exportar os próprios dados e pedir a exclusão da conta na tela de **Perfil** do dashboard.

## Políticas do WhatsApp: o que leva a restrição

Mesmo dentro da lei brasileira, a Meta pode restringir ou banir um número por:

* **Spam**: muitos bloqueios e denúncias dos destinatários.
* **Conteúdo proibido** pela política comercial do WhatsApp (por exemplo, drogas, armas, jogos de azar sem autorização, conteúdo adulto).
* **Phishing**: pedir senha, dados de cartão ou documentos por mensagem.
* **Se passar por outra empresa**.

Quando a Meta restringe, bane ou reativa um número, a Arara envia o evento `number.status` para o seu webhook. Ver [Números](/numbers).

A Arara também faz uma moderação de conteúdo na criação de template e recusa textos com termos de golpe, ameaça e conteúdo explícito. Ver [Criar e aprovar um template](/templates/policy).

## Recuperação de receita: atenção redobrada

Mensagens de recuperação ("seu Pix vai vencer") para quem iniciou o checkout costumam se apoiar em execução de contrato ou legítimo interesse. Mas:

* Enviar para quem nunca comprou (cross-sell) é marketing e pede consentimento.
* Quem está na lista de opt-out da organização é rejeitado na ingestão da recuperação de receita.

## Auditoria

Para provar o que foi enviado a um contato (pedido do titular, contestação, apelação na Meta):

* `GET /v1/contacts/{phone}/lgpd/export` traz o histórico de mensagens do contato.
* `GET /v1/messages/{internalId}` traz o status e o motivo de uma mensagem específica.

## Penalidades

| Origem | Penalidade |
| - | - |
| LGPD (ANPD) | Advertência, multa de até 2% do faturamento no Brasil limitada a R\$ 50 milhões por infração, bloqueio ou eliminação dos dados |
| Meta | Restrição ou banimento do número |
| Consumidor | Reclamação em órgãos de defesa do consumidor e ações judiciais |

## Checklist mínimo

Antes de ligar a operação:

* [ ] Política de privacidade citando WhatsApp e a Arara como operadora
* [ ] Checkbox de opt-in no cadastro/checkout, não pré-marcado
* [ ] Rotina que trata `message.received` com pedidos de saída fora das palavras-chave e registra em `/v1/opt-outs`
* [ ] Consulta à lista de opt-out antes de enviar pela API e campanhas
* [ ] Template MARKETING com botão de saída (`QUICK_REPLY`, por exemplo "Parar de receber")
* [ ] Processo documentado para exportação e eliminação de dados de contato
* [ ] Equipe treinada nas políticas do WhatsApp (nunca pedir senha ou dados de cartão)

## Próximos passos

<CardGroup cols={3}>
  <Card title="Criar e aprovar um template" icon="scale-balanced" href="/templates/policy">
    O que a Meta recusa no conteúdo.
  </Card>

  <Card title="Políticas de uso" icon="gavel" href="/concepts/usage-policies">
    Proteções automáticas e o que leva à suspensão.
  </Card>

  <Card title="Marketing no WhatsApp" icon="bullhorn" href="/marketing">
    Como operar marketing dentro das regras.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.