Number Insight Advanced (sincrónico)
A partir del 4 de febrero de 2027, Vonage dejará de ofrecer el servicio «Vonage Number Insights». Para garantizar una asistencia ininterrumpida y ofrecer una solución más escalable y preparada para el futuro, le recomendamos que migre a nuestra oferta mejorada: API de información de identidad de Vonage. La API «Vonage Identity Insights» agrupa varios conjuntos de datos relacionados con números de teléfono en una única API flexible, lo que te permite solicitar información en tiempo real sobre un número de teléfono y obtener cualquier combinación de datos —como el formato del número, los detalles del operador, el cambio de tarjeta SIM y la coincidencia de abonados— 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 provocar que se agote el tiempo de espera. En la mayoría de los casos, deberías utilizar un llamada asíncrona a la API Number Insight.
Antes de intentar ejecutar los ejemplos de código, sustituye los marcadores de posición de las variables:
| Clave | Descripción |
|---|---|
VONAGE_API_KEY | Your Vonage API key (see it on |
VONAGE_API_SECRET | Your Vonage API secret (also available on |
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 \
-u "${VONAGE_API_KEY}:${VONAGE_API_SECRET}" \
"https://api.nexmo.com/ni/advanced/json?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:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)Escriba el código
Añada lo siguiente a ni-advanced.rb:
insight = client.number_insight.advanced(
number: INSIGHT_NUMBER
)
puts insight.inspectEjecute 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 Number Insight API