Konfigurieren Sie Ihre Voraussetzungen
Es gibt einige Voraussetzungen, die Sie erfüllen müssen, bevor Sie dieses Lernprogramm durcharbeiten können. Wenn Sie eine dieser Voraussetzungen bereits erfüllt haben, können Sie diesen Schritt überspringen.
Sie können einen Vonage Account über den Dashboard.
Über das Dashboard können Sie Applications erstellen und Vonage Numbers erwerben. Sie können diese Aufgaben auch über die Vonage CLI.
Wenn Sie Aufgaben wie die Erstellung von Applications, den Kauf von Vonage Numbers usw. durchführen möchten, müssen Sie die Vonage CLI installieren. Da die Vonage CLI Folgendes erfordert node.js müssen Sie installieren node.js Erstens.
Um sicherzustellen, dass node.js installiert ist, führen Sie bitte den folgenden Befehl im Terminal aus:
Folgen Sie den Schritten auf der Seite Erste Schritte mit Vonage CLI Seite zur Installation und Konfiguration der Befehlszeile.
Wenn Sie JavaScript für die Entwicklung Ihrer Anwendung verwenden möchten, müssen Sie die Beta-Version des Vonage Node Server SDK installieren (oder aktualisieren).
Einrichtung
Während der Beta-Phase kann das Node Server SDK mit installiert werden:
Wenn Sie das Server-SDK bereits installiert haben, aktualisiert der obige Befehl Ihr Server-SDK auf die neueste Version.
Verwendung
Wenn Sie sich für die Verwendung des Server-SDK entscheiden, benötigen Sie die folgenden Informationen:
| Schlüssel | Beschreibung |
|---|---|
NEXMO_API_KEY | Der Vonage API-Schlüssel, den Sie von Ihrem Dashboard. |
NEXMO_API_SECRET | Das Vonage API-Geheimnis, das Sie von Ihrem Dashboard. |
NEXMO_APPLICATION_ID | Die Vonage Application ID für Ihre Vonage Application, die Sie von Ihrem Dashboard. |
NEXMO_APPLICATION_PRIVATE_KEY_PATH | Der Pfad zum private.key Datei, die bei der Erstellung Ihrer Vonage-Anwendung erstellt wurde. |
Diese Variablen können dann im Server-SDK-Beispielcode durch aktuelle Werte ersetzt werden.
Erstellen Sie Ihre Anwendung
Es gibt zwei alternative Methoden zur Erstellung einer Nachrichten- und Versandanwendung:
- Verwenden der Vonage CLI
- Verwendung des Dashboards
Jede dieser Methoden wird in den folgenden Abschnitten beschrieben.
So erstellen Sie eine Nachrichten- und Versandanwendung mit der Vonage CLI
Um Ihre Anwendung mit der Vonage CLI zu erstellen, geben Sie den folgenden Befehl in die Shell ein:
Dadurch wird eine Vonage-Anwendung mit einer Nachrichten Fähigkeitmit den wie angegeben konfigurierten Webhook-URLs und erzeugen eine private Schlüsseldatei my_messages_app.key und erstellt/aktualisiert vonage_app.json.
So erstellen Sie eine Nachrichten- und Versandanwendung mit dem Dashboard
Sie können Messages und Dispatch Applications in der Dashboard.
So erstellen Sie Ihre Anwendung über das Dashboard:
Unter Applications im Dashboard, klicken Sie auf die Schaltfläche Erstellen Sie eine neue Anwendung Taste.
Unter Namegeben Sie den Namen der Applikation ein. Wählen Sie einen Namen, damit Sie ihn in Zukunft leichter finden.
Klicken Sie auf die Schaltfläche Öffentlichen und privaten Schlüssel generieren. Dadurch wird ein öffentliches/privates Schlüsselpaar erstellt und der private Schlüssel wird von Ihrem Browser heruntergeladen.
Unter Fähigkeiten wählen Sie die Nachrichten Taste.
In der Eingehende URL geben Sie die URL für Ihren Webhook für eingehende Nachrichten ein, zum Beispiel,
https://example.com/webhooks/inbound-message.In der Status-URL geben Sie die URL für Ihren Nachrichtenstatus-Webhook ein, zum Beispiel,
https://example.com/webhooks/message-status.Klicken Sie auf die Neue Anwendung generieren Schaltfläche. Sie werden nun zum nächsten Schritt des Verfahrens "Anwendung erstellen" weitergeleitet, wo Sie eine Vonage Nummer mit der Anwendung verknüpfen und externe Accounts wie Facebook mit dieser Anwendung verknüpfen können.
Wenn es ein externes Konto gibt, mit dem Sie diese Anwendung verknüpfen möchten, klicken Sie auf die Schaltfläche Verknüpfte externe Konten und klicken Sie dann auf die entsprechende Registerkarte Link für den Account, den Sie verknüpfen möchten.
Sie haben nun Ihre Anwendung erstellt.
HINWEIS: Stellen Sie vor dem Testen Ihrer Anwendung sicher, dass Ihre Webhooks konfiguriert sind und Ihr Webhook-Server läuft.
Es gibt mindestens zwei Webhooks, die Sie konfigurieren müssen:
- Webhook "Nachrichtenstatus
- Webhaken für eingehende Nachrichten
Wenn Statusaktualisierungen von Nachrichten generiert werden, z. B. delivered, rejected oder acceptedwerden die Rückrufe auf der Status der Nachricht Webhook-URL.
Wenn eine eingehende Nachricht empfangen wird, wird ein Callback mit der Nutzlast der Nachricht auf der Eingehende Nachricht Webhook-URL.
WICHTIG! Beide Webhook-URLs sollten konfiguriert werden. Zumindest sollten Ihre Webhook-Handler 200 Antworten für eingehende Nachrichten und Nachrichtenstatus-Callbacks zurückgeben.
So konfigurieren Sie die Webhook-URLs
In der Dashboard, gehen Sie zu Nachrichten und Versand.
TIPP: Wenn die Webhook-URLs für Nachrichten in Ihrem Vonage Account bereits in der Produktion verwendet werden und Sie eine zweite für die Verwendung der Messages API benötigen, senden Sie bitte eine E-Mail Unterstützung und fragen Sie nach einem Sub-API-Schlüssel.
Geben Sie Ihre Webhook-URLs in die Felder mit der Aufschrift Status-URL und Eingehende URL.
Die Werte, die Sie für Webhook-URLs eingeben, hängen beispielsweise davon ab, wo sich Ihr Webhook-Server befindet:
| Webhook | URL |
|---|---|
| Status-URL | https://www.example.com/webhooks/message-status |
| Eingehende URL | https://www.example.com/webhooks/inbound-message |
HINWEIS: Die Standardmethode von POST sollte für beide Webhook-URLs verwendet werden.
Eingehende SMS-Webhooks
HINWEIS: Wir empfehlen die Verwendung von JWT-basierte Autorisierung denn so können Sie Ihre Webhook-URLs für eingehende und ausgehende Lieferungen auf der Anwendungsebene. Andernfalls werden alle Rückrufe aus Ihren verschiedenen Applications an Ihre Webhook-URLs auf Account-Ebene.
Webhook-Warteschlange
Bitte beachten Sie, dass Webhooks, die von Vonage ausgehen, wie z.B. die Webhook-URL für den Nachrichtenstatus und die URL für eingehende Nachrichten, von Vonage pro Nachricht in eine Warteschlange gestellt werden.
Bitte stellen Sie sicher, dass alle Applications Webhooks mit einer 200-Antwort quittieren.
Signierte Webhooks
Um die Herkunft Ihrer Webhooks zu überprüfen, können Sie die Signatur der Webhooks validieren, siehe Anleitung hier
In diesem Codeschnipsel erfahren Sie, wie Sie eine eingehende Nachricht behandeln.
HINWEIS: Wir empfehlen die Verwendung von JWT-basierte Autorisierung denn so können Sie Ihre Webhook-URLs für eingehende und ausgehende Lieferungen auf der Anwendungsebene. Andernfalls werden alle Rückrufe aus Ihren verschiedenen Applications an Ihre Webhook-URLs auf Account-Ebene.
Beispiel
Stellen Sie sicher, dass Ihre eingehende Nachricht Webhook ist eingestellt auf dem Dashboard. Ihr Handler muss mindestens einen Statuscode 200 zurückgeben, um unnötige Warteschlangen für Rückrufe zu vermeiden. Vergewissern Sie sich, dass Ihr Webhook-Server läuft, bevor Sie Ihre Messages-Anwendung testen.
Voraussetzungen
npm install express body-parserSchreiben Sie den Code
Fügen Sie Folgendes zu inbound-message.js hinzu:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/webhooks/inbound-message', (req, res) => {
console.log(req.body);
res.status(200).end();
});
app.listen(3000);
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
pip install fastapi[standard]Schreiben Sie den Code
Fügen Sie Folgendes zu webhook-server.py hinzu:
from pprint import pprint
from fastapi import FastAPI, Request, status
app = FastAPI()
@app.post('/webhooks/message-status', status_code=status.HTTP_200_OK)
async def message_status(request: Request):
data = await request.json()
pprint(data)
@app.post('/webhooks/inbound-message')
async def inbound_message(request: Request):
data = await request.json()
pprint(data)Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Wenn Sie Ihre Anwendung lokal testen möchten, können Sie Ngrok verwenden.
Siehe unsere Informationen über Ngrok für die lokale Entwicklung nutzen
Wenn Sie Ngrok auf diese Weise verwenden, würden Sie die Ngrok-URLs für Ihre Webhook-URLs verwenden:
https://abcdef1.ngrok.io/webhooks/inbound-messagehttps://abcdef1.ngrok.io/webhooks/message-status
Versenden einer Facebook-Nachricht mit Ausfallsicherung
Die Dispatch API bietet die Möglichkeit, Nachrichten-Workflows mit Failover auf sekundäre Kanäle zu erstellen. In dieser Aufgabe geht es um die Verwendung der Dispatch API zum Senden einer Facebook-Nachricht mit Failover an den SMS-Kanal.