Etiquetas de tráfego A2P SMS: como criar uma taxonomia útil para analisar qualidade, custos e incidentes
Uma taxonomia de etiquetas A2P SMS permite separar a intenção de envio dos resultados observados, comparar segmentos de forma consistente e proteger os dados pessoais na operação.

Porque os estados de entrega não são suficientes
Os estados de entrega são uma parte relevante da evidência operacional, mas não descrevem, por si só, o contexto de um envio. Em SMS, os relatórios de estado, as tentativas de transferência, determinadas causas de erro e as repetições relacionadas com a disponibilidade do terminal fazem parte de um ciclo técnico com vários resultados possíveis.
Um mesmo estado agregado pode ter implicações operacionais diferentes consoante o caso de utilização, a criticidade, o país de destino, o tipo de remetente, a política de encaminhamento aplicada ou a versão do conteúdo. Sem estas dimensões, uma variação na aceitação, no DLR ou na latência pode ser visível, mas difícil de atribuir e investigar.
Uma taxonomia de etiquetas A2P SMS fornece esse contexto de forma estruturada. O seu objetivo não é substituir os eventos técnicos nem os identificadores de correlação, mas permitir segmentá-los com categorias estáveis, comparáveis e auditáveis.
- Separar tráfego OTP, alertas transacionais e campanhas com consentimento.
- Distinguir mensagens críticas de mensagens não críticas para priorizar a resposta operacional.
- Comparar resultados por país ou território, política lógica de encaminhamento e versão de modelo.
- Evitar que uma quebra agregada ou uma melhoria aparente ocultem comportamentos divergentes entre segmentos.

Princípio de conceção: identidade técnica, classificação operacional e dados pessoais são camadas distintas
O primeiro princípio é separar três categorias que frequentemente se misturam: a identidade técnica para correlacionar eventos, a classificação operacional para analisar o tráfego e os dados pessoais ou conteúdos sensíveis que devem ser minimizados.
A arquitetura SMS utiliza identificadores e relatórios para associar mensagens e eventos técnicos. Estes identificadores são úteis para reconstruir uma sequência específica, mas não devem tornar-se a taxonomia analítica. Da mesma forma, as categorias de negócio não fazem necessariamente parte dos identificadores de rede e devem ser geridas como metadados próprios da plataforma.
A classificação operacional deve responder a perguntas repetíveis: o que se pretendia enviar, segundo que política se decidiu enviá-lo e em que segmento deve ser comparado. Os dados pessoais, pelo contrário, não devem ser introduzidos em etiquetas por conveniência analítica.
- Identidade técnica: identificador interno da mensagem, identificador de correlação e referências de eventos protegidas.
- Classificação prévia: caso de utilização, criticidade, país de destino, tipo de remetente, canal de origem, campanha, rota lógica e versão de modelo.
- Resultado observado: aceitação, estado ou DLR, causa de falha, marcas temporais e latência calculada.
- Dados a evitar: MSISDN completo, texto do SMS, OTP, nome de pessoa, morada e identificadores de conta reconhecíveis.

