Saltar al contenido principal
Versión: 1.21.1

Autenticación

Login, registro, verificación de email y recuperación de contraseña. Todos los endpoints que no son de solo lectura requieren el Bearer Token obtenido aquí.

📄️Obtener el usuario del token actual

Retorna el usuario dueño del token Bearer. Útil para validar que un token sigue vigente. Un 200 solo indica que el token autentica: no se comprueba si el usuario o su empresa están activos (un usuario desactivado conserva sus tokens y recibe 200 con `active` = 0, aunque `POST /auth/login` lo rechazaría). Para saber si la cuenta puede operar, revise `active`. Respuesta idéntica a `GET /profile`. `dataRecords.data` es un arreglo con un único elemento.

📄️Solicitar restablecimiento de contraseña

Público (sin autenticación). Encola el envío al email indicado de un correo con un enlace a la aplicación web de MATICERTS (`/#/auth/password-reset/{token}?email=...`); el segmento `{token}` de ese enlace es el que se envía a `POST /reset-password` (válido 60 minutos). Cada solicitud aceptada invalida el token anterior, por lo que los enlaces de correos previos dejan de funcionar. Solo se permite una solicitud por usuario cada 60 segundos; antes de ese plazo se responde 422 con `errors.email`.

📄️Registrar nueva empresa y usuario

Público (sin autenticación). Crea en una sola transacción el usuario (activo), la empresa (el DV se calcula a partir de `dni` y el email de la empresa es el del usuario) y el vínculo entre ambos. Verificación del email según `type_id`: 2 y 3 quedan verificados automáticamente y pueden iniciar sesión de inmediato; 4 (Partner) recibe un correo de verificación y no puede iniciar sesión hasta verificarlo. No retorna token: después se debe llamar a `POST /auth/login`.

📄️Verificar dirección de correo electrónico

Público (sin autenticación). Destino del enlace firmado que llega por correo; lo abre el navegador del usuario, no se invoca manualmente. La URL completa (incluidos `expires` y `signature`) la genera el backend y no debe modificarse. El enlace solo vale para el correo al que se envió: `hash` debe ser el SHA-1 del correo **actual** del usuario; si el usuario cambió su correo después de recibirlo (p. ej. con PUT /profile/{id}), el enlace anterior ya no verifica nada y redirige a `{FRONTEND_URL}/#/auth/email-resend` (un enlace con firma inválida o expirada no redirige: responde 403). Si la firma y `hash` son válidos marca el email como verificado y redirige al login del frontend; si ya estaba verificado solo redirige. Verificar el correo **no cambia `active`**: el registro y la sincronización crean las cuentas activas, así que un usuario inactivo es uno que desactivó un administrador y sigue inactivo (el login lo rechaza) hasta que un administrador lo reactive. Límite: 6 peticiones por minuto por IP.