Skip to content
ea3000Public

About

Plataforma SaaS de Chatbot, Mensajes Masivos y CRM para WhatsApp. Automatización de ventas y soporte para empresas. https://openwhats.com

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

OpenWhats

OpenWhats es una solución integral para la automatización de marketing y mensajería en WhatsApp. Este repositorio contiene documentación técnica, ejemplos de arquitectura y material demostrativo del ecosistema OpenWhats.

📂 Estructura del Proyecto

El proyecto está dividido en tres componentes principales:

  1. OpenWhats Backend (Go):

    • Núcleo del sistema de automatización basado en la librería whatsmeow.
    • Expone una API REST y WebSocket para controlar sesiones de WhatsApp.
    • Maneja el envío de mensajes, gestión de grupos y eventos en tiempo real.
  2. OpenWhats (VB.NET):

    • Aplicación de escritorio para Windows.
    • Interfaz gráfica para gestión de campañas, respuestas automáticas y configuración de cuentas.
  3. OpenWhats Panel (PHP):

    • Panel web para administración de licencias y usuarios.
    • API para validación de clientes.

🖥️ OpenWhats (Aplicación de Escritorio)

La interfaz gráfica principal para gestionar campañas y automatización.

✨ Funcionalidades Avanzadas

📢 Envíos Masivos (Bulk Sender)

Sistema robusto para envío de campañas a gran escala con múltiples protecciones.

  • Modos de Envío:
    • Simultáneo: Envío paralelo desde múltiples cuentas.
    • Rotación: Cambio automático de cuenta remitente cada X mensajes para distribuir la carga.
  • Control de Velocidad: Configuración de retardos aleatorios (Min/Max segundos) entre mensajes para simular comportamiento humano.
  • Personalización: Soporte completo para variables dinámicas (ej: Hola {{Nombre}}) y Spintax (ej: {Hola|Buenas|Qué tal}) para variar el contenido.
  • Reportes: Generación automática de informes HTML detallados con estado de entrega (Éxito/Fallo).

🤖 Chatbot e Inteligencia Artificial

Responde automáticamente a tus clientes 24/7.

  • Reglas Clásicas: Configura respuestas basadas en palabras clave ("Precio", "Info") con coincidencia exacta o parcial. Soporta envío de archivos adjuntos.
  • Integración AI: Conecta OpenAI (GPT-4o) o DeepSeek para respuestas inteligentes y naturales.
    • System Prompt: Define la personalidad y conocimientos del bot (ej: "Eres un asistente de ventas de zapatos...").
    • Contexto: El bot recuerda el hilo de la conversación.

🔍 Funciones de validación y organización de bases de contactos. (Filtrar Numeros)

Limpia tus bases de datos antes de enviar.

  • Verificación Real: Consulta directamente a los servidores de WhatsApp para confirmar si un número existe.
  • Importación Flexible: Carga contactos desde archivos (CSV, TXT, Excel), Contactos de Google, o genera rangos numéricos secuenciales.
  • Exportación: Separa automáticamente números válidos e inválidos.

🔥 Herramientas de optimización de uso y buenas prácticas operativas. (Preparar Cuentas)

Herramienta para aumentar la reputación de cuentas nuevas.

  • Simula conversaciones naturales entre tus propias cuentas conectadas.
  • Genera historial de chat automáticamente para reducir el riesgo de bloqueo en cuentas nuevas.

🤝 CRM (Customer Relationship Management)

Gestiona el ciclo de ventas directamente desde la aplicación.

  • Kanban Board: Visualiza tus leads en columnas por etapas (Nuevo, Contactado, Negociación, Cerrado). Arrastra y suelta para mover contactos.
  • Etiquetado Inteligente: Asigna etiquetas personalizadas con colores para categorizar clientes.
  • Gestión de Datos: Edita información de contacto, notas y mantén un historial de interacciones.
  • Acciones Rápidas: Inicia chat, llama o agenda recordatorios directamente desde la tarjeta del cliente.

🗺️ Extractor de Google Maps (G-Extractor)

Obtén leads cualificados directamente de Google Maps.

  • Búsqueda Local: Introduce palabras clave (ej: "Restaurantes en Madrid") para encontrar negocios.
  • Extracción de Datos: Captura Nombre, Teléfono, Dirección, Web, Reseñas y Calificación.
  • Limpieza Automática: Elimina caracteres no numéricos de los teléfonos y añade prefijos de país automáticamente.
  • Exportación: Guarda los leads en Excel (XLSX), CSV o TXT listos para importar al envío masivo.

👥 Gestión Multicuenta

Administra múltiples líneas de WhatsApp simultáneamente.

  • Instancias Independientes: Cada cuenta opera en su propio entorno aislado.
  • Sesión Persistente: No necesitas escanear el QR cada vez; las sesiones se guardan de forma segura.
  • Asignación de Tareas: Define qué cuenta se usa para campañas específicas o repártelas en modo rotativo.

