Skip to content

User


PUT /user-endpoints/update-profile

El endpoint permite actualizar perfil, teléfono, direcciones de facturación y direcciones postales del usuario autenticado.

http://localhost:1337/api/user-endpoints/update-profile
{
"name": "Juan",
"surname": "Pérez",
"phone": "+34600111222",
"birthday": "1995-04-12",
"newsletter": true,
"billingAddress": {
"address": "Calle Mayor 12",
"postalCode": "28013",
"city": "Madrid",
"countryCode": "ES",
"phone": "+34910000000"
},
"mailingAddress": {
"address": "Av. Libertad 55",
"postalCode": "28014",
"city": "Madrid",
"countryCode": "ES",
"phone": "+34910000001"
}
}
{
"id": 123,
"documentId": "xxxxxx",
"email": "user@example.com",
"name": "Juan",
"surname": "Pérez",
"phone": "+34600111222",
"billingAddress": {
"address": "Calle Mayor 12",
"postalCode": "28013",
"city": "Madrid",
"country": "Spain",
"countryCode": "ES",
"phone": "+34910000000"
},
"mailingAddress": {
"address": "Av. Libertad 55",
"postalCode": "28014",
"city": "Madrid",
"country": "Spain",
"countryCode": "ES",
"phone": "+34910000001"
}
}


POST /user-endpoints/register

Este endpoint permite registrar un usuario:

Valida la estructura y los campos obligatorios del payload.

Normaliza direcciones (billingAddress y mailingAddress) usando countryCode si no hay country.

Verifica que el usuario no exista previamente.

Guarda el usuario en la base de datos Strapi con los campos proporcionados.

Envía un correo de bienvenida según vertical e idioma detectado.

http://localhost:1337/api/user-endpoints/register
CampoTipoDescripción
emailstringEmail del usuario
passwordstringContraseña (validación de patrón incluida)
nameLastNamestringNombre completo del usuario
identificationNumberstringNúmero de identificación del usuario
CampoTipoDescripción
phonestringTeléfono de contacto
languagestringCódigo de idioma (en, es, etc.). Se detecta automáticamente si no se proporciona
verticalstringVertical del usuario (ej. fitness). Valor por defecto aplicado si no se proporciona
billingAddressobjectDirección de facturación. Puede incluir country, countryCode, street, city, postalCode
mailingAddressobjectDirección de envío. Igual estructura que billingAddress
{
"email": "usuario@example.com",
"password": "Str0ngP@ssword!",
"nameLastName": "Juan Pérez",
"identificationNumber": "123456789",
"phone": "+34123456789",
"language": "es",
"vertical": "fitness",
"billingAddress": {
"street": "Calle Falsa 123",
"city": "Madrid",
"postalCode": "28001",
"countryCode": "ES"
},
"mailingAddress": {
"street": "Calle Verdadera 456",
"city": "Madrid",
"postalCode": "28002",
"country": "Spain"
}
}
{
"id": 101,
"email": "usuario@example.com",
"username": "usuario@example.com",
"nameLastName": "Juan Pérez",
"phone": "+34123456789",
"identificationNumber": "123456789",
"language": "es",
"vertical": "fitness",
"billingAddress": {
"street": "Calle Falsa 123",
"city": "Madrid",
"postalCode": "28001",
"country": "Spain",
"countryCode": "ES"
},
"mailingAddress": {
"street": "Calle Verdadera 456",
"city": "Madrid",
"postalCode": "28002",
"country": "Spain"
},
"role": 1
}


POST /login-user/exists-email-vertical

Verifica si un email ya existe en el sistema y si requiere restablecimiento de contraseña para usuarios importados desde WordPress.

http://localhost:1337/api/login-user/exists-email-vertical
CampoTipoDescripción
emailstringEmail del usuario a verificar
{
"email": "usuario@example.com"
}
{
"status": 200,
"code": "EMAIL_EXISTS",
"message": "The email exists in the system",
"exists": true,
"isWordpressUser": false
}
{
"status": 200,
"code": "PASSWORD_RESET_REQUIRED",
"message": "The user needs to reset the password",
"exists": true,
"isWordpressUser": true
}
{
"status": 411,
"code": "EMAIL_NOT_FOUND",
"message": "The email does not exist",
"exists": false
}


