Como ajustar prefixos de números de SMS
Neste guia, damos exemplos de regras de roteamento que mostram como você pode ajustar prefixos de números de telefone com regras de roteamento. Se os números de telefone vêm em vários formatos dos usuários, precisamos criar regras que ajustem cada formato para garantir que os números sejam enviados corretamente ao provedor de serviços de SMS.
IntroduçãoEm nosso exemplo, o provedor de serviços de SMS aceitará um número de telefone no seguinte formato:
+97466781661
Os usuários do sistema usarão outros formatos para enviar a mensagem. Por exemplo:
66781661 | -> | +97466781661 |
0097466781661 | -> | +97466781661 |
97466781661 | -> | +97466781661 |
+97466781661 | -> | +97466781661 |
Queremos garantir que todos os formatos acima sejam aceitos pelo nosso provedor de serviços de SMS. Para isso, criaremos 5 regras de roteamento:
Rota 1: Adicionar o prefixo "+974" a números de telefone com 8 dígitos
Rota 2: Alterar números de telefone que começam com "00974" para começar com "+974"
Rota 3: Alterar números de telefone que começam com "974" para começar com "+974"
Rota 4: Manter números de telefone que começam com "+974" e enviar o SMS para a rede móvel
Rota 5: Qualquer outro formato deve ser enviado para a lixeira
O primeiro exemplo adicionará um prefixo ao número de telefone se o número tiver exatamente 8 dígitos.
Mudar isto: 66781661 Para isto: +97466781661
Você precisa criar uma rota dedicada para fazer essa modificação. Esta rota precisa corresponder aos números de telefone com 8 dígitos e modificá-los para ter o prefixo +974.
Você pode começar clicando no ícone "Rotas" na barra de ferramentas. Depois, especifique a conexão "De" como "Any_SMS_User" e a conexão "Para" como "SMPP_Client_1". Deixe o modo como "Mover".
Para fazer esta rota corresponder a números de telefone com exatamente 8 dígitos, você precisa adicionar uma "Condição de correspondência". A "Condição de correspondência" verificará o "Endereço Para" e, se o número de telefone tiver exatamente 8 dígitos, a rota entrará em efeito.
Condição de correspondência:
/^\d{8}$/
Esta condição pode ser explicada assim:
iniciar a correspondência: ^
8 dígitos: \d{8}
finalizar a correspondência: $
Após o SMS corresponder a este padrão, a regra de modificação entrará em efeito:
/^(\d{8})$/+974$1/
Esta condição pode ser explicada assim:
mudar isto: ^(\d{8})$
para isto: +974$1
Observe que a seção "para isto" contém $1. Isso significa que o primeiro grupo deve ser colocado ali. O primeiro grupo é "(\d{8})". Um grupo é marcado por ( ).
Para testar o sistema, basta enviar um SMS para um número de telefone com 8 dígitos. Observe que, após enviar a mensagem, quando você verificar a pasta de itens enviados, verá que o número de telefone "Para" foi alterado para o formato apropriado. Você enviou o SMS para "66781661", mas o SMS foi realmente enviado para "+97466781661".
As propriedades da rota são:
Nome da rota: | Rota 1 |
De: | Any_SMS_User@localhost |
Para: | SMPP_client_1@localhost |
Modo: | Mover |
Corresponder ao endereço Para: | /^\d{8}$/ |
Modificar endereço Para: | /^(\d{8})$/+974$1/ |
A tabela acima contém as configurações que você precisa aplicar.
Rota 2. - Prefixo 00971 para um prefixo +971
A segunda rota irá alterar o prefixo 00 para um sinal de +. Nas redes móveis, os números de telefone internacionais começam com um sinal de +, enquanto nos sistemas telefônicos clássicos eles começam com 00.
Mude isto: 0097466781661 Para isto: +97466781661Condição de correspondência:
/^00974.*$/
A condição acima pode ser decomposta da seguinte forma:
iniciar a correspondência: ^
os dígitos seguintes são: 00974
qualquer coisa pode vir depois disso: .*
terminar a correspondência: $
/^00974(.*)$/+974$1/
O modificador acima pode ser decomposto da seguinte forma:
mude isto: ^00974(.*)$
para isto: +974$1
As propriedades da rota são:
Nome da rota: | Rota 2 |
De: | Any_SMS_User@localhost |
Para: | SMPP_client_1@localhost |
Modo: | Mover |
Corresponder endereço Para: | /^00974.*$/ |
Modificar endereço Para: | /^00974(.*)$/+974$1/ |
A tabela acima contém as configurações que você precisa aplicar
Rota 3. - Prefixo 971 para um prefixo +971
Esta rota irá adicionar o sinal de + ao número de telefone. Nas redes móveis, os números de telefone internacionais começam com um sinal de +, caso contrário, o número será tratado como um número local.
Mude isto: 97466781661 Para isto: +97466781661Condição de correspondência:
/^974.*$/
A condição acima pode ser decomposta da seguinte forma:
iniciar a correspondência: ^
os dígitos seguintes são: 974
qualquer coisa pode vir depois disso: .*
terminar a correspondência: $
/^974(.*)$/+974$1/
O modificador acima pode ser decomposto da seguinte forma:
mude isto: ^974(.*)$
para isto: +974$1
As propriedades da rota são:
Nome da rota: | Rota 3 |
De: | Any_SMS_User@localhost |
Para: | SMPP_client_1@localhost |
Modo: | Mover |
Corresponder endereço Para: | /^974.*$/ |
Modificar endereço Para: | /^974(.*)$/+974$1/ |
A tabela acima contém as configurações que você precisa aplicar
Rota 4. - Prefixo +971 para um prefixo +971 (deixar passar números formatados corretamente)
A quarta rota simplesmente corresponderá ao número de telefone formatado corretamente e permitirá que a SMS passe sem modificação.
Corresponder a isto: 97466781661Condição de correspondência:
/^[+]974.*$/
A condição acima pode ser decomposta da seguinte forma:
iniciar a correspondência: ^
o dígito seguinte é: +
os dígitos seguintes são: 974
qualquer coisa pode vir depois disso: .*
terminar a correspondência: $
Observe que o sinal de + foi colocado entre colchetes: [+]. Isso porque o sinal de + é um caractere especial na sintaxe de expressões regulares.
Modificador:Deixar vazio
Se o número de telefone estiver formatado corretamente, nenhuma modificação é necessária
As propriedades da rota são:
Nome da rota: | Rota 4 |
De: | Any_SMS_User@localhost |
Para: | SMPP_client_1@localhost |
Modo: | Mover |
Corresponder endereço Para: | /^[+]974.*$/ |
Modificar endereço Para: |
A tabela acima contém as configurações que você precisa aplicar
Rota 5. - Mover qualquer outra coisa para a lixeira
Nossa rota final irá mover quaisquer números de telefone que não correspondam a nenhuma das condições de roteamento acima para a lixeira.
Corresponder: Qualquer coisa Sem alteração Roteamento para: Lixeira
Nome da rota: | Rota 5 |
De: | Any_SMS_User@localhost |
Para: | SMPP_client_1@localhost |
Modo: | Descartar |
Corresponder endereço Para: | |
Modificar endereço Para: |
A tabela acima contém as configurações que você precisa aplicar
A tabela de roteamento final
Sua tabela de roteamento final ficará assim:
Nome da rota | De | Corresponder | Modificar | Modo | Para |
Rota 1 | Any_SMS_User@localhost | /^\d{8}$/ | /^(\d{8})$/+974$1/ | Mover | SMPP_client_1@localhost |
Rota 2 | Any_SMS_User@localhost | /^00974.*$/ | /^00974(.*)$/+974$1/ | Mover | SMPP_client_1@localhost |
Rota 3 | Any_SMS_User@localhost | /^974.*$/ | /^974(.*)$/+974$1/ | Mover | SMPP_client_1@localhost |
Rota 4 | Any_SMS_User@localhost | /^[+]974.*$/ | Mover | SMPP_client_1@localhost | |
Rota 5 | Any_SMS_User@localhost | Descartar |
More information
- Como alterar o número de telefone do destinatário de SMS
- Prefixos de número
- Sinal de mais na frente
- Como alterar o ID do remetente de SMS
- Como encaminhar um SMS para múltiplos destinatários
- Como trocar o remetente e o destinatário do SMS
- Como alterar o texto do SMS
- Como acrescentar texto ao final do SMS
- Como criptografar mensagens SMS
- Como manipular o endereço do destinatário usando regexp
- Como alterar o texto do SMS com C#