https://d226lax1qjow5r.cloudfront.net/blog/blogposts/introducing-distribution-ledger-technology-sms-indian-regulation/dlt_sms_1200x600.png

Introduction de la technologie du grand livre de distribution - Règlement indien sur les SMS

Publié le April 27, 2021

Temps de lecture : 4 minutes

Qu'est-ce que la technologie des registres de distribution (DLT) ?

La technologie du grand livre distribué (également connue sous le nom de DLT) est une méthode numérique permettant aux utilisateurs et aux systèmes d'enregistrer les transactions liées à leurs actifs. Les bases de données traditionnelles disposent d'un emplacement central pour stocker leurs informations ; cependant, la DLT stocke les données à plusieurs endroits afin d'améliorer la sécurité, la transparence et la confiance entre les parties qui utilisent le service.

Quel est le rapport entre la DLT et la réglementation indienne ?

Une réglementation établie par l'Autorité de régulation des télécommunications de l'Inde (TRAI) exige que toute entreprise nationale qui envoie des SMS de type Application 2 Phone (A2P) aux destinataires finaux par le biais de connexions nationales soit enregistrée avec succès auprès de la DLT. Toute entreprise qui ne s'est pas préenregistrée pour la DLT ne sera pas conforme et ne pourra pas envoyer de SMS A2P à des destinataires finaux via des connexions nationales en Inde.

Comment puis-je m'inscrire à la DLT ?

Si vous êtes une entreprise en Inde ou si vous envoyez des SMS A2P à des numéros de téléphone nationaux en Inde, vous devrez vous conformer à la DLT. Pour ce faire, vous devrez enregistrer votre entité principale, vos en-têtes, vos modèles (avec votre nom de marque) et donner votre consentement sur l'un des systèmes DLT énumérés ci-dessous :

Comment puis-je utiliser DLT avec Vonage ?

Mettez à jour votre projet et soumettez les paramètres requis par DLT à chaque demande

Vous devez apporter des modifications à votre application pour utiliser votre identifiant d'entité, votre identifiant/en-tête d'expéditeur et vos modèles, comme indiqué sur le portail DLT. Vous devrez utiliser les paramètres supplémentaires pour chaque demande API ou demande SMPP lorsque vous soumettez vos messages SMS.

Envoyer un SMS avec l'API

Si vous utilisez notre API sans l'un de nos SDK, vous devez mettre à jour votre requête POST lorsque vous demandez l'envoi d'un SMS. Vous devrez ajouter deux paramètres à la requête, comme indiqué ci-dessous :

  • entity-id (chaîne de caractères)

  • content-id (chaîne)

De plus amples informations sur cette requête avec l'API lors de l'envoi d'un SMS peuvent être trouvées sur la page API Docs.

Envoyer un SMS avec nos SDK

L'exemple ci-dessous utilise le SDK Node, mais nous disposons d'autres SDK énumérés dans la extraits de code de la documentation destinée aux développeurs.

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

L'exemple ci-dessous montre comment envoyer un SMS avec le SDK Vonage Node, en incluant les deux paramètres requis pour être conforme aux réglementations DLT :

Remarque Pour exécuter cet exemple, vous devrez remplacer les valeurs VONAGE_API_KEY, VONAGE_API_SECRET, VONAGE_BRNAD_NAME, TO_NUMBER, DLT_APPROVED_PEID et DLT_APPROVED_TEMPLATE_ID par vos propres valeurs.

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']}`);
        }
    }
})

Comment savoir si cela a fonctionné ?

Il peut y avoir plusieurs raisons pour lesquelles l'envoi d'un SMS qui doit être conforme à la DLT n'aboutit pas. Pour vérifier l'erreur, vous devrez créer un webhook pour écouter une URL préconfigurée spécifique que vous créez dans votre application. Pour obtenir une liste complète des erreurs renvoyées dans un accusé de réception, veuillez consulter les Documents pour les développeurs. Le tableau ci-dessous montre les erreurs qui sont pertinentes pour l'envoi de messages DLT SMS.

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.

Un exemple de webhook permettant de recevoir des accusés de réception de SMS avec Node est présenté ci-dessous :

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)

Votre application devra être exposée à l'internet pour que le webhook soit accessible. Pour le développement, nous suggérons d'utiliser ngrok et nous avons un bon tutoriel sur la façon de configurer ngrok.

Le dernier changement que vous devrez faire est de configurer l'URL de votre crochet Web des reçus de livraison sur la page des paramètres de l'API du tableau de bord de Vonage. page des paramètres de l'API du tableau de bord de Vonage. Remplacez le contenu du champ de saisie Webhook URL for Delivery Receipts par l'URL de votre Webhook, par exemple : https://demo.ngrok.io/webhooks/delivery-receipt.

Un message SMS envoyé avec succès s'affichera comme dans l'exemple ci-dessous :

{
  "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"
}

Toutefois, en cas de problème, err_code ne sera pas 0, et le status sera rejected.

Envoi de SMS avec SMPP

Pour envoyer un SMS avec SMPP, vous devez ajouter des paramètres supplémentaires à votre demande. Pour plus d'informations sur ces paramètres supplémentaires, veuillez vous référer à la base de connaissances sous "Se conformer à DLT et Vonage".

Laisser Vonage gérer la DLT pour vous

Vonage propose une solution temporaire qui vous permet de laisser Vonage détecter votre modèle sans aucun changement de votre côté. Veuillez consulter la base de connaissances, section 2, option 2 pour plus d'informations. Bien que cette méthode ne soit pas suggérée par Vonage, nous vous recommandons de mettre à jour votre projet et d'utiliser les nouveaux paramètres de l'API pour envoyer des SMS conformes à la DLT.

Partager:

https://a.storyblok.com/f/270183/250x250/b052219541/greg-holmes.png
Greg HolmesAnciens de Vonage

Ancien développeur éducateur @Vonage. Issu d'une formation PHP, mais pas limité à un seul langage. Joueur passionné et adepte du Raspberry pi. On le trouve souvent en train de faire du bloc dans des salles d'escalade.