
Compartir:
Benjamin Aronov es desarrollador de Vonage. Es un constructor de comunidades con experiencia en Ruby on Rails. Benjamin disfruta de las playas de Tel Aviv, a la que llama hogar. Su base en Tel Aviv le permite conocer y aprender de algunos de los mejores fundadores de startups del mundo. Fuera de la tecnología, a Benjamin le encanta viajar por el mundo en busca del perfecto pain au chocolat.
Creación de un agente de voz resistente: Guía de sistemas de conmutación por error
Tiempo de lectura: 8 minutos
Si nació después de 1980, hay un 80% de probabilidades de que tema contestar o hacer llamadas telefónicas (según estudios realizados en Alemania y Estados Unidos). estudios realizados en Alemania y EE.UU.). Para las empresas, eso significa que pronto más de la mitad de la población mundial de consumidores estará predispuesta a la "telefonobia".
Aunque llegar a los clientes a través de llamadas de voz es un medio eficaz de comunicación, las empresas harían bien en implementar formas alternativas para adaptarse a las preferencias de sus clientes. Una solución sencilla sería el seguimiento por SMS, WhatsApp o correo electrónico. Esto podría tener muchas aplicaciones en el mundo real: confirmación de citas, recordatorios de pago, marketing saliente, etc.
AI Studio de Vonage te permite crear chatbots de telefonía saliente en una plataforma intuitiva sin código/con código bajo. La plataforma es fácil de usar y te permite crear potentes integraciones para llevar la experiencia del cliente al siguiente nivel. En esta entrada de blog, aprenderá a activar una llamada saliente de su agente y luego enviar un mensaje SMS de seguimiento y un correo electrónico cuando la llamada no tiene éxito.
Requisitos previos
Cuenta de desarrollador de Vonage
2 números virtuales de Vonage - Alquile 1 número por cada agente virtual
Node.js - descargar e instalar Node
Cuenta de cartero - Registrarse en Postman
Cuenta Ngrok - Registrarse en ngrok
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Cómo crear un chatbot de telefonía saliente
Para crear su agente, siga las instrucciones de la documentación de AI Studio aquí. Hay tres opciones importantes para nuestro agente, seleccione:
Tipo: Telefonía
Plantilla: Empezar de cero
Evento: Salida
Como la funcionalidad que quieres crear se basa en que la llamada falle de alguna manera, sólo necesitarás construir el agente más simple. Añade un único "Nodo "Hablar a tu agente y añade una frase para que el agente la diga. Después añade un nodo Finalizar Llamada para finalizar el flujo.
Simple Voice Agent in AI Studio
El último paso es conectar a su agente a un número virtual. Esta guía explica cómo publicar su agente.
Cómo activar un chatbot de telefonía saliente
Ahora que ha creado su agente, tendrá que activar la API de llamadas salientes de AI Studio API de llamadas salientes. Para ello puedes utilizar Postman. Una vez conectado, crea una nueva Colección. Luego crearás una nueva petición HTTP de tipo POST.
Si su agente se encuentra en Europa, la URL debe ser:
https://studio-api-eu.ai.vonage.com/telephony/make-callSi su agente se encuentra en Estados Unidos, la URL debe ser
https://studio-api-us.ai.vonage.com/telephony/make-call
Puede ver la ubicación de su agente en Detalles del agente.
Cabeceras
En la pestaña Encabezados, tienes que añadir tu AI Studio X-Vgai-Key. Encontrará el icono X-Vgai-Key en la parte superior derecha del lienzo de AI Studio. Haz clic en el icono "usuario" y, a continuación, en "Generar clave API".
Outbound Agent Triggered From Postman
Cuerpo
Ahora abra la pestaña Body y seleccione la pestaña raw option y en el desplegable seleccione JSON. Por último, añade lo siguiente:
{
"to": “TESTING_NUMBER",
"agent_id": "YOUR_AGENT_ID",
"status_url": ""
}Sustituya TESTING_NUMBER por tu número de teléfono o el número al que quieras recibir la llamada. El número debe estar en formato internacional, sin mayúsculas ni minúsculas. + o 0. Reemplaza YOUR_AGENT_ID con la identificación de tu agente de Vonage AI Studio. Puedes encontrarlo en los detalles del agente. Deja status_url en blanco por ahora. Esto se actualizará con la URL del servidor de tu aplicación.
Outbound Agent Postman Request with Data
Pulsa "Guardar" y pon a prueba a tu agente haciendo clic en "Enviar". Deberías recibir una llamada de tu agente, ¿no es genial?
Cómo crear una aplicación de nodo para gestionar una llamada fallida
Ahora vas a crear una aplicación para manejar esa status_url llamada. Abre tu terminal y crea un nuevo proyecto:
A continuación, inicialice el proyecto como una Node e instale el paquete Express paquete:
Por último, cree un archivo llamado app.js. Aquí es donde vivirá nuestro código.
touch app.js
Añade lo siguiente al archivo app.js. Este código, en gran parte repetitivo, crea un servidor Express que se ejecuta en el puerto 3000 y gestiona las peticiones POST. Cuando se recibe una solicitud POST, la aplicación se console.log el contenido de la solicitud.
// app.js
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
// Use bodyParser middleware to parse JSON requests
app.use(bodyParser.json());
// Handle POST requests to the root endpoint
app.post('/', (req, res) => {
// Display the payload in the console
console.log('Received POST request. Payload:', req.body);
// Send a response back to the client
res.status(200).send('POST request received successfully');
});
// Start the server
app.listen(port, () => {
console.log(\`Server is running on http://localhost:${port}\`);
});
Ahora guarda tu app.js y ejecuta la aplicación:
node app.js
Por último, tendrá que exponer su aplicación mediante utilizando ngrok. Abre una nueva pestaña en tu terminal y ejecuta:
ngrok http 3000
En tu terminal ngrok creará una URL de túnel para ti. Ahora necesitarás copiar/pegar tu URL de túnel para el valor de status_url en el cuerpo de tu petición Postman.
Outbound Voice Agent with Status URL Webhook
Ahora puede pulsar Enviar para probar la llamada. Pero esta vez no respondas a la llamada. A continuación, vuelve a la pestaña de tu terminal que está ejecutando el servidor de tu aplicación. Deberías ver la carga útil de la solicitud POST de AI Studio.
Node Server with Status URL Payload
¿Por qué es posible que no reciba una solicitud POST?
Si no recibe una carga útil y se ha asegurado de haberlo hecho todo correctamente, ¡puede que no sea culpa suya! El endpoint status_url se basa en la información recibida de los operadores de telefonía. Los datos proporcionados varían de un país a otro e incluso de un proveedor a otro. Puede comprobarlo probando con números de teléfono de distintos proveedores de red.
Cómo crear un chatbot de SMS con tolerancia a fallos
Ahora necesitarás crear un segundo agente. En este ejemplo, utilizaremos SMS como método de conmutación por error, pero también puedes utilizar WhatsApp o HTTP de forma similar. Hay tres opciones importantes para nuestro agente, seleccione:
Tipo: SMS
Plantilla: Empezar de cero
Evento: Salida
Nuestro agente SMS será bastante sencillo. Añadir 2 nodos:
A Enviar SMS nodo con el texto "¡Hola, hemos intentado llamarte!".
El campo "Para" debe establecerse con el parámetro de sistema $SENDER_PHONE_NUMBER, que obtendrá su valor de la solicitud que enviaremos a Studio en la siguiente sección.
El campo "De" debe sustituirse por $AGENT_PHONE_NUMBER.
A Enviar Email que puede configurar en su correo electrónico personal con el asunto y el mensaje que desee.
Simple SMS Agent in AI Studio
Pero, ¿cómo se activará este agente? Lo ha adivinado. A través de una petición POST similar a la de nuestro agente Voice. Esta petición POST vendrá desde dentro de nuestra aplicación de nodos. Para ello necesitaremos el paquete paquete axios. Así que detenga su servidor e instale axios:
npm i axios
Entonces necesitarás actualizar un poco tu archivo app.js. Tendremos que requerir el paquete axios, preparar nuestra Solicitud de SMS saliente con las cabeceras y los datos necesarios, y luego lanzar la solicitud una vez que hayamos recibido el estado de nuestro agente de Voice. Puedes ver cómo queda el código final:
// app.js
const express = require('express');
const bodyParser = require('body-parser');
const axios = require('axios');
const url = 'https://studio-api-eu.ai.vonage.com/messaging/conversation';
const data = {
"to": "DESTINATION_NUMBER",
"agent_id": "YOUR_AGENT_ID",
"channel": "sms"
// optional to pass status_url
// "status_url": "string"
}
const headers = {
'Content-Type': 'application/json',
'X-Vgai-Key': 'YOUR_VGAI_KEY',
};
const app = express();
const port = 3000;
// Use bodyParser middleware to parse JSON requests
app.use(bodyParser.json());
// Handle POST requests to the root endpoint
app.post('/', (req, res) => {
axios.post(url, data, { headers })
.then(response => {
})
.catch(error => {
console.error('Error:', error);
});
// Send a response back to the client
res.status(200).send('POST request received successfully');
});
app.get('/', (req, res) => {
// Send a response back to the client
res.status(200).send('GET request received successfully');
});
// Start the server
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
Y ya está. Ejecuta la solicitud del cartero, ignora la llamada y recibirás un mensaje de texto en tu teléfono y un correo electrónico en tu bandeja de entrada. ¿No es genial?
Tenga en cuenta que
agent_iddebe ser el ID de su agente SMS saliente; el segundo agente que ha creado.
Conclusión
En este tutorial, hemos cubierto cómo construir un chatbot de telefonía saliente usando AI Studio de Vonage y cómo activarlo usando una solicitud POST. También hemos explorado cómo crear una aplicación Node para manejar una llamada fallida y enviar un mensaje de seguimiento por SMS o correo electrónico. Siguiendo los pasos descritos en este tutorial, puedes crear una experiencia de cliente fluida que se adapte a las preferencias de los consumidores modernos.
Queremos saber cómo disfrutas (o detestas) AI Studio. Ponte en contacto conmigo en nuestro Slack de la comunidad de desarrolladores o en X, antes conocido como Twitter. Este artículo se inspiró en una pregunta de nuestro Slack, así que ¿quién sabe? Puede que mi próxima entrada en el blog esté inspirada en ti.
Recursos adicionales
Compartir:
Benjamin Aronov es desarrollador de Vonage. Es un constructor de comunidades con experiencia en Ruby on Rails. Benjamin disfruta de las playas de Tel Aviv, a la que llama hogar. Su base en Tel Aviv le permite conocer y aprender de algunos de los mejores fundadores de startups del mundo. Fuera de la tecnología, a Benjamin le encanta viajar por el mundo en busca del perfecto pain au chocolat.
