
Compartilhar:
Ex-educador de desenvolvedores na @Vonage. Tenho formação em PHP, mas não me limito a uma única linguagem. Sou um jogador ávido e entusiasta do Raspberry Pi. Costumo praticar escalada em rocha em centros de escalada indoor.
Apresentando a Tecnologia de Registro de Distribuição — Regulamentação da SMS na Índia
O que é a Tecnologia de Registro Distribuído (DLT)?
A Tecnologia de Registro Distribuído (também conhecida como DLT) é um método digital que permite que usuários e sistemas registrem transações relacionadas aos seus ativos. Os bancos de dados tradicionais possuem um local central para armazenar suas informações; no entanto, a DLT armazena os dados em vários locais para proporcionar maior segurança, transparência e confiança entre as partes que utilizam o serviço.
O que a DLT tem a ver com a regulamentação indiana?
Um regulamento estabelecido pela Autoridade Reguladora de Telecomunicações da Índia (TRAI) exige que qualquer empresa nacional que envie SMS do tipo Application 2 Phone (A2P) por meio de conexões nacionais aos destinatários finais tenha um registro válido no DLT. Qualquer empresa que não efetue o pré-registro no DLT ficará em situação de não conformidade e não poderá enviar SMS A2P aos destinatários finais por meio de conexões nacionais na Índia.
Como posso me inscrever no DLT?
Se você é uma empresa na Índia ou está enviando SMS A2P para números de telefone nacionais na Índia, precisará estar em conformidade com a DLT. Para isso, será necessário registrar sua Entidade Principal, cabeçalhos e modelos (com o nome da sua marca) e dar consentimento em qualquer um dos sistemas da DLT listados abaixo:
Como posso usar a DLT com a Vonage?
Atualize seu projeto e envie os parâmetros exigidos pelo DLT a cada solicitação
Você precisa fazer alterações em seu aplicativo para utilizar seu ID de Entidade, ID do Remetente/Cabeçalho e Modelos, conforme mostrado no portal da DLT. Será necessário utilizar os parâmetros adicionais em todas as solicitações de API ou SMPP ao enviar suas mensagens SMS.
Envio de um SMS com a API
Se você estiver usando nossa API sem um de nossos SDKs, será necessário atualizar sua solicitação POST ao enviar um SMS. Você precisará adicionar dois parâmetros à solicitação, conforme mostrado a seguir:
entity-id (cadeia de caracteres)
content-id (cadeia de caracteres)
Mais informações sobre essa solicitação na API ao enviar um SMS podem ser encontradas na Documentação da API.
Envio de SMS com nossos SDKs
O exemplo abaixo utiliza o SDK do Node; no entanto, dispomos de outros SDKs, conforme listado na trechos de código da documentação para desenvolvedores.
O exemplo a seguir mostra como enviar um SMS com o SDK do Vonage Node, incluindo os dois parâmetros necessários para estar em conformidade com as regulamentações da DLT:
Observação Para executar este exemplo, você precisará substituir VONAGE_API_KEY, VONAGE_API_SECRET, VONAGE_BRAND_NAME, TO_NUMBER, DLT_APPROVED_PEID e DLT_APPROVED_TEMPLATE_ID pelos seus próprios valores.
const Vonage = require('@vonage/server-sdk')
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET
})
const from = VONAGE_BRAND_NAME
const to = TO_NUMBER
const text = 'A text message sent using the Vonage SMS API'
const opts = {
"entity-id": DLT_APPROVED_PEID,
"content-id": DLT_APPROVED_TEMPLATE_ID
}
vonage.message.sendSms(from, to, text, opts, (err, responseData) => {
if (err) {
console.log(err);
} else {
if(responseData.messages[0]['status'] === "0") {
console.log("Message sent successfully.");
} else {
console.log(`Message failed with error: ${responseData.messages[0]['error-text']}`);
}
}
})
Como posso saber se funcionou?
Pode haver vários motivos pelos quais o envio de um SMS que precisa estar em conformidade com a DLT não seja bem-sucedido. Para verificar o erro, você precisará criar um webhook para monitorar uma URL específica pré-configurada que você criar em seu aplicativo. Para obter uma lista completa dos erros retornados em um comprovante de entrega, consulte a Documentação do Desenvolvedor. A tabela abaixo mostra os erros relevantes para o envio de mensagens SMS em conformidade com a DLT.
| Error Code | Meaning | Description |
|---|---|---|
| 50 | Entity Filter | The message failed due to entity-id being incorrect or not provided. |
| 51 | Header Filter | The message failed because the header ID (from phone number) was incorrect or missing. |
| 52 | Content Filter | The message failed due to content-id being incorrect or not provided. |
| 53 | Consent Filter | The message failed due to consent not being authorized. |
Veja abaixo um exemplo de webhook para receber confirmaciones de entrega de SMS usando o Node:
const app = require('express')()
const bodyParser = require('body-parser')
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))
app
.route('/webhooks/delivery-receipt')
.get(handleDeliveryReceipt)
.post(handleDeliveryReceipt)
function handleDeliveryReceipt(request, response) {
const params = Object.assign(request.query, request.body)
console.log(params)
response.status(204).send()
}
app.listen(process.env.PORT || 3000)Sua aplicação precisará estar exposta à Internet para que o webhook fique acessível. Para fins de desenvolvimento, sugerimos que as pessoas usem o ngrok e temos um ótimo tutorial sobre como configurar o ngrok.
A última alteração que você precisará fazer para isso é configurar a URL do webhook de recibos de entrega na página de configurações da API do Painel de Controle da Vonage. Substitua o conteúdo do Webhook URL for Delivery Receipts campo de entrada pela sua URL do Webhook, por exemplo: https://demo.ngrok.io/webhooks/delivery-receipt.
Uma mensagem SMS enviada com sucesso será exibida de forma semelhante ao exemplo abaixo:
{
"err-code": "0",
"message-timestamp": "2020-10-25 12:10:29",
"messageId": "0B00000127FDBC63",
"msisdn": "447700900000",
"network-code": "23410",
"price": "0.03330000",
"scts": "1810251310",
"status": "delivered",
"to": "Vonage"
}No entanto, se houver algum problema, err_code não será 0, e o status será rejected.
Envio de SMS via SMPP
Para enviar uma mensagem SMS via SMPP, você precisará adicionar parâmetros adicionais à sua solicitação. Para obter mais informações sobre quais são esses parâmetros adicionais, consulte a base de conhecimento, na seção “Conformidade com a DLT e a Vonage”
Deixe a Vonage cuidar da DLT para você
A Vonage está oferecendo uma solução temporária, na qual você permite que a Vonage detecte seu modelo sem que seja necessária nenhuma alteração da sua parte. Por favor, consulte a base de conhecimento, seção 2, opção 2 para obter mais informações. Embora esse método não seja recomendado pela Vonage, sugerimos que você atualize seu projeto e utilize os novos parâmetros da SMS API para enviar SMS em conformidade com a DLT.