WHATS Manager
Navegación
Módulos

Dispositivos y Workers

Cupo: {{ devices.length }} / {{ cantWhatapp }} Admin • Sin límite Filtrados: {{ filteredDevices.length }} de {{ devices.length }}

Cada número corre en su propio contenedor Docker gestionado por RabbitMQ.

No hay teléfonos registrados

Vincula un nuevo número de teléfono para comenzar a enviar mensajes.

Sin coincidencias

No se encontraron teléfonos que coincidan con los filtros aplicados.

{{ dev.cliente || dev.id }}

{{ dev.id }}
{{ formatStatus(startingDevices[dev.id] ? 'starting' : dev.worker_status) }}
{{ formatUserBadge(dev) }}
Contenedor: w_{{ dev.id }}
Servidor: {{ dev.servidor_nombre || ('Servidor #' + (dev.servidor ?? 0)) }}
Cola Rabbit: w_{{ dev.id }}
Webhook: {{ dev.webhook_activo ? 'Activo' : 'Desactivado' }}
{{ dev.extras }}

Probar Envío de Mensaje

Prueba directa contra /api/send_message
Consultar Lote:
{{ sendFile.name }}
{{ formatBytes(sendFile.size) }} • {{ sendFile.type || 'Archivo' }}
Soporta imágenes (JPG, PNG), documentos (PDF, DOCX, XLSX), audios o videos.
Borrar para mí luego de enviar (drop)
Envía el mensaje y lo elimina de la bandeja propia (el destinatario lo conserva)

Lote #{{ currentLoteStatus.lote_nro }}

{{ currentLoteStatus.estado }} Terminado Procesando en WhatsApp...
Destinatarios del Lote ({{ currentLoteStatus.mensajes.length }})
{{ m.destino }} drop
{{ m.estado === 9 ? 'Enviado OK' : (m.estado === 4 ? 'Error de Envío' : 'En Cola') }}
{{ m.message }}
Adjunto: {{ m.file_des }}
Remitente: {{ currentLoteStatus.from }}
{{ JSON.stringify(currentLoteStatus, null, 2) }}

Gestión de Usuarios

Total: {{ usersList.length }} Filtrados: {{ filteredUsers.length }} de {{ usersList.length }} Solo Habilitados

Control de acceso, cuotas de WhatsApp, cupos de webhooks y topes mensuales de mensajes.

No hay usuarios registrados

Crea un nuevo usuario para habilitar el acceso al panel y API.

Sin coincidencias

No se encontraron usuarios que coincidan con los filtros aplicados.

{{ u.user ? u.user.charAt(0) : 'U' }}
{{ u.user }} #{{ u.id }}
{{ u.apeynom || 'Sin nombre completo' }}
{{ u.habilitado ? 'Habilitado' : 'Desactivado' }}
Rol
{{ u.roles.includes('super') ? 'Superadmin' : (u.roles.includes('admin') ? 'Admin' : 'Usuario') }}
Servidor
{{ formatServerDisplay(u.servidor) }}
WhatsApp / Webhooks
{{ u.cant_whatapp }} ({{ u.webhook_cant || 0 }} wh)
Mensajes
{{ u.cant_periodo_usadas || 0 }}/{{ u.cant_por_periodo === 0 ? '∞' : u.cant_por_periodo }}
Usuario Rol Servidor Cupo WhatsApp Cupo Webhooks Mensajes / Período Estado Acciones
{{ u.user ? u.user.charAt(0) : 'U' }}
{{ u.user }} #{{ u.id }}
{{ u.apeynom || 'Sin nombre completo' }}
Superadmin Administrador Usuario {{ formatServerDisplay(u.servidor) }} {{ formatServerDisplay(u.servidor) }} {{ u.cant_whatapp }} {{ u.cant_whatapp === 1 ? 'número' : 'números' }} {{ u.webhook_cant || 0 }} máx. {{ u.cant_periodo_usadas || 0 }} / {{ u.cant_por_periodo === 0 ? 'Ilimitado' : u.cant_por_periodo }} {{ u.habilitado ? 'Habilitado' : 'Desactivado' }}

Monitor del Sistema: Redis & RabbitMQ

Acceso Superadmin

Diagnóstico de memoria, claves en tiempo real y colas de mensajería para alta concurrencia.

Memoria en Uso
{{ redisOverview?.used_memory_human || '...' }}
Pico: {{ redisOverview?.used_memory_peak_human || '...' }}
Total Claves
{{ redisOverview?.total_keys ?? '...' }}
Límite: {{ redisOverview?.maxmemory_human || 'Sin límite' }}
Clientes Conectados
{{ redisOverview?.connected_clients ?? '...' }}
Ratio Frag: {{ redisOverview?.mem_fragmentation_ratio || '1.0' }}
Versión / Uptime
v{{ redisOverview?.redis_version || '7.x' }}
Activo: {{ redisOverview?.uptime_days || 0 }} días
{{ redisKeys.length }} en esta pág • {{ redisTotalFoundKeys }} encontradas (Total BD: {{ redisOverview?.total_keys ?? redisTotalDbKeys }})
Clave / Tipo Memoria Usada TTL / Expiración Contenido Previo Acciones
Cargando claves de Redis...
No hay claves que coincidan con el patrón "{{ redisPattern }}" en Redis.
{{ item.type }} {{ item.key }}
{{ item.memory_human }} {{ item.ttl_formatted }} {{ item.preview }}
Mensajes en Cola
{{ rabbitOverview?.messages_total ?? '...' }}
Ready: {{ rabbitOverview?.messages_ready || 0 }} | Unack: {{ rabbitOverview?.messages_unacknowledged || 0 }}
Total de Colas
{{ rabbitQueues.length }}
Workers + Orquestación
Flujo Publicación
{{ (rabbitOverview?.publish_rate || 0).toFixed(1) }} /s
Tasa de llegada
Cluster / Versión
v{{ rabbitOverview?.rabbitmq_version || '3.x' }}
{{ rabbitOverview?.cluster_name || 'RabbitMQ' }}
{{ paginatedRabbitQueues.length }} en esta pág • {{ filteredRabbitQueues.length }} colas filtradas (Total: {{ rabbitQueues.length }})
Cola RabbitMQ Mensajes Acumulados Consumidores Memoria Acciones
Consultando colas de RabbitMQ...
No hay colas que coincidan con el filtro actual.
{{ q.name.startsWith('w_') ? 'Worker' : 'Sistema' }} {{ q.name }}
{{ q.messages }} total ({{ q.messages_ready }} listos, {{ q.messages_unacknowledged }} en proc.)
{{ q.consumers }} {{ q.consumers === 1 ? 'consumidor' : 'consumidores' }} {{ q.memory_human }}
Cola limpia

Acceso al Panel

Ingresa tus credenciales para gestionar tus trabajadores de WhatsApp y mensajes en tiempo real.

{{ toast.message }}