Uma mensagem duplicada é a segunda e cada uma das mensagens seguintes com o mesmo texto enviadas para o mesmo número. Raramente acontece de propósito — é mais frequente resultar da repetição de uma chamada à API após um tempo limite excedido, de um duplo clique num botão ou de um número que aparece várias vezes na lista de destinatários. O BulkGate protege-o contra isso, mas as [rotas transacional e promocional](https://www.bulkgate.com/pt/centro-de-ajuda/informacoes-gerais/diferenca-sms-promocional-e-transacional/) tratam-no de forma diferente.

## Em que diferem as duas proteções

|                    | Mensagem transacional                        | Mensagem promocional                     |
|:-------------------|:----------------------------------------------|:------------------------------------------|
| O que vigia        | a mesma mensagem repetida ao longo do tempo  | destinatários duplicados numa lista     |
| Alcance            | entre pedidos, uma janela de 5 minutos       | apenas dentro de um único pedido        |
| Estado predefinido | desativada                                    | desativada                               |
| O que irá ver      | a mensagem falha com `duplicity_message`     | o destinatário desaparece discretamente da lista |

## Mensagens transacionais: a mesma mensagem repetida ao longo do tempo

Ativa-se com o parâmetro `duplicates_check` na API [transacional](https://www.bulkgate.com/pt/documentacao/advanced-api/advanced-transactional/2.0/) ou [transacional simples](https://www.bulkgate.com/pt/documentacao/simple-api/simple-transactional/). Aceita `on` e `off` (também entende `true`/`false`, `1`/`0`, `yes`/`no`), e o valor predefinido é `off`.

Quando está ativada, o BulkGate memoriza esta combinação para cada mensagem enviada:

| Parte da impressão digital | Nota                                                                          |
|:------------------------|:--------------------------------------------------------------------------------|
| Conta                   | aplica-se a todas as aplicações (`application_id`) de uma carteira           |
| Canal                   | o mesmo texto por SMS e por Viber são duas mensagens diferentes               |
| Número de telefone      | no formato internacional                                                       |
| Texto da mensagem       | tem de coincidir carácter a carácter — um nome, uma hora ou um código diferente tornam-na uma mensagem diferente |

Se chegar uma mensagem com a mesma impressão digital no prazo de cinco minutos, o BulkGate descarta-a e esta nunca chega ao operador.

> [!IMPORTANT]
> A janela de cinco minutos começa com a **primeira** mensagem e as tentativas descartadas não a prolongam. Quando expira, a mesma mensagem volta a passar.

No caso de uma mensagem em cascata, a impressão digital utiliza o texto principal da cascata, e não os textos dos canais individuais.

### O que irá ver na resposta

- **Uma única mensagem** — a API devolve o erro `duplicity_message` com o código `400`. Consulte a lista de [tipos de erro](https://www.bulkgate.com/pt/documentacao/administracao-da-api/tipos-de-erro-api/).
- **Uma mensagem transacional em massa** — a mensagem descartada recebe o estado `duplicity_message` e é contabilizada em `total.status.duplicity_message`. O resto do lote é enviado normalmente.

> [!CAUTION]
> Pense bem antes de utilizar a proteção para palavras-passe de utilização única. Se o código mudar a cada tentativa, a proteção nunca se aplica. Se enviar um texto fixo, descartará o segundo envio dentro de cinco minutos — e o utilizador que carregou em “Reenviar” não recebe qualquer mensagem.

## Mensagens promocionais: destinatários duplicados num lote

Na rota promocional, nada é memorizado entre pedidos. Antes do envio, o BulkGate limita-se a percorrer a lista de destinatários criada a partir de um único pedido e mantém a primeira ocorrência. O parâmetro `duplicates_check` na API [promocional](https://www.bulkgate.com/pt/documentacao/advanced-api/advanced-promotional/2.0/) ou [promocional simples](https://www.bulkgate.com/pt/documentacao/simple-api/simple-promotional/) tem três valores:

| Valor         | O que remove                                                 |
|:--------------|:-------------------------------------------------------------|
| `same_text`   | a mesma mensagem repetida para o mesmo número               |
| `same_number` | qualquer mensagem adicional para o mesmo número, mesmo com um texto diferente |
| não definido  | nada — a lista é enviada exatamente como a submeteu         |

> [!NOTE]
> A remoção é silenciosa — a resposta não contém nenhum estado nem nenhum contador de duplicados. O único vestígio é um número de destinatários inferior ao que submeteu. Se não restar ninguém após a remoção, o pedido falha com `no_recipients`.

Dois pedidos consecutivos não se veem um ao outro. Se enviar o mesmo destinatário em dois lotes, ambas as mensagens são enviadas.

## Campanhas no portal

Uma [campanha](https://www.bulkgate.com/pt/centro-de-ajuda/campanhas/visao-geral-das-campanhas/) segue a rota promocional e faz a verificação de duplicados por si própria — depois de criada a lista de destinatários, mostra quantos encontrou sob o título **Aviso de mensagem duplicada**:

- **Mesmo número e mesmo texto** — a campanha remove-os sempre, sem oferecer escolha.
- **Mesmo número, texto diferente** — aqui a decisão é sua. Assinale **Remover destinatários duplicados** e cada número recebe uma única mensagem; deixe-a por assinalar e todas são enviadas.

Numa campanha com teste A/B, os destinatários duplicados são sempre removidos; caso contrário, uma pessoa receberia várias variantes testadas e o resultado do teste não teria valor.

## A que deve estar atento

- **O mesmo parâmetro significa duas coisas diferentes.** Na rota transacional, `duplicates_check` é um interruptor que protege entre pedidos ao longo do tempo; na rota promocional, seleciona um método e aplica-se apenas dentro de um pedido.
- **Uma conta partilhada significa uma janela partilhada.** Várias integrações numa mesma carteira podem descartar as mensagens umas das outras se enviarem os mesmos textos para os mesmos números.
- **Uma mensagem descartada não é enviada**, pelo que não é entregue nem registada entre as mensagens enviadas.
- **Verifique as contagens na resposta.** A rota promocional não comunica remoções — se comparar as entregas com a sua lista de entrada, conte com a diferença.
