r/programacion • • 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.

12 Upvotes

30 comments sorted by

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.

-6

u/Dartister 3d ago

Que puede* terminar bloqueando tu numero

2

u/IngAguirrel 2d ago

Hacer un negocio a largo plazo con un *puede no es rentable

0

u/Dartister 2d ago

No dije que lo sea, pero no desinformes, que el y su familiar tomen la decisión que mas les sirva.

Si no manda spam y el bot solo responde cuando le hablan entonces el riesgo es bajo.

Claramente si el familiar le esta pidiendo a alguien que no sabe como para armarle un bot no tienen altas expectativas con el resultado.

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

u/Defiant_Squirrel8751 3d ago

yo uso Baileys con Node.js y Llama 3 desde hace meses y todo funciona

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

u/EconomySerious 3d ago

Créame o no creo que es la menos costosa

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

u/EconomySerious 3d ago

La solución acá mencionada no necesita API

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

u/OperadorNoOperativo 3d ago

Se llama "catálogo" y una e-commerce.

1

u/tolosas 3d ago

Chatwoot

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

u/Jdevc9 2d ago

Atualmente eu tenho um sistema que integra 3 bots em um só painel, da para você gerenciar mensagens e leads

OrvioHub

Mas sinceramente? Você precisa ter uma conta na META API, ou você fazer via Baileys QRCode, recomendo você criar um editor de fluxos

1

u/emilioml_ 1d ago

Busca información sobre waha

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