---
title: "Erros de entrega SMS"
description: "Consulte motivos de falha SMS e códigos numéricos do provedor, incluindo bloqueios de proteção contra fraude, nos detalhes da mensagem, confirmações de entrega e webhooks."
canonical: "https://bird.com/pt-br/documentacao/guides/sms/delivery-errors"
---

# Erros de entrega SMS

Uma mensagem SMS malsucedida tem um status de entrega e um erro que explica o resultado. Use esta referência para interpretar o motivo de falha e o código numérico do provedor reportados com a mensagem.

Erros de solicitação, como um payload de envio inválido, usam o [catálogo de erros API](/docs/api/errors). Os códigos nesta página descrevem mensagens que foram aceitas e depois falharam ou foram rejeitadas.

## Lendo o erro

Abra uma mensagem no [log SMS](/docs/guides/sms/sms-log) e selecione **Detalhes**. **Erro** mostra a descrição e o motivo de falha normalizado. **Código de erro da operadora** mostra o código numérico do provedor quando fornecido.

Pela API, leia [`GET /v1/sms/messages/{message_id}`](/docs/api/reference/get-sms-message). O `last_error` contém:

| Campo                | Significado                                                          |
| -------------------- | -------------------------------------------------------------------- |
| `code`               | Motivo de falha normalizado de Bird, como `unreachable` ou `unknown` |
| `description`        | A explicação reportada em palavras                                   |
| `carrier_error_code` | O código bruto do provedor, quando fornecido                         |
| `occurred_at`        | Quando a falha ocorreu                                               |