📢 Publicador de Estados

Mantén activas tus cuentas publicando historias (estados) de forma masiva.

  • Multicuenta: Publica el mismo estado en todas o varias cuentas seleccionadas con un solo clic.
  • Soporte Multimedia: Sube imágenes (JPG, PNG) y videos (MP4) directamente desde tu PC.
  • Estados de Texto: Crea estados de texto con fondo de color para anuncios rápidos.

👨‍👩‍👧‍👦 Herramientas de gestión y análisis de audiencias. (Group Grabber)

Herramienta potente para obtener contactos segmentados de grupos de WhatsApp.

  • Escaneo de Grupos: Detecta todos los grupos a los que pertenecen tus cuentas conectadas.
  • Extracción de Miembros: Obtén la lista completa de participantes (IDs de usuario) de cualquier grupo seleccionado.
  • Exportación: Guarda los datos en CSV para importarlos inmediatamente a tus campañas de envío o al filtro de números.

📊 Reportes de Envío

Auditoría completa de tus campañas de marketing.

  • Historial Visual: Visualiza reportes detallados en formato HTML directamente en la aplicación.
  • Calendario de Envíos: Filtra reportes por fecha para revisar el rendimiento diario.
  • Detalles de Entrega: Verifica cuántos mensajes fueron enviados con éxito y cuántos fallaron.

⚙️ OpenWhats Backend (API de WhatsApp)

El backend es el motor que permite la comunicación con WhatsApp. Está escrito en Go para máximo rendimiento y concurrencia.

Requisitos Previos

  • Go 1.23+: Necesario para compilar el código fuente.
  • GCC: Requerido para compilar go-sqlite3 (en Windows, instalar MinGW o TDM-GCC).

Instalación y Ejecución

  1. Navega al directorio del backend:

    cd backend
  2. Instala las dependencias:

    go mod download
  3. Ejecuta el servidor:

    go run .

    El servidor iniciará por defecto en http://localhost:8088.

📚 Documentación de API (Endpoints)

La documentación completa e interactiva (Swagger UI) está disponible en /swagger/ cuando el servidor está corriendo. A continuación, un resumen de las funciones principales:

📱 Gestión de Dispositivos (Sesiones)

  • Crear Dispositivo

    • POST /devices
    • Registra una nueva sesión virtual. Retorna un device_id.
  • Login (Conexión)

    • POST /devices/{device_id}/login
    • Inicia el proceso de conexión. Si no hay sesión, genera eventos QR por WebSocket.
  • Logout

    • POST /devices/{device_id}/logout
    • Cierra la sesión y desconecta el dispositivo.
  • Estado

    • GET /devices/{device_id}/status
    • Verifica si el dispositivo está conectado.
  • Obtener QR

    • GET /devices/{device_id}/qr
    • Obtiene el código QR actual en formato Base64 (útil si no usas WebSocket).

📩 Mensajería

  • Enviar Texto

    • POST /messages/text
    • Envía mensajes de texto a usuarios o grupos.
  • Enviar Multimedia

    • POST /messages/media
    • Envía imágenes, videos, audios o documentos. Soporta multipart/form-data.
  • Descargar Multimedia

    • GET /messages/{message_id}/download
    • Descarga el archivo adjunto de un mensaje recibido.

👥 Grupos y Contactos

  • Listar Contactos

    • GET /contacts
    • Obtiene la lista de contactos sincronizados.
  • Verificar Número

    • GET /contacts/exists?number=51999...
    • Verifica si un número tiene cuenta de WhatsApp.
  • Listar Grupos

    • GET /groups
    • Obtiene todos los grupos donde participa el usuario.
  • Participantes de Grupo

    • GET /groups/{group_jid}/participants
    • Obtiene la lista de miembros de un grupo específico.

📡 WebSocket (Eventos en Tiempo Real)

Conéctate a ws://localhost:8088/ws?device_id={device_id} para recibir actualizaciones en tiempo real.

Eventos Principales

  1. qr: Recibes un nuevo código QR (string base64) para mostrar al usuario.
  2. connection_open: La conexión con WhatsApp se ha establecido exitosamente.
  3. ack: Confirmación de entrega de mensajes (enviado, entregado, leído).
  4. message: Notificación de mensaje entrante (texto o multimedia).

⚠️ Aviso Legal

Este repositorio es únicamente informativo y demostrativo. No incluye sistemas productivos ni herramientas operativas.

OpenWhats es una plataforma independiente y no está afiliada, asociada ni respaldada por WhatsApp LLC.

El uso de cualquier herramienta de mensajería debe cumplir con las leyes locales y los términos de servicio de cada plataforma.

About

Plataforma SaaS de Chatbot, Mensajes Masivos y CRM para WhatsApp. Automatización de ventas y soporte para empresas. https://openwhats.com

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors