Numbers Insight Erweitert
Die Number Insight Advanced API stellt alle Daten aus dem Number Insight Standard-API zusammen mit den folgenden zusätzlichen Informationen:
- Wenn die Nummer wahrscheinlich gültig ist
- Wenn die Nummer portiert wird
- Wenn die Nummer erreichbar ist (in den USA nicht verfügbar)
- Ob es sich bei der Nummer um eine Roamingnummer handelt und, falls ja, den Anbieter und das Land
Nutzen Sie diese Informationen, um das mit einer Nummer verbundene Risiko zu bestimmen.
Beachten Sie, dass die erweiterte API keine zusätzlichen Informationen über Festnetztelefone bereitstellt als die Number Insight Standard-API. Für Einblicke in Festnetznummern verwenden Sie die Standard-API.
Dieses Codeschnipsel zeigt Ihnen, wie Sie eine asynchrone Aufruf der Number Insight API. Vonage empfiehlt folgende Vorgehensweise. Sie können optional die Number Insight Advanced API verwenden. synchronaber beachten Sie, dass die synchrone Verwendung zu Timeouts führen kann.
Ersetzen Sie die Variablenplatzhalter, bevor Sie versuchen, die Codebeispiele auszuführen:
| Schlüssel | Beschreibung |
|---|---|
VONAGE_API_KEY | Your Vonage API key (see it on your dashboard). |
VONAGE_API_SECRET | Your Vonage API secret (also available on your dashboard). |
INSIGHT_NUMBER | The number you want to retrieve insight information for. |
Schreiben Sie den Code
Fügen Sie Folgendes zu ni-advanced-async.sh hinzu:
curl "https://api.nexmo.com/ni/advanced/async/json?api_key=$VONAGE_API_KEY&api_secret=$VONAGE_API_SECRET&number=$INSIGHT_NUMBER&callback=$INSIGHT_CALLBACK_URL"
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Voraussetzungen
npm install express body-parserSchreiben Sie den Code
Fügen Sie Folgendes zu ni-advanced-async-client.js hinzu:
const app = require('express')();
const bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true,
}));
const handleInsight = (request, response) => {
console.log('params', Object.assign(request.query, request.body));
response.status(204).send();
};
app.post('/webhooks/insight', handleInsight);
app.listen(3000);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 AdvancedInsightAsync 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 AdvancedInsightAsync Folgendes hinzu:
client.numberInsight.advancedAsync(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)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.numberinsight durch das Paket, das AdvancedInsightAsync 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 AdvancedInsightAsync 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 AdvancedInsightAsync Folgendes hinzu:
var response = client.getInsightClient().getAdvancedAsyncNumberInsight(
AdvancedInsightAsyncRequest.builder()
.number(INSIGHT_NUMBER)
.callback(INSIGHT_CALLBACK_URL)
.build()
);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.insight durch das Paket, das AdvancedInsightAsync enthält:
Voraussetzungen
Install-Package VonageErstellen Sie eine Datei mit dem Namen AdvancedAsync.cs und fügen Sie den folgenden Code hinzu:
using Vonage;
using Vonage.Request;
using Vonage.NumberInsights;Fügen Sie Folgendes zu AdvancedAsync.cs hinzu:
var creds = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);Schreiben Sie den Code
Fügen Sie Folgendes zu AdvancedAsync.cs hinzu:
var request = new AdvancedNumberInsightAsynchronousRequest() { Number = INSIGHT_NUMBER, Callback = INSIGHT_CALLBACK_URL };Voraussetzungen
composer require vonage/clientErstellen Sie eine Datei mit dem Namen advanced-async-trigger.php und fügen Sie den folgenden Code hinzu:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Schreiben Sie den Code
Fügen Sie Folgendes zu advanced-async-trigger.php hinzu:
try {
$client->insights()->advancedAsync(SEARCH_NUMBER, CALLBACK_WEBHOOK);
echo "The number will be looked up soon.";
} catch (\Vonage\Client\Exception\Request $e) {
error_log("Client error: " . $e->getMessage());
exit(1);
} catch (\Vonage\Client\Exception\Server $e) {
error_log("Server error: " . $e->getMessage());
exit(1);
}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 ni-advanced-async-trigger.py hinzu:
from vonage import Auth, Vonage
from vonage_number_insight import (AdvancedAsyncInsightRequest,
AdvancedAsyncInsightResponse)
client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))
insight: AdvancedAsyncInsightResponse = client.number_insight.get_advanced_info_async(
AdvancedAsyncInsightRequest(number=INSIGHT_NUMBER, callback=INSIGHT_CALLBACK_URL)
)
pprint(insight)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 ni-advanced-async-client.rb und fügen Sie den folgenden Code hinzu:
Schreiben Sie den Code
Fügen Sie Folgendes zu ni-advanced-async-client.rb hinzu:
Führen Sie Ihren Code aus
Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:
Die API bestätigt die Anfrage, indem sie die folgenden Informationen an den Client zurückgibt:
{
"request_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"number": "447700900000",
"remaining_balance": "10.000000",
"request_price": "0.03000000",
"status": 0
}
Sobald die Daten verfügbar sind, werden sie über einen Webhook an den angegebenen Webhook gesendet. POST Anfrage. Siehe die Numbers Insight Advanced Async Callback um zu erfahren, wie man den Webhook-Handler programmiert.