[Eventos de webhook de falha](/docs/guides/sms/events#failure-events) e [eventos de linha do tempo da mensagem](/docs/api/reference/list-sms-message-events) contêm os mesmos campos em `error`.

O nome de campo `carrier_error_code` também abrange códigos emitidos pelo provedor de envio da Bird, incluindo bloqueios de proteção contra fraude. Um código ausente significa que o provedor não forneceu nenhum ou que a mensagem foi recusada antes do envio.

## Motivos de falha normalizados

Estes são os motivos de falha definidos pelo [API da mensagem](/docs/api/reference/get-sms-message). Os recibos do provedor podem conter um código numérico mais específico do que o motivo normalizado reflete. Por exemplo, uma mensagem com `code: unknown` ainda pode conter um `carrier_error_code` reconhecido.

| Motivo                        | Significado                                                                                     |
| ----------------------------- | ----------------------------------------------------------------------------------------------- |
| `invalid_destination`         | O número não está atribuído ou é inválido                                                       |
| `unreachable`                 | O aparelho está desligado ou fora de cobertura                                                  |
| `blocked_by_carrier`          | A operadora destinatária filtrou a mensagem                                                     |
| `blocked_by_fraud_protection` | A proteção contra fraude Bird bloqueou suspeita de inflação artificial de tráfego (SMS pumping) |
| `blocked_by_recipient`        | O dispositivo do destinatário bloqueou o remetente                                              |
| `landline_unreachable`        | O telefone fixo não aceita SMS                                                                  |
| `content_rejected`            | A operadora rejeitou o conteúdo                                                                 |
| `sender_unregistered`         | O remetente não possui o registro exigido                                                       |
| `recipient_opted_out`         | O destinatário está em uma lista de supressão                                                   |
| `provider_unavailable`        | O provedor ou a rede estava indisponível                                                        |
| `insufficient_balance`        | A carteira do espaço de trabalho não pôde custear o envio                                       |
| `unknown`                     | A falha não pôde ser classificada                                                               |

Este é um conjunto aberto: aceite valores desconhecidos e mantenha a descrição e o código bruto para investigação. Uma causa temporária ainda encerra esta tentativa de envio da mensagem; ela não garante reenvio automático.

## Códigos de erro do provedor

Consulte a string numérica retornada em `carrier_error_code`. Esses códigos pertencem ao provedor de envio SMS da Bird; um provedor diferente pode atribuir outros significados aos mesmos números.

| Código | Significado                                     |
| ------ | ----------------------------------------------- |
| `0`    | Sem erro                                        |
| `1`    | Assinante desconhecido                          |
| `2`    | Estação base desconhecida                       |
| `3`    | Central móvel desconhecida                      |
| `5`    | Assinante não identificado                      |
| `7`    | Aparelho não consegue conectar                  |
| `8`    | Roaming proibido                                |
| `9`    | Falha na autenticação do assinante              |
| `10`   | Portadora SMS não provisionada                  |
| `11`   | Serviço SMS não provisionado                    |
| `12`   | Aparelho na lista negra                         |
| `13`   | Serviço SMS bloqueado                           |
| `21`   | SMS não suportado                               |
| `26`   | Falha na transferência de rede                  |
| `27`   | Assinante indisponível                          |
| `28`   | Fora de cobertura                               |
| `29`   | Aparelho desligado                              |
| `30`   | Falha na central móvel                          |
| `31`   | Assinante ocupado                               |
| `32`   | Falha na entrega SMS                            |
| `33`   | Armazenamento de mensagens pendentes cheio      |
| `34`   | Falha no sistema de rede                        |
| `35`   | Dados obrigatórios ausentes                     |
| `36`   | Valor inesperado em campo da mensagem           |
| `39`   | Número de roteamento em roaming indisponível    |
| `40`   | Memória de rede esgotada                        |
| `71`   | Alfabeto não suportado                          |
| `72`   | USSD ocupado                                    |
| `100`  | Saldo de envio insuficiente                     |
| `101`  | Saldo do assinante insuficiente                 |
| `103`  | Assinante cancelou a inscrição                  |
| `104`  | Remetente não registrado                        |
| `105`  | Conteúdo não registrado                         |
| `106`  | Volume de campanha excedido                     |
| `107`  | Throughput de campanha excedido                 |
| `110`  | Operadora filtrou a mensagem                    |
| `130`  | SurgeGuard detectou traffic pumping             |
| `131`  | SurgeGuard bloqueou destino suspeito de pumping |

O código `0` é omitido de `carrier_error_code` nas leituras de mensagens e eventos de Bird. Um código desconhecido deve permanecer disponível nos seus registros quando você entrar em contato com o suporte.

## Bloqueios de proteção contra fraude

SurgeGuard é a proteção contra fraude de SMS da Bird.

Mensagens bloqueadas pela proteção contra fraude têm o motivo de falha `blocked_by_fraud_protection` e a descrição "Blocked by fraud protection: suspected SMS pumping." O status de entrega permanece `failed`, `rejected` ou `expired`, conforme o relatório do provedor. O mesmo motivo e descrição aparecem nos detalhes da mensagem, nos eventos de linha do tempo e nos webhooks de falha. O código bruto do provedor permanece disponível em `carrier_error_code` quando fornecido.

No log de SMS, filtre **Failure reason** por **Blocked by fraud protection** para encontrar essas mensagens.

Registros mais antigos ainda podem exibir `unknown` e `generic_delivery_failure`. Esses rótulos sozinhos não identificam um bloqueio de proteção contra fraude. Consulte o `carrier_error_code` correspondente em [Códigos de erro do provedor](#códigos-de-erro-do-provedor) para identificar a causa. Se o código estiver ausente ou não for reconhecido, entre em contato com o suporte informando o ID do espaço de trabalho, o ID da mensagem, o timestamp e o código do provedor, se fornecido.

Ao investigar uma OTP bloqueada, correlacione o SMS com a conta ou solicitação de verificação que o originou. Evite reenviar automaticamente ou trocar de rota para contornar o bloqueio. Se você suspeitar que uma solicitação legítima foi bloqueada, entre em contato com o suporte informando o ID do espaço de trabalho, o ID da mensagem, o timestamp e o código do provedor.

## Próximos passos

- [Log de SMS](/docs/guides/sms/sms-log): inspecione uma mensagem e seu histórico de entrega.
- [Eventos de SMS](/docs/guides/sms/events): consuma webhooks de entrega e falha.
- [Métricas de SMS](/docs/guides/sms/tracking-and-metrics): analise os resultados agregados de falha.
- [Erros de API de SMS](/docs/api/errors/E12xxx): interprete erros retornados por uma solicitação API.

## Related resources

- [Sending your first SMS](/learn/sms/sending-your-first-sms) (video)
- [What does SMS mean?](/explained/sms/what-does-sms-mean) (answer)
- [SMS](/sms-api) (product)
- [Build your first integration](/learn/paths/integration) (course)

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