Endpoint
POST /api/autenticacion/registrar
Este endpoint permite registrar un nuevo usuario en el sistema GIMA. El usuario registrado puede posteriormente autenticarse usando el endpoint de inicio de sesión.
Request Body
Nombre completo del usuario.Validación: required|string|max:255
Dirección de correo electrónico del usuario. Debe ser única en el sistema.Validación: required|email|unique:users,email
Contraseña del usuario. Debe tener al menos 8 caracteres.Validación: required|string|min:8|confirmed
Confirmación de la contraseña. Debe coincidir exactamente con el campo password.Validación: Requerido para la validación confirmed del campo password
Response
Estado de la operación. Valor: "exito"
Mensaje descriptivo del resultado de la operación
Objeto que contiene la información del usuario registradoNombre del usuario registrado
Dirección de correo electrónico del usuario registrado
Status Codes
Usuario registrado correctamente. El nuevo usuario ha sido creado en el sistema.
Error de validación. Los datos proporcionados no cumplen con los requisitos (ej: email duplicado, contraseña muy corta, contraseñas no coinciden).
Examples
Successful Registration
curl -X POST http://127.0.0.1:8000/api/autenticacion/registrar \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Usuario Prueba",
"email": "[email protected]",
"password": "secret123",
"password_confirmation": "secret123"
}'
Response (201 Created)
{
"estado": "exito",
"mensaje": "Usuario registrado correctamente",
"data": {
"usuario": "Usuario Prueba",
"email": "[email protected]"
}
}
Validation Error - Email Already Exists
curl -X POST http://127.0.0.1:8000/api/autenticacion/registrar \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Usuario Duplicado",
"email": "[email protected]",
"password": "secret123",
"password_confirmation": "secret123"
}'
Response (422 Validation Error)
{
"message": "The email has already been taken.",
"errors": {
"email": [
"The email has already been taken."
]
}
}
Validation Error - Password Too Short
curl -X POST http://127.0.0.1:8000/api/autenticacion/registrar \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Usuario Prueba",
"email": "[email protected]",
"password": "123",
"password_confirmation": "123"
}'
Response (422 Validation Error)
{
"message": "The password field must be at least 8 characters.",
"errors": {
"password": [
"The password field must be at least 8 characters."
]
}
}
Validation Error - Passwords Don’t Match
curl -X POST http://127.0.0.1:8000/api/autenticacion/registrar \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"name": "Usuario Prueba",
"email": "[email protected]",
"password": "secret123",
"password_confirmation": "secret456"
}'
Response (422 Validation Error)
{
"message": "The password field confirmation does not match.",
"errors": {
"password": [
"The password field confirmation does not match."
]
}
}
Notes
- El usuario registrado no tiene roles asignados por defecto. Los roles deben ser asignados posteriormente por un administrador.
- La contraseña es encriptada usando
bcrypt antes de ser almacenada en la base de datos.
- Después del registro exitoso, el usuario debe usar el endpoint
/api/autenticacion/iniciar-sesion para obtener un token de acceso.