Integridade do conteúdo SMS A2P: guia para detectar alterações
Uma proposta operacional para comparar o conteúdo em cada etapa do envio, documentar diferenças e separar o que os sistemas indicam daquilo que pode ser confirmado no dispositivo destinatário.

Aceitação, entrega e integridade são sinais distintos
Como estrutura de investigação, convém separar três perguntas: o sistema aceitou a solicitação? Que status de entrega a rota comunicou? E que conteúdo realmente apareceu no dispositivo? Cada resposta exige evidências diferentes.
A aceitação de uma solicitação pode documentar que uma etapa recebeu ou processou um pedido, conforme os próprios registros. Um relatório de status de entrega (DLR) é um sinal comunicado por uma etapa; com as evidências disponíveis aqui, não é possível estabelecer se ele confirma o texto exibido no terminal. Ao relatar o incidente, mantenha explícita essa incerteza.
Não atribua uma alteração à aplicação, ao gateway ou a uma etapa posterior apenas porque existe um status de entrega. Como proposta de investigação, compare os registros disponíveis e, quando possível, uma captura de tela ou transcrição obtida do dispositivo destinatário.
- Como prática de registro, mantenha o identificador da solicitação e a resposta da etapa que a recebeu.
- Anote o status comunicado, sua origem e o horário; não o apresente como verificação do texto visível.
- Se documentar evidências no destino, indique como foram obtidas e se correspondem à mensagem e ao dispositivo investigados.

Rastreie o conteúdo do modelo até o destino
Como proposta operacional, desenhe o percurso real da mensagem na sua integração: modelo e dados inseridos, cliente que prepara a solicitação, API ou conexão SMPP, gateway, provedor ou rota e evidências disponíveis no destino. Não presuma que todas as implementações têm as mesmas etapas nem que é possível inspecionar todas elas.
Em cada ponto sob seu controle, você pode registrar uma referência à versão do modelo e uma representação do texto enviado à etapa seguinte. Se uma etapa externa não expuser o conteúdo processado, anote isso como um limite de observabilidade, em vez de fazer inferências.
Você pode definir uma correlação entre os identificadores internos e os retornados por cada sistema. Se fizer isso, restrinja o acesso a essa correlação e evite incluir números completos, códigos de uso único ou texto pessoal em registros operacionais que não precisem desses dados.
- Como exercício de rastreabilidade, marque os limites de responsabilidade e visibilidade de cada componente.
- Considere manter registros de data e hora e identificadores para correlacionar eventos.
- Registre, se disponível, a versão do modelo e as alterações relevantes na integração.
- Documente os dados que não são recebidos do provedor ou que não podem ser verificados no terminal.