POST /user-endpoints/login

Permite que un usuario inicie sesión en el sistema. Valida credenciales, detecta usuarios importados de WordPress y devuelve un JWT para autenticación.

http://localhost:1337/api/user-endpoints/login
CampoTipoDescripción
emailstringEmail del usuario
passwordstringContraseña del usuario
{
"jwt": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 101,
"documentId": "ABC123",
"username": "usuario@example.com",
"email": "usuario@example.com",
"confirmed": true,
"phone": "+34123456789",
"origin": "internal",
"identificationNumber": "123456789",
"nameLastName": "Juan Pérez"
}
}

POST /user-endpoints/migrate

Permite migrar un usuario desde WordPress al sistema Strapi, creando un nuevo usuario

http://localhost:1337/api/user-endpoints/migrate
CampoTipoDescripción
emailstringEmail del usuario a migrar
originstringOrigen del usuario (ej. wordpress)
nameLastNamestringNombre completo del usuario
identificationNumberstringNúmero de identificación del usuario
phonestringTeléfono del usuario
billingAddressobjectDirección de facturación. Puede incluir street, city, postalCode, country, countryCode
mailingAddressobjectDirección de envío. Igual estructura que billingAddress
{
"email": "usuario@example.com",
"origin": "wordpress",
"nameLastName": "Juan Pérez",
"identificationNumber": "123456789",
"phone": "+34123456789",
"billingAddress": {
"street": "Calle Falsa 123",
"city": "Madrid",
"postalCode": "28001",
"countryCode": "ES"
},
"mailingAddress": {
"street": "Calle Verdadera 456",
"city": "Madrid",
"postalCode": "28002",
"country": "Spain"
}
}
{
"id": 101,
"email": "usuario@example.com",
"username": "usuario@example.com",
"nameLastName": "Juan Pérez",
"identificationNumber": "123456789",
"phone": "+34123456789",
"origin": "wordpress",
"isFromWordpress": true,
"billingAddress": {
"street": "Calle Falsa 123",
"city": "Madrid",
"postalCode": "28001",
"country": "Spain",
"countryCode": "ES"
},
"mailingAddress": {
"street": "Calle Verdadera 456",
"city": "Madrid",
"postalCode": "28002",
"country": "Spain"
},
"role": 1
}


Permite a un usuario restablecer su contraseña mediante un token de reseteo válido enviado previamente por email.

POST /user-endpoints/password-reset
http://localhost:1337/api/user-endpoints/password-reset
CampoTipoDescripción
passwordstringNueva contraseña del usuario. Debe cumplir el patrón de seguridad definido en FIELD_VALIDATIONS.password.
codestringToken de reseteo enviado al email del usuario.
langstring (opcional)Código de idioma para el correo de confirmación (ej. en, es). Si no se proporciona, se usa un valor por defecto.
{
"password": "N3wStr0ngP@ssword!",
"code": "abc123resetcode",
"lang": "es"
}
{
"code": "PASSWORD_UPDATED",
"message": "Password updated successfully."
}


GET /user-endpoints/users

Permite obtener una lista completa de usuarios en el sistema.

http://localhost:1337/api/user-endpoints/users
[
{
"id": 1,
"email": "admin@example.com",
"username": "admin@example.com",
"nameLastName": "Admin User",
"role": {
"name": "ADMINISTRATOR",
"id": 1
},
"phone": "+34123456789",
"origin": "local",
"billingAddress": {
"street": "Calle Falsa 123",
"city": "Madrid",
"postalCode": "28001",
"country": "Spain",
"countryCode": "ES"
},
"mailingAddress": {
"street": "Calle Verdadera 456",
"city": "Madrid",
"postalCode": "28002",
"country": "Spain"
}
},
{
"id": 2,
"email": "user@example.com",
"username": "user@example.com",
"nameLastName": "User Example",
"role": {
"name": "USER",
"id": 2
},
...
}
]