https://a.storyblok.com/f/270183/126283/255e90955d/dlt_sms_1200x600.png

Apresentando a Tecnologia de Registro de Distribuição — Regulamentação da SMS na Índia

Publicado em April 27, 2021

Tempo de leitura: 4 minutos

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.

Compartilhar:

https://a.storyblok.com/f/270183/250x250/b052219541/greg-holmes.png
Greg HolmesEx-funcionários da Vonage

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.