Cómo construir un bot de WhatsApp con IA para tu negocio en Colombia
Aprende a crear un bot de WhatsApp con IA usando Node.js y TypeScript para automatizar respuestas y mejorar la atención al cliente en tu negocio colombiano. Incluye ejemplos prácticos de código y configuración de WhatsApp Business API.
Introducción a los bots de WhatsApp con IA
En el mercado colombiano, donde el 92% de los usuarios de internet usan WhatsApp (Statista 2024), automatizar respuestas con IA puede reducir costos operativos hasta un 40%. Este tutorial te guiará en la creación de un bot inteligente usando tecnologías accesibles para desarrolladores latinoamericanos.
Requisitos previos: Node.js 18+, cuenta de WhatsApp Business, conocimientos básicos de TypeScript y API REST.
Configuración inicial del proyecto
Crea un nuevo proyecto Node.js e instala las dependencias clave:
npm init -y
npm install whatsapp-web.js qrcode-terminal openai langchain
npm install --save-dev typescript @types/node
npx tsc --initConfigura tu archivo tsconfig.json con estos parámetros esenciales:
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"strict": true,
"esModuleInterop": true
}
}Conexión con WhatsApp Business API
Para Colombia, puedes usar la solución oficial de Meta o servicios locales como Wassenger que cumplen con regulaciones de protección de datos. Implementemos la conexión básica:
import { Client, LocalAuth } from 'whatsapp-web.js';
import qrcode from 'qrcode-terminal';
const client = new Client({
authStrategy: new LocalAuth(),
puppeteer: { headless: true }
});
client.on('qr', qr => {
qrcode.generate(qr, { small: true });
});
client.on('ready', () => {
console.log('Bot listo para mensajes en Colombia!');
});
client.initialize();Integración de IA con OpenAI
Vamos a implementar un modelo de lenguaje para respuestas inteligentes. Usaremos GPT-3.5-turbo por su balance costo-rendimiento:
import { OpenAI } from 'langchain/llms/openai';
const llm = new OpenAI({
openAIApiKey: process.env.OPENAI_KEY,
temperature: 0.5,
modelName: 'gpt-3.5-turbo',
maxTokens: 150
});
async function generarRespuestaIA(mensaje: string) {
const prompt = `Como asistente virtual de una empresa colombiana, responde de manera profesional y cercana:\n\nCliente: ${mensaje}\nAsistente:`;
return await llm.predict(prompt);
}Manejo de mensajes entrantes
Implementa lógica para procesar diferentes tipos de mensajes (texto, multimedia, comandos):
client.on('message', async msg => {
// Ignorar mensajes propios
if (msg.fromMe) return;
// Comandos especiales
if (msg.body.startsWith('!')) {
await manejarComando(msg);
return;
}
// Respuesta IA para mensajes normales
const respuesta = await generarRespuestaIA(msg.body);
await msg.reply(respuesta);
});
async function manejarComando(msg: Message) {
const comando = msg.body.slice(1).toLowerCase();
switch(comando) {
case 'horario':
await msg.reply('Nuestro horario en Bogotá es L-V 8am a 6pm');
break;
case 'sucursales':
await msg.reply('Tenemos locales en Bogotá, Medellín y Cali');
break;
default:
await msg.reply('Comando no reconocido. Prueba con !horario o !sucursales');
}
}Despliegue en la nube para Colombia
Para producción, considera servicios locales como AWS Colombia o Google Cloud Santiago por latencia. Ejemplo de Dockerfile:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
CMD ["node", "dist/index.js"]Consideraciones legales en Colombia
- Registra tu bot ante la SIC cumpliendo con la Ley 1581 de Protección de Datos
- Incluye un opt-out claro según regulaciones de mensajería comercial
- Almacena conversaciones cifradas si manejas datos sensibles
Optimización para el mercado colombiano
Mejora tu bot con estas adaptaciones regionales:
// Ejemplo de detección de regionalismos
const regionalismos = {
'parcero': 'amigo',
'chévere': 'genial',
'rumbear': 'salir'
};
function normalizarTexto(texto: string) {
return texto.replace(
new RegExp(Object.keys(regionalismos).join('|'), 'gi'),
match => regionalismos[match.toLowerCase()]
);
}Dato clave: Los bots con reconocimiento de regionalismos aumentan la satisfacción del usuario en un 28% según estudio de Fedesoft 2024.
¿Te fue útil este artículo?
Déjame tu email y te aviso cuando publique nuevos artículos técnicos.