
Teilen Sie:
Ich bin ein JavaScript-Entwickler und ein Developer Educator bei Vonage. Im Laufe der Jahre habe ich mich für Templates, Node.js, progressive Web-Apps und Offline-First-Strategien begeistert, aber was ich immer geliebt habe, ist eine nützliche, gut dokumentierte API. Mein Ziel ist es, Ihre Erfahrung mit unseren APIs so gut wie möglich zu gestalten.
Wie man eine Viber-Nachricht mit Node.js sendet
Lesedauer: 2 Minuten
Wenn Sie oder Ihre Kunden sich in einem Land befinden, in dem Viber die Standard-Messaging-Plattform ist, möchten Sie sicher, dass auch Ihr Unternehmen über diesen Dienst kommunizieren kann. Vielleicht erledigen Sie Kernaufgaben per Textnachricht oder möchten einfach nur Benachrichtigungen verschicken. Unabhängig von der Komplexität können Sie die Viber-Kommunikation zu Ihrer Node.js-App hinzufügen. Um zu sehen, wie es funktioniert, ohne sich für ein Viber-Geschäftsprofilkönnen Sie die Vonage's Viber Sandbox.
Voraussetzungen
Für dieses Beispiel werden Sie das leichtgewichtige axios Client, um eine POST-Anfrage zu stellen. Auf alles andere, was Sie benötigen, haben Sie über die Sandbox Zugriff über die Messages API. Für den Anfang brauchen Sie also nur:
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.
In diesem Lernprogramm wird auch eine virtuelle Telefonnummer verwendet. Um eine zu erwerben, gehen Sie zu Rufnummern > Rufnummern kaufen und suchen Sie nach einer Nummer, die Ihren Anforderungen entspricht.
Einrichten Ihrer Sandbox
Falls Sie es noch nicht getan haben, navigieren Sie zu Nachrichten und Versand > Sandbox in deinem Dashboard, um deine Sandbox einzurichten. Am schnellsten geht es, wenn Sie Ihr Gerät mit installiertem Viber nehmen und die Kamera auf den mitgelieferten QR-Code richten. Wenn du die erstellte benutzerdefinierte Nachricht sendest, wird deine Nummer in die Whitelist aufgenommen. Wenn der QR-Code bei Ihrer Einrichtung nicht funktioniert, können Sie der Whitelist auch per E-Mail beitreten.
Axios einrichten
Sie können axios so gut wie sofort verwenden, müssen es aber erst installieren. Erstellen Sie eine Datei namens app.js in einem neuen Verzeichnis oder einem Verzeichnis, das Sie für Experimente verwenden. Installieren Sie axios in demselben Verzeichnis:
> npm install axios -s
Beginnen Sie Ihren Code in app.js indem Sie einen Axios-Client erstellen:
const axios = require('axios'); Stellen Sie Ihre Daten zur Verfügung
Die Daten, die du angeben musst, sind alle im cURL-Befehl in deinem Dashboard sichtbar. Sie benötigen einen Benutzernamen und ein Passwort, die Viber-ID, von der aus die Nachricht gesendet werden soll, und die Nummer auf der Whitelist, an die die Nachricht gesendet werden soll.
Sie können den Benutzernamen und das Passwort aus dem maskierten Wert kopieren, der dem -u Flagge. Sie erkennen sie vielleicht als Ihren API-Schlüssel und Ihr Geheimnis, und Sie können sie auch von der Seite Erste Schritte im Dashboard kopieren. Die from-ID wird auch im cURL-Befehl angezeigt, und die to-Nummer ist Ihre eigene Whitelist-Nummer:
var user = '12ab3456';
var password = '123AbcdefghIJklM';
var from_id = `12345`;
var to_num = '441234567890';Damit Sie nicht nur statischen Text senden, können Sie den Wochentag an Ihre Nachricht anhängen. Erstellen Sie ein paar Variablen, um ihn für die Verwendung in Ihren Daten zu speichern. Oder, noch besser, ersetzen Sie einige dynamische Daten aus Ihrem eigenen Anwendungsfall oder Ihrer Anwendung:
const weekdays = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
var today = weekdays[new Date().getDay()]; Den Antrag stellen
Axios stellt die Standardeinstellungen für Ihre POST-Anfrage bereit, wenn Sie die URL und die Daten angeben. Das Datenobjekt ist dasselbe wie die Daten aus dem cURL-Befehl im Dashboard. Wenn Sie eine Testnachricht senden möchten, die für Ihren Anwendungsfall relevanter ist, können Sie diese inline ändern. Sie können auch ein options-Objekt bereitstellen, das Ihre Berechtigungsnachweise enthält.
Sobald die Anfrage abgeschlossen ist, erhält der nächste Callback die Antwort. Daraus können Sie den Statuscode und die zurückgegebenen Daten ablesen. In diesem Fall sollten Sie eine UUID der Nachricht erhalten. Sie können auch alle auftretenden Fehler abfangen und in der Konsole protokollieren:
axios.post('https://messages-sandbox.nexmo.com/v0.1/messages',{
"from": { "type": "viber_service_msg", "id": from_id },
"to": { "type": "viber_service_msg", "number": to_num },
"message": {
"content": {
"type": "text",
"text": "Hello from Vonage! Happy " + today
}
}
},{
auth: {
username: user,
password: password
}
})
.then(function (response) {
console.log('Status: ' + response.status);
console.log(response.data);
})
.catch(function (error) {
console.error(error);
}); Probieren Sie es aus
Führen Sie in dem Verzeichnis, in dem Sie Ihre Datei erstellt haben, einen Befehl aus:
> node app.js
Sie sollten Ihre Testnachricht in Viber auf dem Gerät erhalten, das Sie in die Whitelist aufgenommen haben. Um das gesamte Beispiel zu sehen, kannst du dir den Code auf Github.
Teilen Sie:
Ich bin ein JavaScript-Entwickler und ein Developer Educator bei Vonage. Im Laufe der Jahre habe ich mich für Templates, Node.js, progressive Web-Apps und Offline-First-Strategien begeistert, aber was ich immer geliebt habe, ist eine nützliche, gut dokumentierte API. Mein Ziel ist es, Ihre Erfahrung mit unseren APIs so gut wie möglich zu gestalten.
