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

Einführung der Distribution Ledger Technologie - SMS Indian Regulation

Zuletzt aktualisiert am April 27, 2021

Lesedauer: 4 Minuten

Was ist die Distribution Ledger Technology (DLT)?

Die Distributed Ledger Technology (DLT) ist eine digitale Methode, die es Nutzern und Systemen ermöglicht, Transaktionen im Zusammenhang mit ihren Vermögenswerten aufzuzeichnen. Herkömmliche Datenbanken speichern ihre Informationen an einem zentralen Ort. Bei der DLT werden die Daten jedoch an mehreren Orten gespeichert, um mehr Sicherheit, Transparenz und Vertrauen zwischen den Parteien zu schaffen, die den Dienst nutzen.

Was hat die DLT mit der indischen Regulierung zu tun?

Eine von der indischen Telekom-Regulierungsbehörde (TRAI) erlassene Vorschrift verlangt von jedem inländischen Unternehmen, das Application 2 Phone (A2P) SMS über Inlandsverbindungen an die Endempfänger sendet, eine erfolgreiche Registrierung für DLT. Jedes Unternehmen, das die Vorregistrierung für DLT versäumt, ist nicht konform und kann keine A2P-SMS über Inlandsverbindungen an Endkunden in Indien versenden.

Wie kann ich mich für den DLT anmelden?

Wenn Sie ein Unternehmen in Indien sind oder A2P-SMS an inländische Telefonnummern in Indien senden, müssen Sie DLT-konform sein. Dazu müssen Sie Ihre Hauptperson, Kopfzeilen und Vorlagen (mit Ihrem Markennamen) registrieren und Ihre Zustimmung zu einem der unten aufgeführten DLT-Systeme geben:

Wie kann ich DLT mit Vonage nutzen?

Aktualisieren Sie Ihr Projekt und übermitteln Sie die erforderlichen DLT-Parameter bei jeder Anfrage

Sie müssen Änderungen an Ihrer Anwendung vornehmen, um Ihre Entitäts-ID, Absender-ID/Kopfzeile und Vorlagen wie im DLT-Portal angezeigt zu verwenden. Sie müssen die zusätzlichen Parameter für jede API-Anfrage oder SMPP-Anfrage verwenden, wenn Sie Ihre SMS-Nachrichten übermitteln.

Versenden einer SMS mit der API

Wenn Sie unsere API ohne eines unserer SDKs verwenden, müssen Sie Ihre POST-Anfrage aktualisieren, wenn Sie eine Anfrage zum Senden einer SMS stellen. Sie müssen der Anfrage zwei Parameter hinzufügen, wie unten gezeigt:

  • entity-id (Zeichenfolge)

  • content-id (Zeichenfolge)

Weitere Informationen zu dieser Anfrage mit der API beim Senden einer SMS finden Sie in den API-Dokumente.

Versenden einer SMS mit unseren SDKs

Das folgende Beispiel verwendet das Node SDK, wir haben jedoch auch andere SDKS, die in den Entwicklerdokumentation Code-Schnipsel.

Vonage API-Konto

Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.

Das folgende Beispiel zeigt, wie eine SMS mit dem Vonage Node SDK versendet werden kann, einschließlich der beiden erforderlichen Parameter, um den DLT-Vorschriften zu entsprechen:

Hinweis Um dieses Beispiel auszuführen, müssen Sie die Werte VONAGE_API_KEY, VONAGE_API_SECRET, VONAGE_BRNAD_NAME, TO_NUMBER, DLT_APPROVED_PEID und DLT_APPROVED_TEMPLATE_ID durch Ihre eigenen Werte ersetzen.

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

Woher weiß ich, dass es funktioniert hat?

Es kann verschiedene Gründe geben, warum eine SMS, die DLT-konform sein muss, nicht erfolgreich versendet wird. Um den Fehler zu überprüfen, müssen Sie einen Webhook erstellen, der auf eine bestimmte vorkonfigurierte URL wartet, die Sie in Ihrer Anwendung erstellen. Eine vollständige Liste der Fehler, die in einer Versandbestätigung zurückgegeben werden, finden Sie in den Entwickler-Docs. In der folgenden Tabelle sind die Fehler aufgeführt, die für den Versand von DLT-SMS-Nachrichten relevant sind.

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.

Ein Beispiel für einen Webhook zum Empfang von SMS-Zustellungsbestätigungen mit Node ist unten dargestellt:

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)

Ihre Anwendung muss mit dem Internet verbunden sein, damit der Webhook zugänglich ist. Für Entwicklungszwecke empfehlen wir die Verwendung von ngrok und wir haben ein schönes Tutorial, wie man ngrok einrichtet.

Die letzte Änderung, die Sie dafür vornehmen müssen, ist die Konfiguration der Webhook-URL für Zustellungsbelege auf der Vonage Dashboard API-Einstellungsseite. Ersetzen Sie den Inhalt des Webhook URL for Delivery Receipts Eingabefeldes mit Ihrer Webhook-URL, zum Beispiel: https://demo.ngrok.io/webhooks/delivery-receipt.

Eine erfolgreich gesendete SMS wird ähnlich wie im folgenden Beispiel angezeigt:

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

Wenn es jedoch ein Problem gibt, err_code nicht 0 sein, und die status wird rejected.

SMS-Versand mit SMPP

Um eine SMS-Nachricht mit SMPP zu versenden, müssen Sie Ihrer Anfrage zusätzliche Parameter hinzufügen. Weitere Informationen zu diesen zusätzlichen Parametern finden Sie in der Knowledgebase unter "Kompatibilität mit DLT und Vonage".

Vonage verwaltet DLT für Sie

Vonage bietet eine vorübergehende Lösung an, bei der Sie Ihre Vorlage von Vonage erkennen lassen können, ohne dass sich auf Ihrer Seite etwas ändert. Bitte lesen Sie in der Knowledgebase, Abschnitt 2, Option 2 für weitere Informationen. Obwohl diese Methode von Vonage nicht empfohlen wird, empfehlen wir, Ihr Projekt zu aktualisieren und die neuen API-Parameter zu verwenden, um DLT-konforme SMS zu senden.

Teilen Sie:

https://a.storyblok.com/f/270183/250x250/b052219541/greg-holmes.png
Greg HolmesVonage Ehemalige

Ehemaliger Ausbilder für Entwickler @Vonage. Kommt von einem PHP-Hintergrund, ist aber nicht auf eine Sprache beschränkt. Ein begeisterter Gamer und Raspberry-Pi-Enthusiast. Oft beim Bouldern in Kletterhallen anzutreffen.