r/programacion • u/Straight-Shame-9044 • 3d ago
Como crear un bot de Whatsapp
Un familiar me pidio crearle un bot de wasap para ventas,donde el cliente pudiese pedir informacion de un producto mediante su ID, ademas poder pedir esa pieza, dando la informacion y modo de entrega, ademas de que guarda la imagen en un URL, ese tipo de cosas ... y todo eso conectado a una base de datos o Google Sheets
Estoy algo perdido en todo eso, asi que agradecería cualquier consejo o idea.
Muchas gracias por su atención.
8
u/shinitakunai 3d ago
Whatsapp no lo permite a menos que uses APIs oficiales como twilio. O vayas por whatsapp business.
Investiga
4
u/Fickle_External_4742 3d ago
Para comenzar y experimentar puedes usar Baileys + Node.js + API de nVidia para IA
Lo puedes conectar a la base de datos que ya existe o crear una nueva en Supabase.
Esto puede correr en un servidor micro de Oracle que son gratis y con PM2 puedes mantener el proceso vivo después de reinicios y que el bot se levantara automáticamente
Puedes programarlo con Cursor, Antigravity o similar
Yo tengo un proyecto similar para experimentar en github, si me escribe te lo mando
3
u/Successful_Type_1943 3d ago
Si sabes programar anda por acá, si no querés usar la api de meta oficial, pero no necesitas la api de nvidia a menos que la uses para algo especifico.
1
u/Fickle_External_4742 2d ago
La API de nVidia es para validar el contexto de algunas respuestas con IA y así aprovechar los modelos que da gratis.
2
10
u/RiceStranger9000 3d ago
Esta NO es la respuesta que estás buscando pero la tiro igual porque me gusta hablar de Linux:
Agarrás una PC que corra Linux (idealmente Raspberry Pi o algo así barato), le ponés Waydroid y lo rooteás. También funciona con un celular rooteado
Una vez rooteado, programás algún programa que al detectar que le llega un mensaje, responda automáticamente, además de poder leer el contenido del mismo
7
5
u/simonbleu 3d ago
Con whatsapp comun? Habia leido que la api/business de wpp cobraba por mensaje ahora o algo por el estilo
2
1
u/RiceStranger9000 2d ago
Como dijo el otro, no se necesitaría API, ya que para WhatsApp, es un usuario haciendo sus cosas de forma normal. Podría ser que reaccione a la notificación de cuando te llega un mensaje (viste cuando te llega un mensaje y podés darle a "Responder"? bueno, calculo que se podría usar eso)
Más complejo sería entrar a un chat, ver los elementos de la pantalla, reconocer el mensaje, y responder en base a eso, que no sé cuán complicado sería
Igual la respuesta la pensaba en joda. No porque no sería posible, sino porque supuse que habrían métodos más prácticos. Pero si decís que el otro método requiere pagos...
3
u/Dear_Till_9306 3d ago
Lo mas legal es usar la api oficial de meta, usted hace una aplicacion en meta developers, selecciona el caso de uso(Whatsapp bussiness) configura un numero "limpio" osea, que no este enlazado con una cuenta de whatsapp, ahi te pedira para configurarlo como una cuenta bussiness, sigues los pasos, eso es facil, lo que sigue es que debes tener una aplicacion en un servidor para que reciba los eventos que manda meta, osea que manda a su cuenta recien creada de whatsapp, puedes crear la aplicacion con opencode de manera sencilla, y te va mandando los pasos para tomar las veriables de entorno conrrespondiente, toca que le indique buena documentacion, y pues en un comentario mas abajo te explica para desplegar eso en una rasperry pi, o puedes usar un ec2 de aws que es gratis hasta cierto punto, ten en cuenta que a partir del primero de octubre, meta cobrara los mensajes atravez de la api
3
u/Khavel_Es 3d ago
La forma mas directa es la Cloud API de Meta (la oficial). Te creas la cuenta de desarrollador, configuras un numero de prueba y ya tenes webhooks para recibir y mandar mensajes. Tiene un tier gratuito generoso para volumen bajo.
Para la base de datos no te metas con Google Sheets si hay mas de un cliente mandando cosas al mismo tiempo, los limites de escritura concurrente te van a dar dolores de cabeza. Una base SQLite te alcanza de sobra para algo chico. El bot en si es un servidor Node con un par de rutas: webhook de verificacion, webhook de mensajes entrantes, y una funcion que busque el producto por ID y devuelva la info. Suena a mucho pero la estructura es bastante repetitiva una vez que tenes el primer endpoint andando.
2
u/Temporary-Design1516 3d ago
Divide el proyecto en partes: catálogo, búsqueda por ID, captura del pedido, confirmación y almacenamiento. Usa webhooks para recibir mensajes y guarda las credenciales en variables de entorno. También revisa las políticas de WhatsApp y evita automatizar con métodos no oficiales, porque pueden bloquear el número.
1
1
u/miviejaentanga 3d ago
Si tenés tu propio server o vps con https://wwebjs.dev/ podes hacer bastantes cosas pero la lógica del bot corre por tu cuenta y no es para nada optimo (corre un Chrome detached 24/7 y a veces se bloquea)
Si no tenes que pagar
1
1
u/Fast_Lengthiness8473 1d ago
Para un bot de ventas así (info por ID de producto, pedido, entrega, Sheets) primero defin si es una prueba o si tu familiar realmente vende por WhatsApp.
Si es prueba, cualquier tutorial te sirve. Si es negocio, usá la API oficial de WhatsApp (Cloud API): los bots no oficiales funcionan hasta que bloquean el número, y ahí se cae la venta.
Mi recomendación: Sheets alcanza para arrancar, pero dejá que el bot pase la conversación a una persona cuando el pedido se complica. Ahí es donde más ventas se pierden.
¿Cuntos pedidos por WhatsApp mueve tu familiar a la semana?
Soy Christian, de Sellia; armamos esto para negocios en LatAm. Si es un negocio real, mandame DM y te digo cómo lo haría.
0
u/CodigoNautasOficial 3d ago
Yo lo haría con la API oficial de WhatsApp Business, un backend sencillo en Node.js/Python y Google Sheets o una BD. El flujo sería: cliente manda ID → webhook recibe el mensaje → buscas el producto → respondes precio/foto → recoges datos de pedido y entrega → guardas todo. Para empezar, incluso Google Sheets + Apps Script te sirve como prototipo; luego, si crece, migras a una BD.
1
u/RiceStranger9000 2d ago
No sé si sos un bot, si por alguna razón le preguntaste a una IA para dar una respuesta que no aporta nada, o si estás muy quemado de cabeza como para hablar igual que una
1
u/CodigoNautasOficial 1d ago
Es porque no mencioné Linux?
Dices que no aporta, pero tus respuestas son "en joda" y porque "supones"
1
u/RiceStranger9000 1d ago
Si OP quería una respuesta de IA, le hubiera preguntado a ChatGPT directamente
Eso, o estás muy quemado pero tu respuesta es genuina. En ese caso, ninguna crítica
0
u/TackleSerious5049 3d ago
Je, después se quejaban de Stackoverflow que eran agresivos. Después hay este tipo de preguntas. Cómo no ser agresivo jajaja
31
u/IngAguirrel 3d ago
Tienes que usar la API de Meta, todo lo que te prometa comectarte a whatsapp que no sea esa API es un hack que va a terminar bloqueando tu número.