Erste Schritte mit der Vonage SMS API
Short Message Service (SMS) ist ein Textnachrichtendienst, der standardisierte Kommunikationsprotokolle verwendet, um kurze Textnachrichten an oder zwischen Geräten zu senden. Diese Nachrichten werden über Mobilfunknetze übertragen.
Kommunikations-APIs wie die Messages API von Vonage ermöglichen den programmgesteuerten Versand von SMS-Nachrichten, indem eine HTTP-Anfrage an einen API-Endpunkt gestellt wird. Die Nachricht wird dann an das Mobilfunknetz weitergeleitet, um an das Gerät des Empfängers zugestellt zu werden.
Die Messages API und die SMS API
Derzeit gibt es zwei Vonage APIs, mit denen Sie SMS-Nachrichten versenden können:
- Die Messages API
- Die SMS API
Es gibt einige Unterschiede zwischen den beiden APIs, die Sie bei der Entscheidung, welche Sie verwenden möchten, berücksichtigen sollten.
Messages API
- Die Messages API ist eine Multi-Channel-Messaging-API, die neben SMS auch andere Messaging-Kanäle unterstützt.
- Dazu gehören andere netzbasierte Kanäle wie MMS und RCS sowie OTT-Kanäle wie WhatsApp und Facebook Messenger.
- Alle Kanäle verwenden denselben Endpunkt und dieselbe Grundstruktur für die Nutzdaten von Anfragen, so dass mehrere Kanäle über eine einzige Integration genutzt werden können.
- Die Messages API wird weiterhin mit neuen Funktionen und Unterstützung für netzwerkbasierte und OTT-Kanäle erweitert
- Die Messages API bietet einen Webhook für den Nachrichtenstatus, der die folgenden Status unterstützt:
submitteddeliveredrejectedundeliverable
SMS API
- Die SMS API ist für Anwendungsfälle mit hohem Durchsatz (z. B. > 500 Nachrichten/Sekunde) geeignet (höhere Durchsatzraten sind nur auf Anfrage erhältlich)
- Die SMS API bietet Einhaltung des HIPAA
- Die SMS API bietet Lieferscheine für einzelne Nachrichtensegmente (wenn eine längere Nachricht für die Zustellung in mehrere Teile aufgeteilt wurde).
- Die SMS API Lieferscheine unterstützen die folgenden Zustände:
accepteddeliveredbufferedexpiredfailedrejectedunknown
Kunden, die in den USA SMS mit 10-stelligen geografischen Numbers versenden, müssen die 10 DLC-Richtlinien beachten. Siehe unser 10 DLC-Dokumentation für weitere Informationen.
Eine SMS senden
Dieses Beispiel zeigt Ihnen, wie Sie eine SMS an eine von Ihnen gewählte Nummer senden können.
Dieses Beispiel ist speziell für die Verwendung mit der SMS API gedacht
Erstens, sich für einen Vonage Account anmelden wenn Sie noch keine haben, und notieren Sie sich Ihren API-Schlüssel und Ihr Geheimnis auf der Seite Dashboard Einstiegsseite.
Ersetzen Sie die folgenden Platzhalterwerte im Beispielcode:
| Schlüssel | Beschreibung |
|---|---|
VONAGE_API_KEY | Ihr Vonage API-Schlüssel. |
VONAGE_API_SECRET | Ihr Vonage API-Geheimnis. |
Schreiben Sie den Code
Fügen Sie Folgendes zu send-sms.sh hinzu:
curl -X POST https://rest.nexmo.com/sms/json \
-d "from=${SMS_SENDER_ID}" \
-d "to=${SMS_TO_NUMBER}" \
-d 'text=A text message sent using the Vonage SMS API' \
-d "api_key=${VONAGE_API_KEY}" \
-d "api_secret=${VONAGE_API_SECRET}"Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
npm install @vonage/server-sdkErstellen Sie eine Datei mit dem Namen send.js und fügen Sie den folgenden Code hinzu:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Schreiben Sie den Code
Fügen Sie Folgendes zu send.js hinzu:
vonage.sms.send({
to: SMS_TO_NUMBER,
from: SMS_SENDER_ID,
text: 'A text message sent using the Vonage SMS API',
})
.then((resp) => {
console.log('Message sent successfully');
console.log(resp);
})
.catch((err) => {
console.log('There was an error sending the messages.');
console.error(err);
});Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
Fügen Sie Folgendes zu build.gradle hinzu:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Erstellen Sie eine Datei mit dem Namen SendMessage und fügen Sie den folgenden Code in die Methode main ein:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Schreiben Sie den Code
Fügen Sie der Methode main in der Datei SendMessage Folgendes hinzu:
val response = client.sms.sendText(
from = SMS_SENDER_ID,
to = SMS_TO_NUMBER,
message = "Hello from Vonage SMS API"
)
println(
if (response.wasSuccessfullySent())
"Message sent successfully."
else
"Message failed with error: ${response[0].errorText}"
)Führen Sie Ihren Code aus
Wir können das Applikation Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.kt.sms durch das Paket, das SendMessage enthält:
Voraussetzungen
Fügen Sie Folgendes zu build.gradle hinzu:
implementation 'com.vonage:server-sdk:9.3.1'Erstellen Sie eine Datei mit dem Namen SendMessage und fügen Sie den folgenden Code in die Methode main ein:
VonageClient client = VonageClient.builder().apiKey(VONAGE_API_KEY).apiSecret(VONAGE_API_SECRET).build();Schreiben Sie den Code
Fügen Sie der Methode main in der Datei SendMessage Folgendes hinzu:
TextMessage message = new TextMessage(
SMS_SENDER_ID, SMS_TO_NUMBER,
"A text message sent using the Vonage SMS API"
);
SmsSubmissionResponse response = client.getSmsClient().submitMessage(message);
if (response.getMessages().get(0).getStatus() == MessageStatus.OK) {
System.out.println("Message sent successfully.");
} else {
System.out.println("Message failed with error: " + response.getMessages().get(0).getErrorText());
}Führen Sie Ihren Code aus
Wir können das Applikation Plugin für Gradle verwenden, um die Ausführung unserer Anwendung zu vereinfachen. Aktualisieren Sie Ihre build.gradle mit dem Folgenden:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Führen Sie den folgenden Befehl gradle aus, um Ihre Anwendung auszuführen, und ersetzen Sie dabei com.vonage.quickstart.sms durch das Paket, das SendMessage enthält:
Voraussetzungen
Install-Package VonageErstellen Sie eine Datei mit dem Namen SendSms.cs und fügen Sie den folgenden Code hinzu:
using Vonage;
using Vonage.Request;Fügen Sie Folgendes zu SendSms.cs hinzu:
var credentials = Credentials.FromApiKeyAndSecret(
vonageApiKey,
vonageApiSecret
);
var vonageClient = new VonageClient(credentials);Schreiben Sie den Code
Fügen Sie Folgendes zu SendSms.cs hinzu:
var response = await vonageClient.SmsClient.SendAnSmsAsync(new Vonage.Messaging.SendSmsRequest()
{
To = SMS_TO_NUMBER,
From = SMS_SENDER_ID,
Text = "A text message sent using the Vonage SMS API"
});
Console.WriteLine(response.Messages[0].To);Voraussetzungen
composer require vonage/clientErstellen Sie eine Datei mit dem Namen send-sms.php und fügen Sie den folgenden Code hinzu:
$keypair = new \Vonage\Client\Credentials\Keypair(VONAGE_PRIVATE_KEY, VONAGE_APPLICATION_ID);
$client = new \Vonage\Client($keypair);Schreiben Sie den Code
Fügen Sie Folgendes zu send-sms.php hinzu:
$response = $client->sms()->send(
new \Vonage\SMS\Message\SMS(TO_NUMBER, BRAND_NAME, 'A text message sent using the Vonage SMS API')
);
$message = $response->current();
if ($message->getStatus() == 0) {
echo "The message was sent successfully\n";
} else {
echo "The message failed with status: " . $message->getStatus() . "\n";
}Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
pip install vonage python-dotenvSchreiben Sie den Code
Fügen Sie Folgendes zu send-an-sms.py hinzu:
from vonage import Auth, Vonage
from vonage_sms import SmsMessage, SmsResponse
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
message = SmsMessage(
to=SMS_TO_NUMBER,
from_=SMS_SENDER_ID,
text="A text message sent using the Vonage SMS API.",
)
response: SmsResponse = client.sms.send(message)
print(response)Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
gem install vonageErstellen Sie eine Datei mit dem Namen send.rb und fügen Sie den folgenden Code hinzu:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)Schreiben Sie den Code
Fügen Sie Folgendes zu send.rb hinzu:
client.sms.send(
from: SMS_SENDER_ID,
to: SMS_TO_NUMBER,
text: 'A text message sent using the Vonage SMS API'
)Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Fehlersuche
Wenn Sie Probleme bei der Durchführung von API-Aufrufen haben, überprüfen Sie die zurückgegebenen Statusfeld für bestimmte Fehlercodes.
Das ist wichtig: Wenn Sie ein US-Kunde sind und die SMS API nutzen, um Datenverkehr von einem +1 Country Code 10 Digit Long Code (10 DLC) in US-Netze zu senden, müssen Sie eine Marke und eine Kampagne registrieren, um eine Sendegenehmigung zu erhalten. Sobald die Genehmigung erteilt ist, müssen Sie eine Nummer mit der Kampagne verknüpfen. Siehe die 10 Abschnitt DLC-Unterstützung.
Vonage SMS API-Konzepte
Bevor Sie die Vonage SMS API verwenden, sollten Sie sich mit den folgenden Punkten vertraut machen:
Numbers-Format - Für die SMS API sind Telefonnummern im E.164-Format erforderlich.
Authentifizierung - Die SMS API authentifiziert sich mit Ihrem Account-API-Schlüssel und -Geheimnis.
Webhaken - Die SMS API stellt HTTP-Anfragen an Ihren Anwendungs-Webserver, damit Sie darauf reagieren können. Zum Beispiel: eingehende SMS und Empfangsbestätigungen.