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. 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 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}. 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 e eventos de linha do tempo da mensagem 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. 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 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: inspecione uma mensagem e seu histórico de entrega.
- Eventos de SMS: consuma webhooks de entrega e falha.
- Métricas de SMS: analise os resultados agregados de falha.
- Erros de API de SMS: interprete erros retornados por uma solicitação API.
Recursos relacionados
Continue com a documentação, guias e exemplos sobre este tópico.