Nuevas Características: • Visualizador de pagos mensuales con gráfica de dona (Chart.js) • Tarjetas estadísticas: clientes activos, pagados y pendientes • Tabla de clientes pendientes con saldos en tiempo real • Microservicio Node.js para metadata de Stripe (acceso directo a BD) Mejoras: • Fix crítico: Sincronización automática de saldo en CallBell al agregar facturas • Categorización mejorada de pagos OXXO y Transferencias Stripe • Normalización de valores: "OXXO" → "OXXO Pay" para evitar errores 422 • Configuración .env para credenciales de base de datos Correcciones: • Saldo y estado ahora se actualizan correctamente en CallBell • Fix networking Docker (ECONNREFUSED resuelto) • Fix validación de atributos en API de UCRM • Actualización automática de userId en pagos Stripe Archivos principales: public.php (visualizador de pagos) AbstractMessageNotifierFacade.php (logging sync) ClientCallBellAPI.php (comparación de campos) AbstractStripeOperationsFacade.php (normalización) manifest.json, README.md, CHANGELOG.md (docs)
265 lines
11 KiB
JSON
Executable File
265 lines
11 KiB
JSON
Executable File
{
|
|
"version": "1",
|
|
"information": {
|
|
"name": "siip-whatsapp-notifications",
|
|
"displayName": "SIIP - Procesador de Pagos en línea con Stripe, Oxxo y Transferencia, Sincronizador de CallBell y Envío de Notificaciones y comprobantes vía WhatsApp",
|
|
"description": "Este plugin sincroniza los clientes del sistema UISP CRM con los contactos de WhatsApp en CallBell, además procesa pagos de Stripe como las trasferencias bancarias y genera referencias de pago vía OXXO, además envía comprobantes de pago en formato imagen PNG o texto vía Whatsapp a los clientes",
|
|
"url": "https://siip.mx/",
|
|
"version": "4.2.0",
|
|
"unmsVersionCompliancy": {
|
|
"min": "2.1.0",
|
|
"max": null
|
|
},
|
|
"author": "SIIP INTERNET",
|
|
"changelog": [
|
|
{
|
|
"version": "4.1.0",
|
|
"date": "2026-01-15",
|
|
"changes": "Implementación de Microservicio PDF, Integración MinIO, Fix Recorte y Soporte overlay textos."
|
|
},
|
|
{
|
|
"version": "4.0.0",
|
|
"date": "2026-01-10",
|
|
"changes": "Re-diseño completo de UI, integración total de Stripe (SPEI/OXXO), visualización inline de vouchers, optimización de seguridad FTP y modo oscuro."
|
|
},
|
|
{
|
|
"version": "3.1.0",
|
|
"date": "2026-01-07",
|
|
"changes": "Añadida funcionalidad de re-envío manual de notificaciones de pago."
|
|
},
|
|
{
|
|
"version": "3.0.0",
|
|
"date": "2026-01-02",
|
|
"changes": "Soporte multi-servicio y optimizaciones de rendimiento."
|
|
}
|
|
]
|
|
},
|
|
"configuration": [
|
|
{
|
|
"key": "ipserver",
|
|
"label": "Dirección IP o dominio del servidor",
|
|
"description": "La dirección IP del servidor o dominio donde se ejecuta el sistema UISP CRM. Ejemplo: 192.168.1.120 o sistema.empresa.com",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "apitoken",
|
|
"label": "Token de la API UCRM",
|
|
"description": "Token de autenticación necesario para el uso de la API del sistema UISP UCRM, se utiliza para gestionar cualquier información de los clientes. Contiene 64 caracteres y se genera desde el módulo de Ajustes del UISP CRM en la opción de 'Seguridad' y en la sección de 'Claves app'.",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "unmsApiToken",
|
|
"label": "Token de la API UNMS",
|
|
"description": "Token de autenticación necesario para el uso de la API del sistema UISP UNMS, se utiliza para gestionar información de antenas u otros dispositivos de red. Contiene 34 caracteres y se genera desde el módulo de Ajustes del UISP Network en la opción de 'Usuarios' y en apartado de 'API tokens'.",
|
|
"required": 0,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "tokencallbell",
|
|
"label": "Token de la API de CallBell",
|
|
"description": "Token de autenticación para el uso de la API de CallBell que maneja las funciones realacionadas con WhatsApp. El token es de tipo 'Bearer' y contiene 97 caracteres, ejemplo: g9thcZkXGd3xBj2g2TtYNYFMH1fuesbJ.b6a947ea7d78cf6c8e42f067a21c8daf91e9fa2a9e310bfd0c7c7c4d7fa36f68",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "tokenstripe",
|
|
"label": "Token de la API de Stripe",
|
|
"description": "Token de autenticación para el uso de la API de Stripe que maneja las funciones realacionadas con los pagos en línea (Transferencia y OXXO PAGO). ",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "hostServerFTP",
|
|
"label": "IP o dominio del servidor FTP",
|
|
"description": "Dirección IP o dominio del sitio del servidor FTP para la carga de comprobantes de pago del sistema y su posterior envío",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "usernameServerFTP",
|
|
"label": "Usuario FTP",
|
|
"description": "Nombre de usuario para inicio de sesión el servidor FTP, necesario para la carga de comprobantes de pago del sistema y su posterior envío",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "passServerFTP",
|
|
"label": "Password FTP",
|
|
"description": "Contraseña para inicio de sesión en el servidor FTP, necesario para la carga de comprobantes de pago del sistema y su posterior envío",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "ipPuppeteer",
|
|
"label": "Dirección IP del servicio de Puppeteer",
|
|
"description": "Dirección IP del contenedor docker que ejecuta el servicio de Puppeteer para la generación de comprobantes de pago en formato imagen PNG",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "portPuppeteer",
|
|
"label": "Puerto del servicio de Puppeteer",
|
|
"description": "Puerto del contenedor docker que ejecuta el servicio de Puppeteer, por defecto es el 3000",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "idPaymentAdminCRM",
|
|
"label": "ID del usuario para pagos en línea",
|
|
"description": "ID del usuario administrador del CRM asigando para realizar pagos en línea con Stripe. Todos los pagos que llegan desde Stripe se asignan a este usuario. Se recomienda crear un usuario exclusivo para este fin.",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "cashPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago en efectivo",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es en efectivo",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "courtesyPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago de cortesía",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es por crédito de cortesía",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "bankTransferPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago con Transferencia Bancaria",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es por Transferencia Bancaria",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "paypalPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago con PayPal",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es por PayPal",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "creditCardPaypalPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago de Tarjeta de Crédito o Débito con PayPal",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es con Tarjeta de Credito o Débito con PayPal",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "creditCardStripePaymentMethodId",
|
|
"label": "Envío de Comprobante por pago de Tarjeta de Crédito o Débito por medio de Stripe",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es con Tarjeta de Crédito o Débito por medio de Stripe",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "stripeSubscriptionCreditCardPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago con una Suscripción de Stripe (tarjeta de crédito)",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es por una Suscripción de Stripe (tarjeta de crédito)",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "paypalSubscriptionPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago con Suscripción de PayPal",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es por Suscripción de PayPal",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "mercadopagoPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago de MercadoPago",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es por MercadoPago",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "checkPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago de Cheque",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es por Cheque",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "customPaymentMethodId",
|
|
"label": "Envío de Comprobante por pago Personalizado",
|
|
"description": "Habilita el envío de comprobantes en formato de imagen por WhatsApp cuando el método de pago es Personalizado",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "notificationTypeText",
|
|
"label": "Envío de Comprobante por medio de plantilla de texto",
|
|
"description": "Habilita el envío de comprobantes en formato TEXTO por WhatsApp, si está deshabilitado se utiliza el formato de imagen.",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "installersDataWhatsApp",
|
|
"label": "Datos de los instaladores en formato JSON",
|
|
"description": "El número identificador (id) del instalador se obtiene desde la API del CRM en su ednpoint \"/api/v1.0/user\" y se debe de obtener el campo 'id' de cada instalador para agregarlo en este campo en formato JSON",
|
|
"required": 1,
|
|
"type": "textarea"
|
|
},
|
|
{
|
|
"key": "debugMode",
|
|
"label": "Debug Mode?",
|
|
"description": "More detailed log info - Informacion de log mas detallada",
|
|
"required": 0,
|
|
"type": "checkbox"
|
|
},
|
|
{
|
|
"key": "minioEndpoint",
|
|
"label": "MinIO Endpoint (Internal)",
|
|
"description": "URL interna para subir archivos (ej: http://localhost:9002)",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "minioPublicUrl",
|
|
"label": "MinIO Public URL (External)",
|
|
"description": "URL externa para generar enlaces públicos (ej: https://aws-venus.siip.mx)",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "minioAccessKey",
|
|
"label": "MinIO Access Key",
|
|
"description": "Clave de acceso de MinIO",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "minioSecretKey",
|
|
"label": "MinIO Secret Key",
|
|
"description": "Clave secreta de MinIO",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "minioBucket",
|
|
"label": "MinIO Bucket",
|
|
"description": "Nombre del bucket (ej: vouchers-oxxo)",
|
|
"required": 1,
|
|
"type": "text"
|
|
},
|
|
{
|
|
"key": "logging_level",
|
|
"label": "enable debug logs",
|
|
"description": "Make the plugin more verbose.",
|
|
"type": "checkbox",
|
|
"required": 0
|
|
}
|
|
],
|
|
"menu": [
|
|
{
|
|
"key": "Reports",
|
|
"label": "Administrar Notificaciones por WhatsApp",
|
|
"type": "admin",
|
|
"target": "iframe"
|
|
}
|
|
],
|
|
"supportsWebhookEvents": true
|
|
} |