Skip to content

Configuración global

Panel para ajustar parámetros que afectan a todo el sistema.

URL: /admin/configuracionModelo: Setting (tabla key-value).

Parámetros configurables

KeyDescripciónDefault
membership.price_mxnPrecio actual de la membresía (informativo; el cobro real viene del MembershipPlan)499
membership.duration_daysDuración al contratar180
membership.expiring_warning_daysCuándo empezar a avisar al candidato15
interview.default_duration_minutesDuración por defecto al agendar60
interview.default_timezoneZona horaria defaultAmerica/Mexico_City
notifications.email_enabledEnviar correos o solo in-apptrue
notifications.rejection_email_to_candidateNotificar candidato en rechazosfalse
pipeline.auto_withdraw_on_vacancy_closedAl cubrir vacante, auto-withdraw de otrostrue
company.allow_self_registrationPermitir empresas auto-registrarsefalse
psychometrics.min_completed_to_appearCuántas pruebas completadas para aparecer en directorio0
directory.default_per_pagePaginación default20
cv.templateTemplate a usar para PDFhumae_v1

Endpoints

OperaciónRuta
Listar todasGET /admin/settings
Leer unaGET /admin/settings/{key}
ActualizarPATCH /admin/settings/{key} con {"value": "..."}

Valor guardado como JSON string (soporta bool, int, string, array).

Plantillas de correo

URL: /admin/email-templates

Cada plantilla de App\Notifications\* tiene su versión HTML + plain text en resources/views/emails/*. El admin puede:

  • Editar el subject y el cuerpo.
  • Previsualizar con datos de prueba.
  • Resetear al default.

Plantillas disponibles:

  • welcome.blade.php — bienvenida post-verificación
  • verify_email.blade.php — verificación de correo
  • reset_password.blade.php — recuperación
  • membership_activated.blade.php — activación tras pago
  • interview_scheduled.blade.php
  • interview_confirmed.blade.php
  • interview_rescheduled.blade.php
  • interview_cancelled.blade.php
  • assignment_presented.blade.php
  • candidate_hired.blade.php

Placeholders disponibles en cada plantilla: {user.name}, {membership.expires_at}, etc.

Gestión de usuarios

URL: /admin/usuarios

  • Listar todos los users con filtros por rol, estado, fecha.
  • Ver detalle (sin password).
  • Cambiar rol: POST /admin/users/{id}/roles con {"role": "recruiter"}.
  • Suspender: POST /admin/users/{id}/suspend con razón.
  • Reactivar: POST /admin/users/{id}/activate.
  • Cerrar todas las sesiones: POST /admin/users/{id}/logout-all (revoca todos los tokens Sanctum).
  • Reenviar verificación: POST /admin/users/{id}/resend-verification.

Gestión de empresas

URL: /admin/empresas

  • CRUD completo de empresas.
  • Asignar recruiter principal a cada empresa.
  • Invitar owners.
  • Ver todas las vacantes de una empresa con estado.

Monitoreo en tiempo real

(Fase 2)

  • Live counter de usuarios conectados.
  • Alertas por errores (Sentry).
  • Health check proactivo (/health ping cada minuto).

Exportación de datos

  • GET /admin/export/candidates.csv — todos los candidatos
  • GET /admin/export/vacancies.csv
  • GET /admin/export/payments.csv

Incluyen filtros por fecha.

Backup & restore

  • Backup DB: se corre con cron externo (mysqldump), no desde la plataforma.
  • Backup de storage/app (avatares + documentos): restic diario contra almacenamiento offsite. Retención 14 días × 12 semanas × 12 meses.
  • Restore: proceso manual, documentado en DEPLOYMENT.md.

Permisos para acciones críticas

Acciones como suspender usuarios, cancelar pagos, eliminar empresas requieren double confirmación:

  1. Modal con el detalle.
  2. Input con el nombre del recurso ("escribe ACME CORP para confirmar").
  3. Ejecución.

Se registra en logs.

Siguiente

Auditoría y soporte: Auditoría →

Manual de usuario HUMAE · Uso interno