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

Nota (julio 2026): los planes Business y Enterprise hoy se llaman Team y Max. Los precios se mantienen.

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 → Pruébalo gratis en app.withmia.com →

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?

Pruébalo gratis 14 días. Sin tarjeta de crédito.

Probar gratis 14 días