Number Insight Advanced (Synchron)

Mit Wirkung vom 4. Februar 2027 wird Vonage Number Insights auslaufen. Um einen unterbrechungsfreien Support zu gewährleisten und eine besser skalierbare und zukunftssichere Lösung anzubieten, empfehlen wir Ihnen, auf unser erweitertes Angebot zu migrieren: Vonage Einblicke in die Identität API. Die Vonage Identity Insights API konsolidiert mehrere telefonnummernbezogene Datensätze in einer einzigen, flexiblen API, die es Ihnen ermöglicht, Echtzeitinformationen zu einer Telefonnummer anzufordern und eine beliebige Kombination von Einblicken - wie z. B. Nummernformatierung, Betreiberdetails, SIM-Swap und Subscriber Match - mit einem einzigen Aufruf abzurufen.

Bitte prüfen Sie die Numbers Einblicke - Leitfaden für den Übergangdie detaillierte Anleitungen zu API-Unterschieden, erforderlichen Änderungen und bewährten Verfahren für einen reibungslosen Übergang enthält.

Dieses Code-Snippet zeigt Ihnen, wie Sie Number Insight Advanced API synchron verwenden können.

Hinweis: Vonage rät von dieser Vorgehensweise ab, da sie zu Timeouts führen kann. In den meisten Fällen sollten Sie eine asynchroner Aufruf zur Number Insight API.

Ersetzen Sie die Variablenplatzhalter, bevor Sie versuchen, die Codebeispiele auszuführen:

SchlüsselBeschreibung
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.

REAL_TIME_DATA

An optional flag to determine if you want real time data back in the response.

Schreiben Sie den Code

Fügen Sie Folgendes zu ni-advanced.sh hinzu:

source "../config.sh"

curl \
  -u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
  "https://api.nexmo.com/ni/advanced/json?number=$INSIGHT_NUMBER"

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

sh ni-advanced.sh

Voraussetzungen

npm install @vonage/server-sdk

Erstellen Sie eine Datei mit dem Namen ni-advanced.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,
});

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu ni-advanced.js hinzu:

vonage.numberInsights.advancedLookup(INSIGHT_NUMBER)
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

node ni-advanced.js

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 AdvancedInsightSync und fügen Sie den folgenden Code in die Methode main ein:

val client = Vonage {
    apiKey(VONAGE_API_KEY)
    apiSecret(VONAGE_API_SECRET)
}

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei AdvancedInsightSync Folgendes hinzu:

val response = client.numberInsight.advanced(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)
println(response)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung 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 AdvancedInsightSync enthält:

gradle run -Pmain=com.vonage.quickstart.kt.numberinsight.AdvancedInsightSync

Voraussetzungen

Fügen Sie Folgendes zu build.gradle hinzu:

implementation 'com.vonage:server-sdk:9.3.1'

Erstellen Sie eine Datei mit dem Namen AdvancedInsight 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();

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie der Methode main in der Datei AdvancedInsight Folgendes hinzu:

AdvancedInsightResponse response = client.getInsightClient().getAdvancedNumberInsight(INSIGHT_NUMBER);

System.out.println("BASIC INFO:");
System.out.println("International format: " + response.getInternationalFormatNumber());
System.out.println("National format: " + response.getNationalFormatNumber());
System.out.println("Country: " + response.getCountryName() + " (" +
        response.getCountryCodeIso3() + ", +" + response.getCountryPrefix() + ")"
);
System.out.println();
System.out.println("STANDARD INFO:");
System.out.println("Current carrier: " + response.getCurrentCarrier().getName());
System.out.println("Original carrier: " + response.getOriginalCarrier().getName());

System.out.println();
System.out.println("ADVANCED INFO:");
System.out.println("Validity: " + response.getValidNumber());
System.out.println("Reachability: " + response.getReachability());
System.out.println("Ported status: " + response.getPorted());

