Vision General
La API de User es para gestionar cuentas de usuario de Fess. Puede operar creacion, actualizacion, eliminacion y configuracion de permisos de usuarios.
URL Base
/api/admin/user
Lista de Endpoints
| Metodo | Ruta | Descripcion |
|---|---|---|
| GET/PUT | /settings | Obtener lista de usuarios |
| GET | /setting/{id} | Obtener usuario |
| POST | /setting | Crear usuario |
| PUT | /setting | Actualizar usuario |
| DELETE | /setting/{id} | Eliminar usuario |
Obtener Lista de Usuarios
Solicitud
GET /api/admin/user/settings
PUT /api/admin/user/settings
Parametros
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
size | Integer | No | Numero de elementos por pagina (predeterminado: 20) |
page | Integer | No | Numero de pagina (comienza en 0) |
Respuesta
{
"response": {
"status": 0,
"settings": [
{
"id": "user_id_1",
"name": "admin",
"surname": "Administrator",
"givenName": "System",
"mail": "admin@example.com",
"roles": ["admin"],
"groups": []
}
],
"total": 10
}
}
Obtener Usuario
Solicitud
GET /api/admin/user/setting/{id}
Respuesta
{
"response": {
"status": 0,
"setting": {
"id": "user_id_1",
"name": "admin",
"surname": "Administrator",
"givenName": "System",
"mail": "admin@example.com",
"telephoneNumber": "",
"homePhone": "",
"homePostalAddress": "",
"labeledUri": "",
"roomNumber": "",
"description": "",
"title": "",
"pager": "",
"street": "",
"postalCode": "",
"physicalDeliveryOfficeName": "",
"destinationIndicator": "",
"internationaliSDNNumber": "",
"state": "",
"employeeNumber": "",
"facsimileTelephoneNumber": "",
"postOfficeBox": "",
"initials": "",
"carLicense": "",
"mobile": "",
"postalAddress": "",
"city": "",
"teletexTerminalIdentifier": "",
"x121Address": "",
"businessCategory": "",
"registeredAddress": "",
"displayName": "",
"preferredLanguage": "",
"departmentNumber": "",
"uidNumber": "",
"gidNumber": "",
"homeDirectory": "",
"roles": ["admin"],
"groups": []
}
}
}
Crear Usuario
Solicitud
POST /api/admin/user/setting
Content-Type: application/json
Cuerpo de la Solicitud
{
"name": "testuser",
"password": "securepassword",
"surname": "Test",
"givenName": "User",
"mail": "testuser@example.com",
"roles": ["user"],
"groups": ["group_id_1"]
}
Descripcion de Campos
| Campo | Requerido | Descripcion |
|---|---|---|
name | Si | Nombre de usuario (ID de inicio de sesion) |
password | Si | Contrasena |
surname | No | Apellido |
givenName | No | Nombre |
mail | No | Direccion de correo electronico |
telephoneNumber | No | Numero de telefono |
roles | No | Array de IDs de roles |
groups | No | Array de IDs de grupos |
Respuesta
{
"response": {
"status": 0,
"id": "new_user_id",
"created": true
}
}
Actualizar Usuario
Solicitud
PUT /api/admin/user/setting
Content-Type: application/json
Cuerpo de la Solicitud
{
"id": "existing_user_id",
"name": "testuser",
"password": "newpassword",
"surname": "Test",
"givenName": "User Updated",
"mail": "testuser.updated@example.com",
"roles": ["user", "editor"],
"groups": ["group_id_1", "group_id_2"],
"versionNo": 1
}
Respuesta
{
"response": {
"status": 0,
"id": "existing_user_id",
"created": false
}
}
Eliminar Usuario
Solicitud
DELETE /api/admin/user/setting/{id}
Respuesta
{
"response": {
"status": 0,
"id": "deleted_user_id",
"created": false
}
}
Ejemplos de Uso
Crear Nuevo Usuario
curl -X POST "http://localhost:8080/api/admin/user/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "john.doe",
"password": "SecureP@ss123",
"surname": "Doe",
"givenName": "John",
"mail": "john.doe@example.com",
"roles": ["user"],
"groups": []
}'
Cambiar Roles de Usuario
curl -X PUT "http://localhost:8080/api/admin/user/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "user_id_123",
"name": "john.doe",
"roles": ["user", "editor", "admin"],
"versionNo": 1
}'
Informacion de Referencia
Vision General de Admin API - Vision general de Admin API
API de Role - API de gestion de roles
API de Group - API de gestion de grupos
Usuario - Guia de gestion de usuarios