📋 Contenido
1. Objetivo General
Qué se quiere lograr con este módulo
Captura de campo sin app
Permitir que cualquier trabajador de una finca registre datos operativos (labores, cosecha, báscula) directamente desde WhatsApp, sin necesidad de instalar ninguna aplicación adicional.
Validación inteligente con IA
La IA actúa dentro de PALMAS360, al momento en que el supervisor abre la solicitud para aprobar. Detecta errores, campos inconsistentes y sugiere correcciones. El bot de WhatsApp solo guía la captura con un menú estructurado.
Cero ingresos sin supervisión
Ningún dato llega directamente a la base de datos. Siempre pasa por un dashboard de aprobación. El supervisor edita, valida y autoriza antes de guardar.
Notificaciones automatizadas
Los supervisores programan tareas en PALMAS360 y, al activar "Notificar", el sistema envía automáticamente el aviso por WhatsApp a los usuarios asignados.
Informes por WhatsApp
Los clientes pueden solicitar informes escribiendo en lenguaje natural. La IA interpreta la solicitud, consulta el ERP y devuelve el informe directamente al chat.
Multi-tenant seguro
Un mismo número de WhatsApp Business atiende a todos los clientes (empresas). El sistema identifica a qué empresa pertenece cada número y dirige los datos al tenant correcto.
2. Alcance del Módulo
Qué está dentro y qué está fuera del alcance inicial
| Funcionalidad | Dentro del alcance | Fuera del alcance v1 |
|---|---|---|
| Captura de datos de campo | Labores diarias, ciclos de cosecha, tiquetes de báscula | Otros módulos del ERP (nómina, fertilización…) |
| Identificación de usuario | Por número de teléfono registrado en la empresa | Autenticación biométrica / 2FA por WhatsApp |
| Routing multi-tenant | Despacho automático al tenant correcto (≈30 empresas) | Creación de nuevos tenants desde WhatsApp |
| Dashboard de aprobación | Revisión, edición y aprobación por el supervisor | Aprobación masiva sin revisión |
| Validación con IA | Errores de parametrización, lotes duplicados, campos faltantes | Lógica de negocio financiera compleja |
| Notificaciones salientes | Tareas programadas desde PALMAS360 → WhatsApp | Campañas de marketing / mensajes masivos |
| Informes por chat | Informes disponibles en el ERP, vía lenguaje natural | Generación de informes ad-hoc nuevos |
| Log de WhatsApp | Historial de mensajes por empresa y por número | Archivado de multimedia (imágenes, audios) |
A partir de ese click, el flujo es el de PALMAS360 existente: la misma lógica de negocio, las mismas tablas y las mismas validaciones que ya funcionan en el ERP.
Lo nuevo es: WhatsApp API → Webhook → Router → Dashboard de aprobación → click Guardar → tablas existentes del ERP.
3. Arquitectura del Sistema
Componentes principales y cómo se relacionan
Figura 1 · Arquitectura general del Bot WhatsApp para PALMAS360
WhatsApp Business API
Canal de comunicación bidireccional. Recibe mensajes entrantes y envía respuestas y notificaciones.
Router de Tenant
Identifica el número de teléfono en la tabla de usuarios registrados y determina a qué empresa pertenece.
Motor IA (LLM)
Actúa dentro del dashboard de PALMAS360: analiza los datos capturados por el bot, detecta inconsistencias y presenta alertas y sugerencias al supervisor antes de aprobar.
Dashboard de Aprobación
Interfaz dentro de PALMAS360 donde el supervisor revisa, corrige y aprueba cada solicitud antes de guardarla.
Planificador de Tareas
Permite programar tareas en el ERP y disparar automáticamente un mensaje de WhatsApp al activar "Notificar".
Log de WhatsApp
Sección del ERP que muestra el historial completo de conversaciones, agrupadas por empresa y por número de teléfono.
4. Flujo · Captura de Datos de Campo
Doble vía: menú guiado paso a paso, o texto libre (un párrafo de corrido) que la IA interpreta y organiza en el dashboard de PALMAS360
Figura 2 · Flujo de captura: menú guiado o texto libre interpretado por IA en dashboard
Empresa: Rosa Blanca
¿Qué deseas registrar?
1️⃣ Labor Diaria
2️⃣ Ciclo de Cosecha
3️⃣ Tiquete de Báscula
4️⃣ Solicitar Informe
5️⃣ Cancelar
¿Cuál es la fecha? (dd/mm/aaaa)
📅 25/05/2026 · Lote 7
Labor: Poda
Trabajadores: 4 · Palmas: 120
¿Confirmas? Responde SI o NO
Pendiente de aprobación en PALMAS360 por tu supervisor.
Tu mensaje fue enviado al dashboard.
La IA interpretará los datos y el supervisor los revisará antes de guardar.
Texto libre: el usuario escribe un párrafo de corrido con toda la información. El bot lo recibe, lo reenvía al dashboard y la IA lo interpreta, extrae y organiza los campos automáticamente para que el supervisor los revise.
Labores Diarias
El bot solicita paso a paso: fecha, lote, labor realizada, número de trabajadores, palmas atendidas y observaciones. Todo por preguntas guiadas.
Ciclos de Cosecha
El bot solicita: fecha, lote, número de ciclo, cantidad de racimos, peso estimado y nombre del cortero responsable.
Tiquetes de Báscula
El bot solicita: número de tiquete, placa del vehículo, peso bruto, tara, peso neto y extractora destino.
5. Flujo · Dashboard IA y Aprobación
Datos estructurados del menú, o texto libre: la IA interpreta, organiza y asiste al supervisor antes de guardar cualquier registro
Figura 3 · Dashboard de Aprobación: menú estructurado o texto libre interpretado por IA
Lote ya registrado
La IA alerta si el lote ya tiene un ciclo abierto para la misma fecha, evitando duplicados.
Campos obligatorios faltantes
Detecta si faltan campos requeridos según la parametrización del tenant (p.ej. lote, fecha, labor).
Valores fuera de rango
Identifica pesos, cantidades o fechas que no corresponden a rangos históricos esperados.
Lote o labor no parametrizados
Verifica que el lote y la labor existan en el catálogo activo de la empresa.
Usuario sin permisos
Confirma que el número de teléfono tiene autorización para registrar el tipo de dato enviado.
Ciclo de cosecha inactivo
Advierte si el ciclo al que se intenta cargar producción no está activo en el periodo actual.
6. Flujo · Notificaciones y Tareas Programadas
Envíos automáticos de WhatsApp disparados desde PALMAS360
Figura 4 · Diagrama de secuencia para notificaciones programadas
7. Flujo · Solicitud de Informes por WhatsApp
La IA mapea el lenguaje natural a una función de informe ya existente en PALMAS360 y retorna el resultado por chat
La IA hace dos cosas: (1) reconoce a qué función de informe corresponde la solicitud del usuario, y (2) extrae los parámetros necesarios (fechas, lote, trabajador, etc.) para llamarla.
Si el informe pedido no está implementado en PALMAS360, el bot responde con el catálogo de informes disponibles.
Figura 5 · La IA mapea la solicitud a una función pre-existente de PALMAS360
Catálogo de Funciones de Informes
Solo estos informes pre-construidos en PALMAS360 están disponibles por WhatsApp
| Función PALMAS360 | Descripción | Parámetros requeridos | Ejemplo de solicitud WhatsApp |
|---|---|---|---|
informe_produccion_diaria() |
Producción por lote en un rango de fechas | fecha_inicio, fecha_fin, lote (opcional) | "Dame la producción de esta semana" |
informe_labores_diarias() |
Labores ejecutadas por trabajador o por lote | fecha_inicio, fecha_fin, trabajador / lote | "¿Cuántas labores hizo Juan Pérez este mes?" |
informe_ciclos_cosecha() |
Resumen de ciclos de cosecha activos o cerrados | fecha, lote (opcional), num_ciclo (opcional) | "Estado del último ciclo del lote 5" |
informe_rendimientos_cosecha() |
Rendimiento histórico de cosecha por lote | lote, fecha_inicio, fecha_fin | "Rendimiento del lote 7 en lo que va del año" |
informe_tiquetes_bascula() |
Listado de tiquetes de báscula con pesos y extractoras | fecha (o rango), extractora (opcional) | "Tiquetes de hoy" / "Tiquetes de esta semana" |
informe_pesos_racimos() |
Pesos de racimos registrados en campo | fecha, lote (opcional) | "Pesos de racimos del lote 3 ayer" |
informe_pluviosidad() |
Registros de lluvia por período | fecha_inicio, fecha_fin | "¿Cuánto llovió este mes?" |
informe_ausentismo() |
Ausentismo laboral por trabajador o general | fecha_inicio, fecha_fin, trabajador (opcional) | "Ausentismo de esta quincena" |
informe_inventario_bodega() |
Stock actual de productos en bodega | bodega (opcional), producto (opcional) | "¿Cuánto fertilizante hay en bodega?" |
informe_produccion_proyectada() |
Producción proyectada vs real por período | fecha_inicio, fecha_fin, lote (opcional) | "¿Cómo vamos contra lo proyectado?" |
8. Requerimientos Funcionales
Listado priorizado de funcionalidades a implementar
| # | Módulo | Requerimiento | Prioridad |
|---|---|---|---|
| RF-01 | Identificación | Registrar números de WhatsApp por usuario y por empresa en PALMAS360 | Alta |
| RF-02 | Routing | Enrutar automáticamente cada mensaje al tenant correcto según el número remitente | Alta |
| RF-03 | Captura | Capturar datos por dos vías: (a) menú interactivo con preguntas paso a paso, o (b) texto libre donde el usuario escribe un párrafo de corrido y el bot lo recibe y reenvía al dashboard | Alta |
| RF-04 | IA | Aplicar IA (LLM) en el dashboard de PALMAS360 para: interpretar y extraer campos de mensajes de texto libre, validar datos estructurados, detectar errores y asistir al supervisor en la aprobación | Alta |
| RF-05 | Validación IA | Validar datos contra la parametrización del tenant (lotes, ciclos, usuarios, rangos) | Alta |
| RF-06 | Dashboard | Interfaz de aprobación en PALMAS360 con editor de campos y panel de alertas de IA | Alta |
| RF-07 | Aprobación | Nada se guarda en el ERP sin aprobación explícita del supervisor | Alta |
| RF-08 | Log | Sección en PALMAS360 con historial de conversaciones WhatsApp por empresa y número | Alta |
| RF-09 | Notificaciones | Programar envíos de WhatsApp desde el módulo de tareas de PALMAS360 | Media |
| RF-10 | Informes | Procesar solicitudes de informes en lenguaje natural y entregar respuesta por WhatsApp | Media |
| RF-11 | Permisos | Control de acceso por número: qué puede registrar y qué informes puede solicitar | Media |
| RF-12 | Confirmaciones | Enviar confirmación al usuario por WhatsApp cuando su dato sea aprobado o rechazado | Media |
| RF-13 | Multi-idioma | Soporte para mensajes en español colombiano con variantes regionales | Baja |
| RF-14 | Multimedia | Aceptar fotos de tiquetes y extraer datos con OCR + IA | Baja |
9. Fases de Implementación
Plan de desarrollo en etapas priorizadas
Integración WhatsApp + Identificación de usuarios
Configurar WhatsApp Business API (Meta Cloud API), crear webhook receptor, implementar tabla de números de teléfono por tenant, desarrollar el router multi-tenant y habilitar el log de conversaciones en PALMAS360.
Motor IA de extracción y validación
Implementar el motor de conversación del bot: menú interactivo, preguntas guiadas paso a paso y validación básica de formato de respuesta. Definir esquemas de datos para labores diarias, ciclos de cosecha y tiquetes de báscula. Integrar IA (LLM) en el dashboard de PALMAS360 para asistir al supervisor en la aprobación.
Interfaz de aprobación supervisada
Construir el dashboard dentro de PALMAS360: listado de solicitudes pendientes, vista de detalle con campos editables, panel de alertas y sugerencias de IA, botones de aprobar / rechazar y envío de confirmaciones al usuario.
Planificador de tareas con envío automático
Extender el módulo de tareas de PALMAS360 con opción "Notificar por WhatsApp". Implementar scheduler (cron jobs) que dispara mensajes en la fecha/hora programada y registra el estado de envío y confirmación.
Consultas de informes por lenguaje natural
Entrenar / prompt-engineer al LLM para reconocer intenciones de tipo "informe". Conectar con los endpoints de reportes existentes en el ERP. Formatear la respuesta en texto estructurado para WhatsApp y gestionar control de acceso por número.
10. Tablas Nuevas del Módulo Bot
Solo se crean 3 tablas nuevas. Las tablas del ERP ya existen y no se modifican
wa_usuarios— Números WhatsApp por empresawa_log— Historial de conversacioneswa_solicitudes— Cola de aprobación del dashboard
labores_diarias— Módulo laboresciclos_cosecha— Módulo cosechatiquetes_bascula— Módulo báscula- ...resto de tablas del proyecto
Figura 6 · Solo 3 tablas nuevas (verde). Las tablas del ERP ya existen (gris) y solo reciben el dato cuando el supervisor hace click en Guardar
- telefono (PK)
- empresa_slug
- nombre
- rol (supervisor / trabajador)
- activo
- id (PK)
- telefono_origen
- empresa_slug
- timestamp
- mensaje_raw
- tipo (entrada / salida)
- estado
- id (PK)
- wa_log_id (FK)
- tipo (labor / cosecha / bascula)
- origen (menu / texto_libre)
- datos_json
- texto_raw
- alertas_ia
- estado (pendiente / aprobado / rechazado)
- aprobado_por
- fecha_aprobacion
wa_logHistorial
wa_solicitudesPendiente
IA + Supervisor
Límite del requerimiento
PALMAS360 ERP
Si está de acuerdo con esta estructura y alcance definidos