Saltar al contenido
Producto · 6 min de lectura

WITHMIA v1.0.5 — Seguridad, Calidad y Facturación

Rate limiting en toda la API, pipeline CI/CD con GitHub Actions, suite de tests automatizados, sistema de referidos completo, y generación de facturas PDF con branding WITHMIA.

E

Equipo WITHMIA

WITHMIA

La v1.0.4 construyó el modelo financiero sostenible. La v1.0.5 refuerza los cimientos: protección de la API, calidad de código automatizada, y facturación profesional. Esta actualización convierte a WITHMIA en una plataforma lista para escalar con confianza.

Rate limiting: protección en cada ruta

Todas las rutas de la API ahora están protegidas con rate limiting granular. Seis limitadores diferentes según el tipo de operación:

LimitadorRutas protegidasLímite
apiPerfil, tickets, canales, knowledge base, configuración60 req/min
chatwoot-proxyProxy de conversaciones y mensajes en tiempo real120 req/min
evolutionInstancias WhatsApp (Evolution API)60 req/min
integrationsCalendario, productos, ventas, integraciones externas60 req/min
billingSuscripciones, checkout, overage, facturas20 req/min
adminPanel de administración30 req/min

¿Por qué importa?

Sin rate limiting, un solo actor malicioso (o un bug en un cliente) puede saturar toda la API. Con esta protección:

  • Prevención de abuso — bots y scrapers no pueden bombardear los endpoints
  • Estabilidad bajo carga — la API responde de forma predecible incluso con picos de tráfico
  • Protección financiera — el endpoint de billing está extra-resguardado a 20 req/min
  • Chatwoot optimizado — el proxy de chat tiene el límite más alto (120 req/min) porque es real-time

Cada limitador se aplica por usuario autenticado o por IP para requests públicos. Las respuestas incluyen headers estándar X-RateLimit-Limit, X-RateLimit-Remaining y Retry-After.

CI/CD: despliegue automatizado con GitHub Actions

WITHMIA ahora tiene un pipeline de integración y despliegue continuo completo. Cada push a main dispara automáticamente:

Backend (PHP)

  • PostgreSQL 16 + Redis 7 como servicios en el pipeline
  • Instalación de dependencias con Composer
  • Ejecución de toda la suite de tests con Pest
  • Variables de entorno de prueba aisladas

Frontend (TypeScript/React)

  • Instalación de dependencias con npm
  • ESLint — validación de estilo y errores
  • TypeScript — verificación de tipos en todo el proyecto
  • Build — compilación completa para asegurar que todo resuelve

Deploy

  • Despliegue automático a Railway solo desde la rama main
  • Protegido con secreto RAILWAY_TOKEN
  • Solo se ejecuta si los tests y el build pasan

Si un test falla o TypeScript encuentra un error de tipos, el deploy se bloquea automáticamente. Cero posibilidad de subir código roto a producción.

Tests automatizados con Pest

Primera suite de tests automatizados de WITHMIA, cubriendo las piezas más críticas del negocio:

Tests unitarios

  • CurrencyService — detección de moneda por país, routing de gateway (Flow para CLP, dLocal para el resto), pricing local correcto
  • BillingConfig — estructura de planes (Free, Pro, Business, Enterprise), overage pricing, configuración de Flow y dLocal, validación de descuento anual
  • OverageService — precio por pack, cálculo de costos por cantidad de mensajes excedidos

Tests de Feature

  • API Endpoints — health check, guards de autenticación, throttling funcional, manejo de 404
  • Models — creación de User, Company y Subscription con factory patterns

Cada test corre en una base de datos PostgreSQL limpia gracias a RefreshDatabase, asegurando que las pruebas son independientes y reproducibles.

Sistema de referidos completo

El sistema de referidos pasa de un stub vacío a una implementación completa:

¿Cómo funciona?

  1. Tu empresa genera un código — formato WM-XXXXXX (6 caracteres alfanuméricos)
  2. Compartes el código con otra empresa
  3. La otra empresa lo aplica al suscribirse y obtiene un 10% de descuento por 3 meses
  4. Tú acumulas referidos — el sistema trackea cuántas veces se ha usado tu código

Reglas de negocio

  • No puedes usar tu propio código (prevención de auto-referral)
  • Un código no se puede aplicar dos veces por la misma empresa
  • El descuento es configurable: porcentaje, cantidad de meses, máximo de usos
  • Los códigos pueden tener fecha de expiración
  • Solo empresas con plan activo pueden generar códigos

Nuevos endpoints

  • GET /api/subscription/referral-code — obtener o generar el código de tu empresa
  • POST /api/subscription/apply-referral — aplicar un código de referido (ya existía como stub, ahora funcional)

Facturación PDF profesional

Nuevo sistema de generación de facturas con branding WITHMIA:

Modelo Invoice

  • Numeración automática — formato WM-YYYY-XXXXX (ej: WM-2026-00001)
  • Cálculo de IVA — 19% automático para pagos en CLP
  • Items detallados — concepto, plan, ciclo de facturación
  • Relaciones — vinculada a Company y Subscription

Generación de facturas automática

Las facturas se crean automáticamente cuando se confirma un pago exitoso, sin intervención del usuario:

  • Flow.cl — al confirmar pago en webhook (status === 2)
  • dLocal — al confirmar pago en webhook dLocal
  • Flow Subscription — en cada renovación recurrente (marca si es primera factura o renovación)

Cada factura registra el método de pago, referencia de transacción, monto, moneda y desglose de impuestos.

Descarga de PDF

El servicio InvoiceService genera un documento HTML profesional con:

  • Logo y branding WITHMIA con acentos dorados (#FFD700)
  • Datos de la empresa emisora y receptora
  • Tabla de items con desglose de subtotal, IVA y total
  • Información del pago: método, referencia, fecha
  • Diseño responsive optimizado para impresión

Si dompdf está instalado, genera un PDF real. Si no, sirve una versión HTML print-friendly con window.print() integrado.

Nuevos endpoints

  • GET /api/subscription/invoices — lista de las últimas 50 facturas de la empresa
  • GET /api/subscription/invoices/{id}/pdf — descargar factura como PDF/HTML

Resumen técnico

CambioArchivosImpacto
Rate limitingAppServiceProvider + routes/api.php6 limitadores, 18+ route groups
CI/CD.github/workflows/ci.yml + .env.ci3 jobs (backend, frontend, deploy)
Tests5 archivos en tests/23+ test cases (unit + feature)
Referidos2 modelos + migración + controllerSistema completo
FacturasInvoice model + InvoiceService + migraciónAuto-creación en webhooks

Lo que viene

Con la infraestructura de calidad asegurada, el roadmap de Q2 2026 se enfoca en features de alto impacto:

  • PWA / App móvil — la prioridad para LATAM mobile-first
  • Encuestas CSAT — feature que todos los competidores tienen
  • AI resolution analytics — métricas de resolución por IA
  • Broadcasting WhatsApp — campañas masivas

WITHMIA v1.0.5 no es la actualización más llamativa — pero es la que te deja dormir tranquilo. Código testeado, API protegida, facturas automáticas.

Abrir WITHMIA → Ver el repositorio en GitHub →

Etiquetas

actualización v1.0.5 producto seguridad testing CI/CD referidos facturación PDF

Compartir

Comentarios

Sé respetuoso. Tu email no será publicado.

Artículos relacionados

¿Quieres implementar esto en tu negocio?

Empieza gratis con WITHMIA. Sin tarjeta de crédito.

Comenzar gratis