Registre referências e compare as observações com cautela
Como proposta de instrumentação, você poderia registrar uma impressão criptográfica do conteúdo exato nos pontos que controla, junto com uma referência ao evento. Uma impressão permite comparar representações definidas para o cálculo; não permite reconstruir a mensagem nem comprova o que o terminal recebeu. Se optar por esse método, especifique de forma consistente quais bytes ou qual representação são incluídos.
Você também poderia registrar o comprimento, o alfabeto ou modo de codificação e o número de segmentos informado por cada componente, se esses dados estiverem disponíveis. Mantenha separados os valores calculados localmente daqueles comunicados por um gateway ou provedor. As evidências disponíveis não permitem verificar aqui como esses valores são calculados.
A normalização pode ocultar diferenças. Como recomendação para uma investigação, mantenha — quando for seguro e necessário — uma representação exata e outra normalizada para comparação. Documente as transformações aplicadas; não remova automaticamente espaços, quebras de linha, acentos ou caracteres invisíveis.
- Se calcular uma impressão, anote o algoritmo e a definição exata do conteúdo comparado.
- Separe os valores calculados localmente daqueles declarados por outro sistema.
- Avalie os limites de retenção e acesso; considere usar referências ou impressões quando não for imprescindível guardar o texto integral.
- Evite registrar OTPs ou dados pessoais em texto não protegido, salvo quando houver uma necessidade justificada e controles adequados.
Investigue possíveis substituições e diferenças com casos controlados
Se duas etapas exibirem textos diferentes, como proposta de análise, compare primeiro a representação exata e depois uma versão normalizada que facilite a leitura. Identifique o primeiro ponto em que a diferença aparece; se não houver registro de uma etapa, delimite o intervalo possível e não afirme que a alteração ocorreu ali.
Você pode preparar testes sintéticos com conteúdo autorizado e controlado: texto básico, caracteres acentuados, sinais, quebras de linha e caracteres fora do conjunto habitual do modelo. Altere uma variável por vez e mantenha o resultado obtido em cada etapa observável. Isso pode ajudar a comparar diferenças visíveis com os dados de codificação ou segmentação informados, sem presumir como são gerados.
Não deduza o comportamento de uma rota com base em um único teste. Repita o caso com novos identificadores e documente as condições. Um resultado sintético descreve apenas o que foi observado naquela configuração e naquele momento; não garante o resultado de todo o tráfego de produção.
- Use mensagens de teste inofensivas; não inclua dados reais de clientes nem OTPs ativos.
- Compare caractere por caractere e registre a transformação observada, não a que você presume.
- Anote os dados de alfabeto, comprimento e segmentos conforme informados por cada etapa, se estiverem disponíveis.
- Se o conteúdo for observado apenas no telefone, registre essa evidência separadamente dos registros de outros sistemas.
Delimite o trecho com testes repetíveis
Como proposta de diagnóstico, elabore uma matriz que varie de forma ordenada a rota, o destino, o remetente e o tipo de conteúdo, sempre que essas opções estiverem disponíveis e autorizadas. Mantenha constantes as demais condições e registre o elemento que mudou entre as execuções.
Comece reproduzindo o caso no ambiente de integração com os registros disponíveis. Depois, se necessário, faça um teste controlado para um dispositivo ao qual você tenha acesso legítimo. Compare o conteúdo preparado pela aplicação com o que aparece no terminal e com as evidências disponíveis de cada sistema intermediário.
Uma observação em um telefone não deve ser generalizada para todos os destinatários. Da mesma forma, um teste que não reproduz o problema não descarta uma diferença intermitente ou dependente de uma condição que não foi controlada. Expresse exatamente o alcance de cada conclusão.
- Use uma referência única para cada execução e mantenha a configuração do teste.
- Altere uma dimensão por vez para facilitar a comparação.
- Separe testes sintéticos de mensagens reais e evite enviar testes a destinatários sem autorização.
- Registre os resultados negativos e as condições em que foram obtidos.
Escale com evidências e comunique a incerteza
Como critério operacional proposto, escale o caso quando houver uma diferença reproduzível, um trecho específico sem observabilidade que impeça o avanço ou status contraditórios entre sistemas. Inclua identificadores correlacionáveis, horários, rota e destino em formato apropriado, versão do modelo, conteúdo de teste não sensível e registros que possam ser compartilhados com segurança.
Peça à outra parte que confirme qual conteúdo consegue observar e em que ponto do fluxo. Se ela tiver apenas um DLR ou um identificador de entrega, solicite que diferencie esse sinal de uma verificação do conteúdo no terminal. Não presuma que uma parte consegue inspecionar informações que seu sistema não expõe.
Ao comunicar o resultado, classifique cada afirmação como observada, inferida ou pendente de confirmação. Por exemplo, o registro da aplicação pode respaldar qual sequência de caracteres essa etapa registrou; afirmar o que apareceu no terminal exige evidências do dispositivo. Atribuir uma substituição a uma etapa requer evidências que permitam localizar a alteração nela.
- Inclua uma sequência de eventos com horários e identificadores, evitando dados sensíveis desnecessários.
- Indique quais evidências estão faltando e qual parte poderia fornecê-las.
- Proponha o próximo passo verificável em vez de atribuir uma causa sem provas.
- Combine com o cliente como proteger capturas de tela, números e conteúdo pessoal.
Lista de verificação para evitar regressões
Antes de publicar alterações em um modelo, uma integração ou uma condição de rota, você pode manter casos de teste representativos e comparar o resultado nos pontos em que houver visibilidade. Verifique o conteúdo e os valores de comprimento, codificação e segmentos informados, se disponíveis; não presuma que um único campo confirma o texto final.
Após a alteração, registre a versão implantada e execute testes autorizados. Se a observação terminar em um sistema intermediário, informe esse limite; se for verificada em um dispositivo, deixe claro qual dispositivo e execução foram verificados.
A BulkSMSMarket está desenvolvendo uma plataforma empresarial para descobrir, comparar, comprar, vender e gerenciar capacidade de SMS A2P. O site público descreve descoberta e gestão de rotas, conectividade HTTP e SMPP, acesso a provedores e consultas HLR. Essas capacidades não verificam, por si só, o texto exibido em um terminal.
- Guarde uma referência da versão do modelo e da integração.
- Compare, quando pertinente, o conteúdo exato e o normalizado; explique as transformações aplicadas.
- Separe os valores de codificação, comprimento e segmentos conforme a etapa e a fonte que os informa.
- Confirme quais evidências vêm de sistemas e quais vêm de um dispositivo destinatário.
- Documente limites, resultados e alterações antes de generalizar uma conclusão para outros destinos.
Perguntas frequentes
Um DLR confirma que a mensagem chegou com o texto esperado?
As evidências disponíveis para este artigo não permitem estabelecer isso. Trate o DLR como um status comunicado por uma etapa, não como prova do texto exibido no dispositivo. Para confirmar o texto visível, seriam necessárias evidências do terminal vinculadas àquela execução.
O que convém comparar ao investigar uma alteração?
Como proposta de investigação, compare a representação exata do conteúdo em cada ponto observável e, como apoio, uma versão normalizada com as transformações documentadas. Registre separadamente os dados de codificação, comprimento e segmentos informados por cada componente, se estiverem disponíveis.
Uma impressão do conteúdo comprova o que o destinatário recebeu?
Não. Uma impressão pode servir para comparar representações definidas nos sistemas em que foi calculada. Ela não revela o texto original nem comprova, por si só, o que foi exibido no terminal.
Como localizar o trecho em que o conteúdo muda?
Como método proposto, correlacione registros por meio de identificadores e horários, compare o texto em cada etapa sob seu controle e repita testes controlados, alterando uma variável por vez. Se não houver visibilidade entre dois pontos, informe esse intervalo como não confirmado.
Que informações devem ser incluídas em um escalonamento?
Como recomendação operacional, inclua identificadores correlacionáveis, horários, condições de teste, versão do modelo, registros disponíveis e uma descrição da diferença. Proteja os dados pessoais e diferencie expressamente o que foi observado, o que foi inferido e o que ainda precisa ser verificado.
Fontes consultadas
- 3GPP specifications3GPP
- ITU-T E.164International Telecommunication Union
- GSMA resourcesGSMA