API avanzada de Number Insight
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.
Number Insight API le ofrece información en tiempo real sobre números de teléfono de todo el mundo. Hay tres niveles disponibles: Básico, Estándar y Avanzado.
El nivel Avanzado le proporciona los datos más completos para ayudarle a proteger su organización contra el fraude y el spam. A diferencia de los niveles Básico y Estándar, normalmente se accede a la API Avanzada de forma asíncrona, a través de un webhook.
En este tutorial
En este tutorial, crearás un servicio web RESTful en Node.js y Express que acepte un número de teléfono y devuelva información detallada sobre dicho número cuando esté disponible.
Para ello, debes seguir los siguientes pasos:
- Crear el proyecto - crear una aplicación Node.js/Express.
- Instala el
vonagepaquete - Incorpora las funciones de Vonage a tu proyecto. - Publica tu aplicación en Internet - uso
ngrokpara permitir que Vonage acceda a tu aplicación a través de un webhook. - Crear la aplicación básica - desarrollar las funciones básicas.
- Crear la solicitud asíncrona - llame a la API avanzada Number Insight.
- Crear el webhook - Escribe el código que procesa los datos de análisis que se reciben.
- Probar la aplicación - ¡Míralo en acción!
Requisitos previos
Para completar el tutorial, necesitas:
- A Account de Vonage - para tu clave y tu secreto de API
- ngrok - para que los servidores de Vonage puedan acceder a tu servidor web de desarrollo a través de Internet
Crear el proyecto
Crea un directorio para tu aplicación, cd en el directorio y, a continuación, utiliza el gestor de paquetes de Node.js npm para crear un package.json archivo con las dependencias de tu aplicación:
Pulsa [Intro] para aceptar cada uno de los valores predeterminados.
A continuación, instala el express marco de aplicaciones web y body-parser paquetes:
Instala el vonage paquete
Ejecuta lo siguiente npm comando en la ventana de la terminal para instalar el SDK de Vonage Node Server:
Publica tu aplicación en Internet
Cuando la API Number Insight termina de procesar su solicitud, avisa a su aplicación mediante un mensaje webhook. El webhook proporciona un mecanismo para que los servidores de Vonage se comuniquen con los tuyos.
Para que tu aplicación sea accesible para los servidores de Vonage, debe estar disponible públicamente en Internet. Una forma de lograr esto durante el desarrollo y las pruebas es utilizar ngrok, un servicio que permite que los servidores locales se conecten a la Internet pública a través de túneles seguros. Véase esta entrada del blog Para más información.
Descargar e instalar ngrok, y a continuación ejecútalo con el siguiente comando:
Esto crea URLs públicas (HTTP y HTTPS) para cualquier sitio web que se esté ejecutando en el puerto 5000 en su máquina local.
Utiliza el ngrok interfaz web en http://localhost:4040 y anota las URL que ngrok lo que necesitas: los necesitarás para completar este tutorial.
Crear la aplicación básica
Crear el index.js en su directorio de aplicaciones con el siguiente código, sustituyendo el archivo VONAGE_API_KEY, VONAGE_API_SECRET y WEBHOOK_URL con sus propios valores:
const app = require('express')();
const bodyParser = require('body-parser');
app.set('port', 5000));
app.use(bodyParser.json());
const VONAGE_API_KEY = // Your Vonage API key
const VONAGE_API_SECRET = // Your Vonage API secret
const WEBHOOK_URL = // e.g. https://bcac78a0.ngrok.io/webhooks/insight
app.get('/insight/:number', function(request, response) {
console.log("Getting information for " + request.params.number);
});
app.listen(app.get('port'), function() {
console.log('Listening on port', app.get('port'));
});
Pruébelo ejecutando el siguiente comando en el terminal y obteniendo el resultado que se muestra:
En un navegador, introduzca la siguiente URL, sustituyendo https://bcac78a0.ngrok.io con el nombre de host ngrok suministros:
https://bcac78a0.ngrok.io/insight/123456
Si todo funciona correctamente, Getting information for 123456 en el terminal.
Crear la solicitud asíncrona
Ahora que su aplicación puede recibir un número de teléfono, debe crear la solicitud asíncrona a la API asíncrona de Number Insight.
Primero, escribe el código que crea una instancia de Vonage con los datos de tu Account:
const Vonage = require('@vonage/server-sdk');
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET
});
A continuación, amplíe el /insight/:number para llamar a la Number Insight API, introduciendo el número que le interesa y la URL del webhook que se ocupa de la respuesta. El webhook se crea en un paso posterior.
app.get('/insight/:number', function(request, response) {
console.log("Getting information for " + request.params.number);
nexmo.numberInsight.get({
level: 'advancedAsync',
number: request.params.number,
callback: WEBHOOK_URL
}, function (error, result) {
if (error) {
console.error(error);
} else {
console.log(result);
}
});
});
La llamada a la API avanzada de Number Insight devuelve una respuesta inmediata que confirma la solicitud antes de que los datos reales estén disponibles. Es esta respuesta la que registramos en la consola:
El status El campo del cuerpo de la solicitud indica si la operación se ha realizado correctamente. Un valor igual a cero indica que se ha realizado correctamente, mientras que un valor distinto de cero indica un error, tal y como se describe en el Documentación de referencia de la Number Insight API.
Crear el webhook
La API de Insight devuelve los resultados a tu aplicación a través de un POST por lo que debe definir el campo /webhooks/insight controlador de ruta como app.post(), tal y como se muestra a continuación:
app.post('/webhooks/insight', function (request, response) {
console.dir(request.body);
response.status(204).send();
});
El controlador registra los datos JSON entrantes en la consola y envía un mensaje 204 Respuesta HTTP a los servidores de Vonage.
El código de estado HTTP 204 indica que el servidor ha atendido correctamente la solicitud y que no hay contenido adicional que enviar en el cuerpo de la respuesta.
Probar la aplicación
Correr index.js:
Introduzca una URL con el siguiente formato en la barra de direcciones del navegador, sustituyendo https://bcac78a0.ngrok.io con su ngrok URL y INSIGHT_NUMBER con un número de teléfono de tu elección:
http://YOUR_NGROK_HOSTNAME/insight/NUMBER
Tras la respuesta de acuse de recibo inicial, la consola debería mostrar información similar a la que se muestra a continuación:
Ten en cuenta lo siguiente al realizar pruebas en tu aplicación:
- La API Insight Advanced no proporciona ninguna información sobre líneas fijas que no esté disponible en la API estándar.
- Las solicitudes a la API de Insight no son gratuitas. Considera la posibilidad de utilizar el
ngroksalpicadero para reproducir solicitudes anteriores durante el desarrollo para evitar cargos innecesarios.
Conclusión
En este tutorial, ha creado una aplicación que utiliza la API asíncrona avanzada de Number Insight para devolver datos a un webhook.
El tutorial no ha abordado algunas de las funciones específicas de la API avanzada, como la coincidencia de direcciones IP, la accesibilidad y el estado de itinerancia. Consulta el documentación para aprender a utilizar estas funciones.
¿Y ahora qué?
Los siguientes recursos le ayudarán a utilizar Number Insight en sus aplicaciones:
- El código fuente para este tutorial en GitHub
- Página de producto de Number Insight API
- Comparación de las API de Insight Básica, Estándar y Avanzada
- Guía de webhooks
- Referencia de la API de Number Insight Advanced
- Conecta tu servidor de desarrollo local a la API de Vonage mediante un túnel ngrok
- Más tutoriales