Number Insight Avanzado (Sincrónico)
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.
Este fragmento de código muestra cómo utilizar Number Insight Advanced API de forma sincrónica.
Nota: Vonage no recomienda este método, ya que puede ocasionar tiempos de espera. En la mayoría de los casos, debes usar un llamada asíncrona a la API Number Insight.
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. |
REAL_TIME_DATA | An optional flag to determine if you want real time data back in the response. |
Escriba el código
Añada lo siguiente a ni-advanced.sh:
source "../config.sh"
curl "https://api.nexmo.com/ni/advanced/json?api_key=$VONAGE_API_KEY&api_secret=$VONAGE_API_SECRET&number=$INSIGHT_NUMBER"
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
npm install @vonage/server-sdkCrea un archivo llamado ni-advanced.js y añade el siguiente código:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET,
});Escriba el código
Añada lo siguiente a ni-advanced.js:
vonage.numberInsights.advancedLookup(INSIGHT_NUMBER)
.then((result) => console.log(result))
.catch((error) => console.error(error));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 AdvancedInsightSync 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 AdvancedInsightSync:
val response = client.numberInsight.advanced(INSIGHT_NUMBER, INSIGHT_CALLBACK_URL)
println(response)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 AdvancedInsightSync:
Requisitos previos
Añada lo siguiente a build.gradle:
implementation 'com.vonage:server-sdk:9.3.1'Crea un archivo llamado AdvancedInsight 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 AdvancedInsight:
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());
}
}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 AdvancedInsight:
Requisitos previos
Install-Package VonageCrea un archivo llamado AdvancedSync.cs y añade el siguiente código:
using Vonage;
using Vonage.NumberInsights;
using Vonage.Request;Añada lo siguiente a AdvancedSync.cs:
var creds = Credentials.FromApiKeyAndSecret(VONAGE_API_KEY, VONAGE_API_SECRET);Escriba el código
Añada lo siguiente a AdvancedSync.cs:
var request = new AdvancedNumberInsightRequest() { Number = INSIGHT_NUMBER};Requisitos previos
composer require vonage/clientEscriba el código
Añada lo siguiente a advanced.php:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);
$insights = $client->insights()->advanced(INSIGHT_NUMBER);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.py:
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)Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
Requisitos previos
gem install vonageCrea un archivo llamado ni-advanced.rb y añade el siguiente código:
Ejecute su código
Guarde este archivo en su máquina y ejecútelo:
La respuesta de la API contiene los siguientes datos:
{
"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"
}
}
Para obtener una descripción de cada campo devuelto y ver todos los valores posibles, consulte la página Documentación de la API Number Insight