Acceso de empleados por subdominio
Cada empresa tiene un portal de empleados en https://<slug>.web.fichachat.com (equivalente a https://app.fichachat.com/web/<slug>). Los endpoints de esta página son públicos (no requieren X-API-Key) y son los que usa ese portal; se documentan por si construyes un portal propio.
Solo los empleados pueden entrar por subdominio; los responsables usan app.fichachat.com.
Consultar una empresa
Sección titulada «Consultar una empresa»Comprueba que el slug existe y obtén sus datos públicos.
GET /api/v1/auth/company/lookup/{slug}/{ "id": "uuid", "name": "Mi Negocio SL", "slug": "mi-negocio" }Acceso con email y contraseña
Sección titulada «Acceso con email y contraseña»POST /api/v1/auth/subdomain/login/Content-Type: application/json
{ "email": "empleada@minegocio.com", "password": "…", "company_slug": "mi-negocio" }Respuesta 200 OK:
{ "access": "jwt_access_token", "refresh": "jwt_refresh_token" }Restablecer la contraseña
Sección titulada «Restablecer la contraseña»Solicitar el enlace
Sección titulada «Solicitar el enlace»POST /api/v1/auth/password-reset/request/Content-Type: application/json
{ "email": "empleada@minegocio.com", "company_slug": "mi-negocio" }Responde siempre 200 OK con {"message": "Si el email existe, recibirás un enlace para restablecer tu contraseña"}, exista o no la cuenta (evita enumerar usuarios).
Confirmar la nueva contraseña
Sección titulada «Confirmar la nueva contraseña»POST /api/v1/auth/password-reset/confirm/Content-Type: application/json
{ "token": "token-del-email", "new_password": "nueva-contraseña-segura" }Respuesta 200 OK: {"message": "Contraseña actualizada correctamente"}.
Requisitos de la contraseña: mínimo 10 caracteres, no demasiado parecida al email y no una contraseña común. El token de restablecimiento caduca a las 24 horas.
Enlace de acceso por email (sin contraseña)
Sección titulada «Enlace de acceso por email (sin contraseña)»Solicitar
Sección titulada «Solicitar»POST /api/v1/auth/email-magic-link/request/Content-Type: application/json
{ "email": "empleada@minegocio.com", "company_slug": "mi-negocio" }Responde siempre 200 OK con {"message": "Si el email existe, recibirás un enlace de acceso"}.
Verificar
Sección titulada «Verificar»POST /api/v1/auth/email-magic-link/verify/Content-Type: application/json
{ "token": "token-del-enlace" }Respuesta 200 OK:
{ "access": "jwt_access_token", "refresh": "jwt_refresh_token" }El token del enlace caduca a los 120 minutos por defecto.