Number Insight Avanzado
A partir del 4 de febrero de 2027, Vonage dejará de ofrecer Vonage Number Insights. Para garantizar un soporte ininterrumpido y ofrecer una solución más escalable y preparada para el futuro, te recomendamos que migres a nuestra oferta mejorada: API de información de identidad de Vonage. La API Vonage Identity Insights consolida varios conjuntos de datos relacionados con números de teléfono en una API única y flexible, lo que te permite solicitar información en tiempo real sobre un número de teléfono y recuperar cualquier combinación de información, como el formato del número, los detalles del operador, SIM Swap y Subscriber Match, en una sola llamada.
Por favor, revise el Guía de transición Number Insightsque ofrece información detallada sobre las diferencias entre las API, los cambios necesarios y las mejores prácticas para una transición sin problemas.
La API avanzada de Number Insight proporciona todos los datos de la aplicación API estándar de Number Insight junto con la siguiente información adicional:
- Si es probable que el número sea válido
- Si el número es portado
- Si el número está localizable (no disponible en EE.UU.)
- Si el número es itinerante y, en caso afirmativo, el operador y el país.
Utilice esta información para determinar el riesgo asociado a un número.
Tenga en cuenta que la API avanzada no proporciona más información sobre los teléfonos fijos que la que ofrece la función API estándar de Number Insight. Para obtener información sobre números fijos, utilice la API estándar.
Este fragmento de código muestra cómo activar una función asíncrono a la API Number Insight. Este es el enfoque que recomienda Vonage. Si lo desea, puede utilizar la API avanzada Number Insight. de forma sincrónicapero tenga en cuenta que el uso síncrono puede provocar tiempos de espera.
Antes de intentar ejecutar los ejemplos de código, sustituya los marcadores de posición de las variables:
| Clave | Descripción |
|---|---|
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. |
Escriba el código
Añada lo siguiente a ni-advanced-async.sh:
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"
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install express body-parserEscriba el código
Añada lo siguiente a 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);Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crea un archivo llamado AdvancedInsightAsync y añade el siguiente código al método main:
val client = Vonage {
apiKey(VONAGE_API_KEY)
apiSecret(VONAGE_API_SECRET)
}Escriba el código
Añada lo siguiente al método main del archivo AdvancedInsightAsync:
client.numberInsight.advancedAsync(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.numberinsight por el paquete que contiene AdvancedInsightAsync:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado AdvancedInsightAsync y añade el siguiente código al método main:
VonageClient client = VonageClient.builder()
.apiKey(VONAGE_API_KEY)
.apiSecret(VONAGE_API_SECRET)
.build();Escriba el código
Añada lo siguiente al método main del archivo AdvancedInsightAsync:
var response = client.getInsightClient().getAdvancedAsyncNumberInsight(
AdvancedInsightAsyncRequest.builder()
.number(INSIGHT_NUMBER)
.callback(INSIGHT_CALLBACK_URL)
.build()
);Ejecute su código
Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.insight por el paquete que contiene AdvancedInsightAsync:
Requisitos previos
Install-Package VonageCrea un archivo llamado AdvancedAsync.cs y añade el siguiente código:
using Vonage;
using Vonage.Request;
using Vonage.NumberInsights;Añada lo siguiente a AdvancedAsync.cs:
var creds = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);Escriba el código
Añada lo siguiente a AdvancedAsync.cs:
var request = new AdvancedNumberInsightAsynchronousRequest() { Number = INSIGHT_NUMBER, Callback = INSIGHT_CALLBACK_URL };Requisitos previos
composer require vonage/clientCrea un archivo llamado advanced-async-trigger.php y añade el siguiente código:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);Escriba el código
Añada lo siguiente a 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);
}Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
pip install vonage python-dotenvEscriba el código
Añada lo siguiente a 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)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea un archivo llamado ni-advanced-async-client.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
La API acusa recibo de la solicitud devolviendo la siguiente información al cliente:
{
"request_id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"number": "447700900000",
"remaining_balance": "10.000000",
"request_price": "0.03000000",
"status": 0
}
Cuando los datos están disponibles, se envían al webhook especificado a través de una etiqueta POST solicitud. Véase la Devolución de llamada asíncrona avanzada de Number Insight para aprender a codificar el controlador del webhook.