Demo publico AY-074

Probar FactuPOS en tiempo real con verificacion por correo electronico

Menu Ayuda

Que es el demo publico

Es la opcion "Pruebe el sistema en tiempo real" que aparece en la pagina inicial de la ayuda. Cualquier visitante puede dar un clic, verificar su correo y entrar al sistema con datos reales (de prueba) en cuestion de segundos.

Esta orientado a:

  • Prospectos que quieren conocer el sistema antes de cotizar
  • Clientes existentes que quieren probar un modulo nuevo
  • Capacitaciones sin tener que crear usuarios temporales
Verificacion obligatoria por correo Para evitar usuarios falsos y spam, todos los accesos pasan por un codigo de 6 digitos enviado al correo del visitante. Sin verificar el codigo no se puede entrar.

Empresas demo disponibles

EmpresaSlugBase de datosRubro
Demo Ferreteria ferre demoferre Ferreteria / Retail con inventario, bodegas, lotes y datafono
Demo Restaurante rest demorest Restaurante / Bar con mesas, comandas, modificadores y recetas

Cada slug se accede por URL: https://invefacon.net/demo/iniciar.php?e=ferre o ?e=rest.

Flujo de ingreso (3 pasos)

  1. Click en la card del panel de ayuda. Abre una pestana nueva con el formulario de verificacion.
  2. Paso 1 - Email: el visitante ingresa su correo y presiona "Enviar codigo". El sistema:
    • Genera un codigo de 6 digitos (valido 15 min)
    • Genera un token interno de 64 caracteres hex (valido 30 min, un solo uso)
    • Inserta el registro en dbcontrol.demo_accesos
    • Envia un correo desde noreply@soportereal.com con el codigo
  3. Paso 2 - Codigo: el visitante ingresa los 6 digitos. El sistema:
    • Valida el codigo (5 intentos maximos)
    • Marca codigo_validado = 1
    • Redirige a /weblogin/demo_entrar.php?t=<token>
  4. Auto-login: demo_entrar.php consume el token (lo marca usado=1), busca/crea el empleado del visitante por su correo, valida la clave interna y arma la sesion. Al instante el visitante esta dentro del subdominio (demoferre.factupos.com o demorest.factupos.com).
Tiempos Codigo: 15 min · Token: 30 min · Maximo 5 intentos por codigo · 15 solicitudes/hora por correo · 25 solicitudes/hora por IP.

Cada lead = un usuario distinto

Cada correo verificado se convierte en un empleado y una estacion exclusivos dentro de la empresa demo. Esto evita que dos visitantes simultaneos se desconecten entre si y permite trazabilidad por correo.

VisitanteCod_UsuarioEstacion creadaClave
juan@empresa1.comD0001"Demo - juan@empresa1.com"1234
maria@empresa2.comD0002"Demo - maria@empresa2.com"1234
pedro@empresa3.comD0003"Demo - pedro@empresa3.com"1234

El prefijo D#### esta reservado para usuarios generados por el flujo demo. El sistema nunca toca empleados reales de la empresa demo (filtro WHERE Cod_Usuario LIKE 'D%').

Si el visitante vuelve Si entra de nuevo con el mismo correo, se reusa el mismo D#### y la misma estacion. La clave se restablece a 1234 en cada ingreso por si se le olvido.

Seguridad

  • Verificacion por correo obligatoria - filtra bots y emails inventados (no se puede continuar sin recibir y leer el correo)
  • Rate limiting por IP (25/hora) y por email (15/hora) en la solicitud de codigo
  • Token de un solo uso (64 hex) firmado por la BD - se invalida en el primer uso aunque siga vigente
  • Codigo de 6 digitos con maximo 5 intentos antes de pedir nuevo codigo
  • Whitelist de slugs - solo ferre y rest son aceptados; ninguna otra empresa
  • Validacion real de clave via SP_VerificaPasswordUsuario - el demo pasa por la misma puerta de auth que un login normal
  • Filtro defensivo de empleados (Cod_Usuario LIKE 'D%') impide que el flujo modifique usuarios reales

Login manual posterior

Una vez que el visitante completa el flujo demo, puede tambien entrar por el login regular sin volver a verificar correo:

  1. Ir a /weblogin/login.php de la empresa demo (demoferre.factupos.com o demorest.factupos.com)
  2. Email: el correo verificado
  3. Empresa: ya seleccionada por subdominio
  4. Usuario: D#### (el que se le asigno en su primer ingreso)
  5. Clave: 1234
El sistema le manda un correo automatico con su Cod_Usuario al crear el empleado para que pueda entrar manualmente despues.

Tabla de control: dbcontrol.demo_accesos

Toda solicitud queda auditada en dbcontrol.demo_accesos. La tabla se auto-crea con IF NOT EXISTS al primer uso.

CampoSignificado
idPK identidad
slug / server_dbEmpresa demo (ferre/rest)
emailLead capturado
codigo / tokenCodigo 6-dig y token 64-hex
codigo_expira / token_expira+15 min / +30 min
codigo_validado1 cuando paso 2 OK
usado / usado_fecha1 al consumirse el token
intentos_codigoContador (max 5)
ip / user_agentTrazabilidad del visitante

Detalles tecnicos

Archivos

ArchivoFuncion
/demo/helpers.phpWhitelist, ensure_table, layout, envio email
/demo/iniciar.phpUI 2 pasos (email -> codigo)
/demo/solicitar.phpPOST: genera y envia codigo
/demo/validar.phpPOST: valida codigo, retorna URL final
/weblogin/demo_entrar.phpConsume token, busca/crea empleado, arma sesion
/factupos/ayuda/index.phpPanel inicial con cards (en soportereal.com)

Sesion

Ademas de los campos de sesion estandar, el demo agrega:

  • $_SESSION['es_demo'] = true
  • $_SESSION['demo_email_lead'] = <email del visitante>

FKs y dependencias

El INSERT del empleado satisface las FKs:

  • Cod_Departamento → primer registro de Departamentos (en demo* es '000' General)
  • HorarioAccesoId → primer registro de HorarioAcceso (id 1)

Limpieza periodica

Si se acumulan muchos D#### abandonados, se puede correr un job que borre empleados con prefijo D y sin actividad reciente (UltimoAcceso > 90 dias).