SiteSoluciones

Gestor Central de Licencias & Seriales

SiteSoluciones · License Manager suscripciones.sitesoluciones.online
API: /api/validate-serial

📊 Dashboard General

Resumen del estado de licencias activas y clientes registrados

--
Licencias Totales
--
Licencias Activas
--
Clientes
--
Sistemas Registrados

🔑 Últimas Licencias Generadas

SerialClienteSistemaMódulosEstado

📋 Últimas Consultas de Validación

Fecha/HoraSerial ConsultadoSistemaIPResultado

🔑 Licencias & Seriales

Genera y administra licencias para cada cliente y sistema

SerialClienteSistemaMódulosTipoDominio VinculadoEstadoAcción

👥 Clientes

Registro de empresas y personas que adquieren licencias

ClienteEmpresaEmailTeléfonoLicenciasRegistro

🖥️ Sistemas de Software

Catálogo de sistemas que pueden ser licenciados (MedControl, Odoo, etc.)

🧩 Módulos por Sistema

Configura los módulos disponibles para cada sistema de software

Filtrar por Sistema

SistemaClaveNombre del MóduloTipoPrecio USD

📋 Registro de Consultas de Validación

Auditoría de cada vez que una app externa consulta un serial

Fecha/HoraSerialSistemaIP ClienteResultado

📘 Documentación de la API Pública

Cómo conectar cualquier sistema externo para validar seriales

POST /api/validate-serial

// Request Body (JSON):
{
  "serial_code": "MEDCONTROL-2026-AB12CD",
  "system_code": "MEDCONTROL"   // Opcional: valida que el serial corresponda al sistema
}

// Response si el serial es VÁLIDO (200 OK):
{
  "valid": true,
  "serial_code": "MEDCONTROL-2026-AB12CD",
  "client_name": "Clínica XYZ",
  "company": "Clínica XYZ C.A.",
  "system_code": "MEDCONTROL",
  "system_name": "MedControl VE",
  "allowed_modules": ["core", "payroll", "email"],
  "expires_at": null
}

// Response si el serial NO existe o está inactivo (404):
{
  "valid": false,
  "error": "Serial no encontrado, inactivo o expirado"
}

🔌 Ejemplo de integración en MedControl VE (Node.js)

// En server.js de MedControl, reemplazar validación local:
const LICENSOR_URL = 'https://suscripciones.sitesoluciones.online';

app.post('/api/modules/activate-license', async (req, res) => {
  const { license_key } = req.body;
  
  const response = await fetch(`${LICENSOR_URL}/api/validate-serial`, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ serial_code: license_key, system_code: 'MEDCONTROL' })
  });
  
  const data = await response.json();
  
  if (data.valid && data.allowed_modules.includes('payroll')) {
    await query(`UPDATE system_config SET value='true' WHERE key='module_payroll_active'`);
    res.json({ success: true, modules: data.allowed_modules });
  } else {
    res.status(400).json({ error: data.error });
  }
});

🟠 Ejemplo para Odoo (Python)

import requests

LICENSOR_URL = "https://suscripciones.sitesoluciones.online"

def validate_serial(serial_code, system_code="ODOO_VE"):
    r = requests.post(f"{LICENSOR_URL}/api/validate-serial", json={
        "serial_code": serial_code,
        "system_code": system_code
    })
    data = r.json()
    if data.get("valid") and "payroll" in data.get("allowed_modules", []):
        return True  # activate module
    return False

🔑 Generar Nueva Licencia

Selecciona un sistema primero

👤 Nuevo Cliente

🖥️ Nuevo Sistema

🧩 Nuevo Módulo

✅ Licencia Generada con Éxito

Entrega este serial al cliente. Una vez ingresado, activará los módulos autorizados.