RoamingDetails roaming = response.getRoaming();
if (roaming == null) {
    System.out.println("- No Roaming Info -");
}
else {
    System.out.println("Roaming status: " + roaming.getStatus());
    if (response.getRoaming().getStatus() == RoamingStatus.ROAMING) {
        System.out.print("    Currently roaming in: " + roaming.getRoamingCountryCode());
        System.out.println(" on the network " + roaming.getRoamingNetworkName());
    }
}

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Wir können das Anmeldung 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 AdvancedInsight enthält:

gradle run -Pmain=com.vonage.quickstart.insight.AdvancedInsight

Voraussetzungen

Install-Package Vonage

Erstellen Sie eine Datei mit dem Namen AdvancedSync.cs und fügen Sie den folgenden Code hinzu:

using Vonage;
using Vonage.NumberInsights;
using Vonage.Request;

Vollständige Quelle anzeigen

Fügen Sie Folgendes zu AdvancedSync.cs hinzu:


var creds = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu AdvancedSync.cs hinzu:


var request = new AdvancedNumberInsightRequest() { Number = INSIGHT_NUMBER};

Vollständige Quelle anzeigen

Voraussetzungen

composer require vonage/client

Schreiben Sie den Code

Fügen Sie Folgendes zu advanced.php hinzu:

$basic  = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);

$insights = $client->insights()->advanced(INSIGHT_NUMBER);

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

php advanced.php

Voraussetzungen

pip install vonage python-dotenv

Schreiben Sie den Code

Fügen Sie Folgendes zu ni-advanced.py hinzu:

from vonage import Auth, Vonage
from vonage_number_insight import (AdvancedSyncInsightRequest,
                                   AdvancedSyncInsightResponse)

client = Vonage(Auth(api_key=VONAGE_API_KEY, api_secret=VONAGE_API_SECRET))

insight: AdvancedSyncInsightResponse = client.number_insight.get_advanced_info_sync(
    AdvancedSyncInsightRequest(number=INSIGHT_NUMBER)
)
pprint(insight)

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

python number-insight/ni-advanced.py

Voraussetzungen

gem install vonage

Erstellen Sie eine Datei mit dem Namen ni-advanced.rb und fügen Sie den folgenden Code hinzu:

client = Vonage::Client.new(
  api_key: VONAGE_API_KEY,
  api_secret: VONAGE_API_SECRET
)

Vollständige Quelle anzeigen

Schreiben Sie den Code

Fügen Sie Folgendes zu ni-advanced.rb hinzu:

insight = client.number_insight.advanced(
  number: INSIGHT_NUMBER
)

puts insight.inspect

Vollständige Quelle anzeigen

Führen Sie Ihren Code aus

Speichern Sie diese Datei auf Ihrem Rechner und führen Sie sie aus:

ruby ni-advanced.rb

Die Antwort der API enthält die folgenden Daten:

{
    "status": 0,
    "status_message": "Success",
    "lookup_outcome": 0,
    "lookup_outcome_message": "Success",
    "request_id": "75fa272e-4743-43f1-995e-a684901222d6",
    "international_format_number": "447700900000",
    "national_format_number": "07700 900000",
    "country_code": "GB",
    "country_code_iso3": "GBR",
    "country_name": "United Kingdom",
    "country_prefix": "44",
    "request_price": "0.03000000",
    "remaining_balance": "10.000000",
    "current_carrier": {
        "network_code": "23420",
        "name": "Hutchison 3G Ltd",
        "country": "GB",
        "network_type": "mobile"
    },
    "original_carrier": {
        "network_code": "23410",
        "name": "Telefonica UK Limited",
        "country": "GB",
        "network_type": "mobile"
    },
    "valid_number": "valid",
    "reachable": "reachable",
    "ported": "ported",
    "roaming": { "status": "not_roaming" },
    "real_time_data": {
     "active_status": "active",
     "handset_status": "on"
    }
}

Eine Beschreibung der einzelnen zurückgegebenen Felder und eine Übersicht über alle möglichen Werte finden Sie in der Number Insights API-Dokumentation