Number Insight API für Fortgeschrittene
Mit der Number Insight API erhalten Sie Echtzeitinformationen über Telefonnummern weltweit. Es sind drei Stufen verfügbar: Basic, Standard und Advanced.
Die erweiterte Stufe bietet Ihnen die umfangreichsten Daten, um Ihr Unternehmen vor Betrug und Spam zu schützen. Im Gegensatz zu den Stufen Basic und Standard greifen Sie auf die Advanced API in der Regel asynchron über eine Webhook.
In diesem Lernprogramm
In diesem Tutorial erstellen Sie einen RESTful-Webdienst in Node.js und Express, der eine Telefonnummer annimmt und Informationen über die Nummer zurückgibt, wenn sie verfügbar ist.
Um dies zu erreichen, führen Sie die folgenden Schritte durch:
- Das Projekt erstellen - eine Node.js/Express-Anwendung erstellen.
- Installieren Sie die
vonagePaket - Vonage-Funktionen zu Ihrem Projekt hinzufügen. - Öffnen Sie Ihre Anwendung für das Internet - Verwendung
ngrokum Vonage den Zugriff auf Ihre Anwendung über einen Webhook zu ermöglichen. - Erstellen Sie die Basisanwendung - die Grundfunktionalität aufbauen.
- Erstellen Sie den asynchronen Auftrag - rufen Sie die Number Insight Advanced API auf.
- Erstellen Sie den Webhook - den Code für die Verarbeitung der eingehenden Einsichtsdaten schreiben.
- Testen Sie die Anwendung - sehen Sie es in Aktion!
Voraussetzungen
Um das Tutorial abzuschließen, benötigen Sie:
- A Vonage-Konto - für Ihren API-Schlüssel und Ihr Geheimnis
- ngrok - um Ihren Entwicklungs-Webserver über das Internet für die Server von Vonage zugänglich zu machen
Das Projekt erstellen
Erstellen Sie ein Verzeichnis für Ihre Anwendung, cd in das Verzeichnis und verwenden Sie dann den Node.js-Paketmanager npm zur Erstellung einer package.json Datei für die Abhängigkeiten Ihrer Anwendung:
Drücken Sie [Enter], um die Standardeinstellungen zu übernehmen.
Installieren Sie dann die express Web Application Framework und body-parser Pakete:
Installieren Sie die vonage Paket
Führen Sie Folgendes aus npm Befehl im Terminalfenster, um das Vonage Node Server SDK zu installieren:
Öffnen Sie Ihre Anwendung für das Internet
Wenn die Number Insight API die Bearbeitung Ihrer Anfrage abgeschlossen hat, wird Ihre Anwendung über eine Webhook. Der Webhook bietet einen Mechanismus, mit dem die Server von Vonage mit den Ihren kommunizieren können.
Damit Ihre Anwendung für die Server von Vonage zugänglich ist, muss sie im Internet öffentlich zugänglich sein. Eine Möglichkeit, dies während der Entwicklung und des Testens zu erreichen, ist die Verwendung von ngrokein Dienst, der lokale Server über sichere Tunnel dem öffentlichen Internet zugänglich macht. Siehe dieser Blogbeitrag für weitere Einzelheiten.
Herunterladen und installieren ngrokund starten Sie ihn dann mit dem folgenden Befehl:
Dadurch werden öffentliche URLs (HTTP und HTTPS) für jede Website erstellt, die an Port 5000 auf Ihrem lokalen Rechner läuft.
Verwenden Sie die ngrok Webschnittstelle unter http://localhost:4040 und notieren Sie sich die URLs, die ngrok zur Verfügung: Sie benötigen sie, um dieses Tutorial zu beenden.
Erstellen Sie die Basisanwendung
Erstellen Sie die index.js Datei in Ihrem Anwendungsverzeichnis mit folgendem Code, wobei Sie die VONAGE_API_KEY, VONAGE_API_SECRET und WEBHOOK_URL Konstanten mit Ihren eigenen Werten:
const app = require('express')();
const bodyParser = require('body-parser');
app.set('port', 5000));
app.use(bodyParser.json());
const VONAGE_API_KEY = // Your Vonage API key
const VONAGE_API_SECRET = // Your Vonage API secret
const WEBHOOK_URL = // e.g. https://bcac78a0.ngrok.io/webhooks/insight
app.get('/insight/:number', function(request, response) {
console.log("Getting information for " + request.params.number);
});
app.listen(app.get('port'), function() {
console.log('Listening on port', app.get('port'));
});
Testen Sie es, indem Sie den folgenden Befehl im Terminal ausführen und das angezeigte Ergebnis erhalten:
Geben Sie in einem Browser die folgende URL ein und ersetzen Sie https://bcac78a0.ngrok.io mit dem Hostnamen ngrok Lieferungen:
https://bcac78a0.ngrok.io/insight/123456
Wenn alles richtig funktioniert, Getting information for 123456 wird auf dem Terminal angezeigt.
Erstellen Sie den asynchronen Auftrag
Da Ihre Anwendung nun eine Telefonnummer empfangen kann, müssen Sie die asynchrone Anfrage an die Number Insight Async API erstellen.
Schreiben Sie zunächst den Code, der eine Instanz von Vonage mit Ihren Account-Daten:
const Vonage = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET
});
Erweitern Sie dann die /insight/:number Route, um die Number Insight API aufzurufen, wobei Sie die Nummer, an der Sie interessiert sind, und die URL des Webhooks, der sich mit der Antwort befasst, angeben. Sie erstellen den Webhook in einem späteren Schritt.
app.get('/insight/:number', function(request, response) {
console.log("Getting information for " + request.params.number);
nexmo.numberInsight.get({
level: 'advancedAsync',
number: request.params.number,
callback: WEBHOOK_URL
}, function (error, result) {
if (error) {
console.error(error);
} else {
console.log(result);
}
});
});
Der Aufruf der Number Insight Advanced API liefert eine unmittelbare Antwort, die die Anfrage bestätigt, bevor die eigentlichen Einblicksdaten verfügbar sind. Diese Antwort wird in der Konsole protokolliert:
Die status im Körper der Anfrage zeigt an, ob der Vorgang erfolgreich war. Ein Wert von Null bedeutet Erfolg und ein Wert ungleich Null bedeutet einen Fehler, wie im Abschnitt Number Insight API Referenzdokumentation.
Erstellen Sie den Webhook
Die Insight-API gibt die Ergebnisse an Ihre Anwendung über eine POST Anfrage, daher müssen Sie die /webhooks/insight Routenhandler als app.post()wie gezeigt:
app.post('/webhooks/insight', function (request, response) {
console.dir(request.body);
response.status(204).send();
});
Der Handler protokolliert die eingehenden JSON-Daten auf der Konsole und sendet eine 204 HTTP-Antwort an die Server von Vonage.
Der HTTP-Statuscode 204 zeigt an, dass der Server die Anforderung erfolgreich erfüllt hat und keine weiteren Inhalte im Nutzdatenkörper der Antwort zu senden sind.
Testen Sie die Anwendung
ausführen. index.js:
Geben Sie eine URL im folgenden Format in die Adressleiste des Browsers ein und ersetzen Sie dabei https://bcac78a0.ngrok.io mit Ihrem ngrok URL und INSIGHT_NUMBER mit einer Rufnummer Ihrer Wahl:
http://YOUR_NGROK_HOSTNAME/insight/NUMBER
Nach der anfänglichen Bestätigungsantwort sollte die Konsole Informationen ähnlich der unten abgebildeten anzeigen:
Beachten Sie beim Testen Ihrer Anwendung Folgendes:
- Die Insight Advanced API bietet keine Informationen über Festnetzanschlüsse, die nicht in der Standard API verfügbar sind.
- Anfragen an die Insight-API sind nicht kostenlos. Erwägen Sie die Verwendung der
ngrokDashboard zur Wiederholung früherer Anfragen während der Entwicklung, um unnötige Kosten zu vermeiden.
Schlussfolgerung
In diesem Lernprogramm haben Sie eine Anwendung erstellt, die die Number Insight Advanced Async API verwendet, um Daten an einen Webhook zurückzugeben.
Einige der spezifischen Funktionen der erweiterten API, wie IP-Adressabgleich, Erreichbarkeit und Roaming-Status, wurden in diesem Tutorium nicht behandelt. Überprüfen Sie die Dokumentation um zu erfahren, wie Sie diese Funktionen nutzen können.
Wie geht es weiter?
Die folgenden Ressourcen helfen Ihnen, Number Insight in Ihren Applications zu verwenden:
- Die Quellcode für dieses Lernprogramm auf GitHub
- Number Insight API Produktseite
- Vergleich der Basic, Standard und Advanced Insight APIs
- Webhooks-Leitfaden
- Number Insight API-Referenz für Fortgeschrittene
- Verbinden Sie Ihren lokalen Entwicklungsserver mit der Vonage API über einen ngrok-Tunnel
- Mehr Tutorials