Campos mínimos de uma taxonomia operacional
O conjunto exato depende do modelo operacional, mas uma taxonomia mínima deve oferecer capacidade de segmentação sem criar uma combinatória impossível de gerir. Cada campo deve ter uma finalidade de análise concreta, uma fonte definida e valores controlados.
É aconselhável preservar as etiquetas de classificação junto do registo do envio e armazenar os resultados observados como eventos separados ou como campos de estado com marcas temporais. Esta separação evita que uma observação posterior reescreva a intenção ou decisão original.
Um esquema prático pode utilizar nomes técnicos estáveis, de preferência independentes do idioma dos painéis. Por exemplo, use_case ou logical_route podem manter-se como chaves de sistema, enquanto as respetivas descrições são apresentadas traduzidas aos utilizadores internos.
- use_case: finalidade operacional, como otp, transactional_alert ou consented_marketing.
- criticality: prioridade de negócio ou operacional, por exemplo critical, high, standard ou low.
- destination_country: país ou território derivado da estrutura de numeração internacional; não o número completo.
- sender_type: classificação do remetente utilizada pela operação, como alphanumeric, long_number, short_code ou outro valor aplicável ao ambiente.
- origin_channel: sistema ou canal que originou o envio, por exemplo api, smpp, portal ou system_event.
- campaign_class: classe de agrupamento operacional, como lifecycle, service_notice ou consented_promotion; não um nome livre com informações de clientes.
- logical_route: perfil, política ou decisão lógica de encaminhamento sob controlo da operação.
- provider_logical: referência interna ao fornecedor ou capacidade lógica, sem afirmar um trajeto físico não observado nem verificável. Não utilize um nome comercial se não for necessário para a análise autorizada. Além disso, pode ser utilizado um identificador interno estável e protegido por controlos de acesso adequados à finalidade operacional correspondente. O valor deve representar a entidade ou capacidade selecionada logicamente, e não uma garantia sobre o trajeto real que a mensagem seguirá em todos os segmentos de rede. O seu âmbito analítico deve ser documentado e mantido estável enquanto estiver em vigor. Se o fornecedor ou a configuração subjacente mudar, tal deve ser tratado como uma alteração de configuração com data efetiva e rastreabilidade suficiente. Assim, evita-se que séries históricas misturem decisões diferentes sob o mesmo valor de etiqueta e preserva-se a capacidade de comparar resultados de forma reproduzível ao longo do tempo operacional. A documentação deve indicar a finalidade e as limitações de cada código interno utilizado pela organização. Apenas as equipas que necessitem de operar, comprar capacidade, investigar incidentes ou cumprir obrigações aplicáveis devem aceder à correspondência entre o código e a entidade real, de acordo com os controlos internos estabelecidos. A etiqueta não deve conter credenciais, condições comerciais, informações contratuais ou dados pessoais de contactos. Também não deve ser utilizada para inferir propriedade de infraestrutura de rede, qualidade garantida ou cobertura efetiva num destino específico. É uma referência analítica da decisão lógica e deve ser interpretada juntamente com os eventos observados, as marcas temporais e o restante contexto do envio para formular conclusões prudentes. As alterações devem ficar registadas com responsáveis claros e evidência documental disponível para revisões autorizadas. Isto facilita auditorias e reduz discrepâncias entre equipas que consultam os mesmos dados ao longo de cada período de análise e operação interna documentada. A definição deve ser revista antes de alargar a sua utilização a novos sistemas.
Distinguir decisões prévias de resultados observados
Uma etiqueta de decisão prévia descreve o contexto disponível antes de transmitir a mensagem. Por exemplo, use_case=otp, criticality=critical, logical_route=priority_policy e template_version=otp_v3 indicam como o envio foi classificado ou tratado quando foi criado.
Um resultado observado é gerado posteriormente: acceptance_state, DLR ou estado reportado, failure_class e timestamps. Não é aconselhável registar um resultado como se fosse uma característica permanente da mensagem, nem utilizar uma etiqueta prévia para presumir um resultado posterior.
Esta distinção é decisiva para a investigação. Se um segmento apresentar alterações nos estados de entrega, deve ser possível verificar se mudaram a política de rota, a versão de modelo, a mistura de destinos ou a composição do tráfego antes de atribuir a alteração a uma única causa.
- Antes do envio: use_case, criticality, destination_country, sender_type, origin_channel, campaign_class, logical_route, provider_logical, template_version e taxonomy_version.
- Depois do envio: acceptance_state, delivery_state ou DLR, failure_class, event_timestamp e timestamps necessários para calcular a latência.
- Derivado analiticamente: janelas de latência, rácios por segmento e classificação de resultados incertos.
- Não reescrever a classificação original com conhecimento adquirido após o envio; adicionar eventos ou campos observados com a sua própria data.
Valores controlados, nomes estáveis e hierarquias úteis
Uma etiqueta só é útil se o mesmo valor significar o mesmo ao longo do tempo. Valores livres, abreviaturas inconsistentes e alterações de definição sem histórico reduzem a capacidade de comparar períodos e enfraquecem a evidência durante um incidente.
Defina um dicionário para cada campo: finalidade, responsável, valores permitidos, significado, fonte, data de criação, data de retirada e regras de transição. A nomenclatura deve ser legível por máquinas e pessoas, mas não depender de nomes temporários, campanhas específicas ou acordos comerciais em mudança.
As hierarquias ajudam a manter o detalhe sem sacrificar a comparabilidade. Por exemplo, use_case pode ter uma família de primeiro nível e um subtipo controlado. Se o detalhe não alterar uma decisão analítica, não justifica uma nova dimensão.
- Utilize valores num formato consistente, como minúsculas e separadores estáveis: transactional_alert ou consented_marketing.
- Evite sinónimos paralelos: não misture otp, one_time_password e verification_code para o mesmo significado.
- Mantenha um valor unknown ou unclassified apenas quando existir uma política clara para o investigar e reduzir.
- Adicione novos valores através de um pedido documentado; não reutilize um valor retirado com outro significado.
- Versione o esquema com taxonomy_version para interpretar corretamente os dados históricos.
Exemplo de esquema para OTP, alertas e campanhas com consentimento
O exemplo seguinte mostra uma classificação orientada para a operação. Não pretende definir categorias universais nem substitui requisitos regulamentares, contratuais ou de consentimento aplicáveis a cada organização e destino.
O essencial é que as etiquetas reflitam factos de configuração ou classificação conhecidos pelo remetente, e não pressupostos sobre o destinatário ou afirmações não verificadas sobre a rede.
- OTP: use_case=otp; criticality=critical; campaign_class=authentication; template_version=otp_v3; origin_channel=api.
- Alerta transacional: use_case=transactional_alert; criticality=high; campaign_class=service_notice; template_version=alert_v2; origin_channel=system_event.
- Campanha com consentimento: use_case=marketing; criticality=standard; campaign_class=consented_promotion; template_version=promo_v5; origin_channel=portal ou api.
- Em todos os casos: destination_country com valor normalizado, sender_type aplicável, logical_route segundo a política escolhida, provider_logical segundo referência interna e taxonomy_version de acordo com o esquema em vigor.
Como analisar aceitação, DLR, latência e resultados incertos
As etiquetas permitem segmentar as métricas, mas não alteram o significado da evidência. Uma aceitação pode indicar que uma plataforma ou segmento admitiu um pedido; um DLR ou estado de entrega representa um relatório dentro do ciclo técnico de transferência SMS. Nenhum deve ser apresentado, isoladamente, como prova de leitura humana, conversão ou ação do destinatário.
Para a análise, compare sempre segmentos homogéneos. Uma queda de DLR em OTP de criticidade crítica para um país específico e sob a mesma rota lógica é mais investigável do que uma média global que mistura campanhas, destinos, tipos de remetente e políticas diferentes.
A latência requer uma definição explícita. Documente que marcas temporais são subtraídas, em que fuso horário são normalizadas, que eventos são elegíveis e como são tratadas as mensagens que não têm um evento posterior dentro da janela definida. Os resultados sem DLR ou com informação incompleta devem manter-se como incertos, não ser automaticamente reclassificados como entrega ou falha definitiva.
- Analise acceptance_state por use_case, destination_country, logical_route e sender_type.
- Analise DLR ou delivery_state por coortes com o mesmo modelo, versão e período.
- Calcule a latência apenas quando as marcas temporais necessárias forem comparáveis e estiverem presentes.
- Separe failure_class dos estados desconhecidos ou pendentes.
- Conserve denominadores, janela de observação e versão da taxonomia em cada relatório.
Segmentação de incidentes com evidência reproduzível
Uma taxonomia bem concebida transforma um incidente genérico numa sequência de perguntas verificáveis. Em vez de perguntar apenas porque os resultados diminuíram, a equipa pode isolar quando começou a alteração, que populações foram afetadas e que configurações partilhavam.
A segmentação não prova causalidade por si só. Contudo, reduz o espaço de investigação, permite testar hipóteses com eventos, alterações documentadas e dados de configuração, e ajuda a evitar atribuições baseadas em médias demasiado amplas.
A evidência deve preservar o período de análise, os filtros aplicados, a versão do esquema, as definições métricas e a fonte de cada evento. Dessa forma, outra equipa pode repetir a consulta e avaliar a mesma conclusão.
- A alteração afeta apenas um país ou território, ou vários?
- Concentra-se num caso de utilização, numa criticidade ou numa classe de campanha?
- Coincide com uma alteração de logical_route, provider_logical ou template_version?
- É uma variação de aceitação, de DLR, de latência ou da proporção de resultados incertos?
- A composição do tráfego mudou e alterou a comparação com o período anterior?
- Existe uma causa de falha predominante documentada nos eventos disponíveis?
Perguntas frequentes
O que é uma taxonomia de etiquetas A2P SMS?
É um conjunto documentado de campos e valores controlados que classifica os envios A2P SMS para os analisar de forma consistente. Pode incluir caso de utilização, criticidade, país de destino, canal de origem, rota lógica e versão de modelo, entre outros dados operacionais.
Um DLR positivo prova que o destinatário leu o SMS?
Não. Um DLR é um relatório ou estado dentro da arquitetura de transferência SMS. Não prova leitura humana, interação, conversão nem qualquer outro resultado comercial posterior.
Devo incluir o número de telefone nas etiquetas?
Não como etiqueta analítica. O MSISDN completo é um dado pessoal e não deve ser duplicado em etiquetas, nomes de campanha ou registos com acesso amplo. Quando for necessária correlação, utilize identificadores internos protegidos e controlos de acesso adequados à finalidade.
Qual é a diferença entre uma rota lógica e uma rota física?
A rota lógica representa uma decisão sob controlo da operação, como um perfil ou política de seleção. Não deve ser utilizada para afirmar um trajeto físico específico nem um operador final quando essa informação não é observada ou não pode ser verificada.
Como evitar que a taxonomia se deteriore ao longo do tempo?
Atribua um responsável, mantenha um dicionário de dados, controle os valores permitidos, versione o esquema, registe as alterações e retire valores obsoletos sem os reutilizar com outro significado.
Quantas etiquetas deve ter um envio?
As suficientes para responder a decisões operacionais relevantes, mas não tantas que fragmentem o tráfego em segmentos sem volume ou criem uma combinação impossível de manter. Comece pelos campos que explicam diferenças de utilização, prioridade, destino, origem, decisão lógica e versão de conteúdo.
Fontes consultadas
- 3GPP TS 23.040 — realización técnica del SMS (Release 16)ETSI / 3GPP
- Portal de especificaciones 3GPP — TS 23.0403GPP
- Recomendación E.164 — plan internacional de numeración públicaInternational Telecommunication Union
- NIST SP 800-92 — Guide to Computer Security Log ManagementNational Institute of Standards and Technology
- NIST SP 800-92 Rev. 1 — Cybersecurity Log Management Planning Guide (borrador público)National Institute of Standards and Technology
- Data minimisationInformation Commissioner's Office
- System and network security — evaluación de la información registrada en logsInformation Commissioner's Office