Procesador de pagos, sincronizador de contactos CRM con CallBell y notificaciones por WhatsApp
Descripción: Se ha realizado una refactorización mayor del sistema de notificaciones y generación de comprobantes para eliminar dependencias legacy (Imagick/FTP) y modernizar la arquitectura. 🚀 Nuevas Características (Features) Microservicio PDF (pdf-cropper): Nuevo servicio en Python (FastAPI + Poppler) desplegado en Docker (Puerto 8050) para la conversión de PDF a Imagen. Reemplaza la librería Imagick de PHP, aislando el procesamiento pesado fuera del plugin. Modo Full: Garantiza la conversión del PDF completo respetando su relación de aspecto original (sin recortes ni "square crop"). Overlay de Texto: Capacidad nativa en el backend para sobreescribir texto dinámicamente (ej. cambiar "Tarjeta de crédito Stripe" por "OXXO Pay") basado en parámetros. Integración S3 / MinIO: Implementación de MinioStorageService . Los comprobantes (JPG) y Vouchers OXXO se suben automáticamente a MinIO en lugar de usar FTP. Generación de URLs públicas seguras. 🧹 Mantenimiento y Limpieza (Chores/Refactor) Limpieza Automática (Cleanup): Se implementó lógica para eliminar archivos temporales locales (PDFs descargados, JPGs generados) inmediatamente después de una subida exitosa a MinIO. Aplica tanto para comprobantes de pago como para Vouchers OXXO. Refactor ClientCallBellAPI : Eliminación de código muerto relacionado con FTP de WordPress. Implementación de cliente HTTP Guzzle para comunicación con pdf-cropper. Cache Busting: Se añade Timestamp al nombre de archivo (_time()) para evitar caché agresivo en WhatsApp/Navegadores. Detección de Método: Lógica preliminar para detectar "OXXO" o "Transferencia" en notas de pago y aplicar Overlay. Docker Infraestructura: Actualización de docker-compose.yml para incluir pdf-cropper. Instalación de fuentes (fonts-dejavu-core) para renderizado correcto de texto. 🐛 Correcciones (Bug Fixes) Fix Recorte de Imagen: Se eliminó la restricción de relación de aspecto 1:1 (cuadrado) que cortaba headers y footers en documentos rectangulares. Standardización de Notas: Actualización de AbstractStripeOperationsFacade para incluir explícitamente "OXXO" o "Transferencia" en las notas de pago de UCRM (preparación para lógica de plantillas). |
||
|---|---|---|
| .vscode | ||
| data | ||
| src | ||
| vendor | ||
| .gitignore | ||
| Callbell Public API v1.postman_collection.json | ||
| CHANGELOG.md | ||
| composer-setup.php | ||
| composer.json | ||
| composer.lock | ||
| composer.phar | ||
| consulta a Gemini.txt | ||
| credentials.json | ||
| hook_install.php | ||
| html_public.php | ||
| list_attributes.php | ||
| main.php | ||
| manifest.json | ||
| PHP_PermisosArchivos.php | ||
| public.php | ||
| README.md | ||
| StripeWebhook.php | ||
| ucrm.json | ||
| unms-swagger.json | ||
| unms.yaml | ||
| unmscrm.apib | ||
SIIP - WhatsApp Notifications & Integrated Payment Portal
Este plugin es una solución integral que transforma tu UCRM en un Portal Administrativo de Última Generación. No solo automatiza la comunicación por WhatsApp, sino que integra un Dashboard completo para la gestión de pagos online (Stripe/OXXO), visualización de comprobantes y coordinación de equipos técnicos.
🚀 Novedades v4.1.0 (Performance & Storage)
- ⚡ Microservicio PDF (
pdf-cropper): Nuevo motor de renderizado externo (Python/FastAPI) que reemplaza librerías legacy, aumentando la velocidad y eliminando problemas de memoria en el servidor principal. - 📦 MinIO / S3 Storage: Migración completa del almacenamiento de comprobantes. Adiós FTP, hola almacenamiento de objetos seguro y escalable con URLs firmadas y limpieza automática.
- 🖼️ Smart Image Processing: Generación de imágenes "Full Mode" (sin recortes) y capacidad de Edición Dinámica de Texto (Overlay) para personalizar métodos de pago en los comprobantes.
🚀 Novedades v4.0.0 (Portal Dashboard)
- 🖥️ Dashboard de Pagos Integrado: Nueva interfaz visual dentro de UCRM para gestionar cobros de Stripe y OXXO sin salir de la plataforma.
- 🏪 OXXO Pay Híbrido & Visual: Generación de fichas OXXO con dos modos inteligentes:
- Inline (Admin): Visualización inmediata del voucher (local) para máxima velocidad.
- FTP (Webhook): Carga automática a servidor externo para compartir links públicos.
- 🌑 UI/UX Premium: Interfaz rediseñada con Sidebar expandible, cabecera global "Sticky", Modo Oscuro automático y componentes responsivos.
⚡ Funcionalidades Principales
1. Gestión de Cobranza Avanzada
- Pagos SPEI: Instrucciones inmediatas con CLABE personalizada.
- Vouchers OXXO: Generación instantánea de códigos de barras con vista previa "Split-Screen" (Datos + Imagen).
- Historial en Tiempo Real: Consulta los últimos 10 pagos de cualquier cliente al instante.
2. Automatización WhatsApp (CallBell)
- Notificaciones Dinámicas: Envío automático de facturas, recordatorios de pago y avisos de corte.
- Re-envío Manual: Herramienta para disparar notificaciones específicas desde el Dashboard si el proceso automático falla.
- Sincronización Total: Mantiene los contactos de CallBell siempre actualizados con los datos del CRM.
3. Coordinación Técnica (Jobs/Tasks)
- Agenda Inteligente: Notifica a instaladores sobre nuevas tareas y reprogramaciones.
- Datos para Técnicos: Envía coordenadas GPS y contraseñas de equipos (formato impresora térmica) directamente al WhatsApp del técnico.
🏗️ Arquitectura del Sistema
El plugin utiliza una arquitectura modular basada en Facades y Servicios para garantizar estabilidad y escalabilidad.
Componentes Clave
- Frontend (
public.php): Una Single Page Application (SPA) ligera incrustada en UCRM, construida con Vanilla JS y CSS moderno (Variables, Flexbox/Grid). - Despachador (
Plugin.php): Router de eventos que delega acciones a los controladores específicos. - Motor de Pagos (
PaymentIntentStripe): Servicio robusto que se comunica con la API de Stripe para crear intenciones de pago y métodos. - Generador OXXO (
AbstractOxxoOperationsFacade): Orquesta el flujo complejo: Stripe -> Puppeteer (Screenshot) -> FTP/Local Storage -> Respuesta JSON.
🛠️ Requisitos e Integraciones
Para desbloquear todo el potencial, el plugin requiere:
- UISP/UCRM: Versión 2.1.0 o superior.
- Stripe API: Keys de producción/test para procesar pagos.
- CallBell API: Token para el envío de mensajes de WhatsApp.
- Microservicio Puppeteer: Contenedor Docker para renderizar los vouchers de OXXO a imagen.
- Servidor FTP (Opcional): Requerido solo si se desea generar URLs públicas para compartir los vouchers externamente.
🏷️ Configuración Rápida
El plugin se configura directamente desde el panel de UCRM (Ajustes -> Plugins -> siip-whatsapp-notifications).
Parámetros Críticos
ipserver: Tu dominio UCRM.tokenstripe: Tu Secret Key de Stripe.tokencallbell: Tu API Key de CallBell.hostServerFTP/user/pass: Credenciales para el almacenamiento de vouchers remotos.
📝 Registro de Cambios
Para consultar la evolución detallada del proyecto, ver el archivo CHANGELOG.md.