Numbers Insight Advanced

À compter du 4 février 2027, Vonage mettra fin à Vonage Number Insights. Afin d'assurer un soutien ininterrompu et de fournir une solution plus évolutive et à l'épreuve du temps, nous vous encourageons à migrer vers notre offre améliorée : Vonage Identity Insights API. L'API Identity Insights de Vonage consolide plusieurs ensembles de données liées aux numéros de téléphone en une seule API flexible, vous permettant de demander des informations en temps réel sur un numéro de téléphone et de récupérer toute combinaison d'informations - telles que le formatage du numéro, les détails de l'opérateur, le SIM Swap et le Subscriber Match - en un seul appel.

Veuillez consulter le Guide de transition de Numbers Insightsqui fournit des conseils détaillés sur les différences entre les API, les changements nécessaires et les meilleures pratiques pour une transition en douceur.

L'API avancée de Number Insight fournit toutes les données de la base de données des Number Insight Standard API ainsi que les informations complémentaires suivantes :

  • Si le numéro est susceptible d'être valide
  • Si le numéro est porté
  • Si le numéro est joignable (non disponible aux États-Unis)
  • Si le numéro est en itinérance et, le cas échéant, l'opérateur et le pays.

Utilisez ces informations pour déterminer le risque associé à un chiffre.

Notez que l'API avancée ne fournit pas d'informations supplémentaires sur les lignes terrestres par rapport à l'API de base. Number Insight Standard API. Pour obtenir des informations sur les numéros de téléphone fixe, utilisez l'API standard.

Cet extrait de code vous montre comment déclencher un asynchrone à l'API Number Insight. Voici l'approche recommandée par Vonage. Vous pouvez éventuellement utiliser l'API avancée de Number Insight de manière synchronemais sachez que l'utilisation synchrone peut entraîner des dépassements de délai.

Avant d'essayer d'exécuter les exemples de code, remplacez les caractères de remplacement des variables :

CléDescription
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.

Rédiger le code

Ajouter ce qui suit à ni-advanced-async.sh:

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

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

sh ni-advanced-async.sh

Conditions préalables

npm install express body-parser

Rédiger le code

Ajouter ce qui suit à ni-advanced-async-client.js:

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);

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

node ni-advanced-async-client.js

Conditions préalables

Ajouter ce qui suit à build.gradle:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Créez un fichier nommé AdvancedInsightAsync et ajoutez le code suivant à la méthode main:

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à la méthode main du fichier AdvancedInsightAsync:

client.numberInsight.advancedAsync(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)

Voir la source complète

Exécutez votre code

Nous pouvons utiliser le plugin application pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Lancez la commande suivante gradle pour exécuter votre application, en remplaçant com.vonage.quickstart.kt.numberinsight par le paquet contenant AdvancedInsightAsync:

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

Conditions préalables

Ajouter ce qui suit à build.gradle:

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

Créez un fichier nommé AdvancedInsightAsync et ajoutez le code suivant à la méthode main:

VonageClient client = VonageClient.builder()
        .apiKey(VONAGE_API_KEY)
        .apiSecret(VONAGE_API_SECRET)
        .build();

Voir la source complète

Rédiger le code

Ajouter ce qui suit à la méthode main du fichier AdvancedInsightAsync:

var response = client.getInsightClient().getAdvancedAsyncNumberInsight(
        AdvancedInsightAsyncRequest.builder()
            .number(INSIGHT_NUMBER)
            .callback(INSIGHT_CALLBACK_URL)
            .build()
);

Voir la source complète

Exécutez votre code

Nous pouvons utiliser le plugin application pour Gradle afin de simplifier l'exécution de notre application. Mettez à jour votre build.gradle avec ce qui suit :

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Lancez la commande suivante gradle pour exécuter votre application, en remplaçant com.vonage.quickstart.insight par le paquet contenant AdvancedInsightAsync:

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

Conditions préalables

Install-Package Vonage

Créez un fichier nommé AdvancedAsync.cs et ajoutez le code suivant :

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

Voir la source complète

Ajouter ce qui suit à AdvancedAsync.cs:


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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à AdvancedAsync.cs:


var request = new AdvancedNumberInsightAsynchronousRequest() { Number = INSIGHT_NUMBER, Callback = INSIGHT_CALLBACK_URL };

Voir la source complète

Conditions préalables

composer require vonage/client

Créez un fichier nommé advanced-async-trigger.php et ajoutez le code suivant :

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à advanced-async-trigger.php:

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);
}

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

php advanced-async-trigger.php

Conditions préalables

pip install vonage python-dotenv

Rédiger le code

Ajouter ce qui suit à ni-advanced-async-trigger.py:

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)

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

python number-insight/ni-advanced-async-trigger.py

Conditions préalables

gem install vonage

Créez un fichier nommé ni-advanced-async-client.rb et ajoutez le code suivant :

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

Voir la source complète

Rédiger le code

Ajouter ce qui suit à ni-advanced-async-client.rb:

insight = client.number_insight.advanced(
  number: INSIGHT_NUMBER,
  callback: INSIGHT_CALLBACK_URL
)

puts insight.inspect

Voir la source complète

Exécutez votre code

Enregistrez ce fichier sur votre machine et exécutez-le :

ruby ni-advanced-async-client.rb

L'API accuse réception de la demande en renvoyant les informations suivantes au client :

{
    "request_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "number": "447700900000",
    "remaining_balance": "10.000000",
    "request_price": "0.03000000",
    "status": 0
}

Lorsque les données sont disponibles, elles sont envoyées au webhook spécifié par l'intermédiaire d'une commande POST demande. Voir le Number Insight Async Callback avancé pour apprendre à coder le gestionnaire du webhook.