Vision General
Fess Admin API es una API RESTful para acceder programaticamente a las funciones de administracion. A traves de esta API, puede ejecutar la mayoria de las operaciones disponibles en el panel de administracion, como configuracion de rastreo, gestion de usuarios y control del programador.
Al utilizar esta API, puede automatizar la configuracion de Fess o integrarse con sistemas externos.
URL Base
La URL base de Admin API tiene el siguiente formato:
http://<Nombre del Servidor>/api/admin/
Por ejemplo, en un entorno local:
http://localhost:8080/api/admin/
Autenticacion
Para acceder a Admin API, se requiere autenticacion mediante token de acceso.
Obtencion del Token de Acceso
Inicie sesion en el panel de administracion
Vaya a «Sistema» -> «Tokens de Acceso»
Haga clic en «Crear Nuevo»
Ingrese el nombre del token y seleccione los permisos necesarios
Haga clic en «Crear» para obtener el token
Uso del Token
Incluya el token de acceso en el encabezado de la solicitud:
Authorization: Bearer <token de acceso>
O especifique como parametro de consulta:
?token=<token de acceso>
Ejemplo con cURL
curl -H "Authorization: Bearer YOUR_TOKEN" \
"http://localhost:8080/api/admin/scheduler/settings"
Permisos Requeridos
Para usar Admin API, el token necesita los siguientes permisos:
admin-*- Acceso a todas las funciones de administracionadmin-scheduler- Solo gestion del programadoradmin-user- Solo gestion de usuariosOtros permisos especificos por funcion
Patrones Comunes
Obtener Lista (GET/PUT /settings)
Obtiene una lista de configuraciones.
Solicitud
GET /api/admin/<recurso>/settings
PUT /api/admin/<recurso>/settings
Parametros (paginacion):
| Parametro | Tipo | Descripcion |
|---|---|---|
size | Integer | Numero de elementos por pagina (predeterminado: 20) |
page | Integer | Numero de pagina (comienza en 0) |
Respuesta
{
"response": {
"status": 0,
"settings": [...],
"total": 100
}
}
Obtener Configuracion Individual (GET /setting/{id})
Obtiene una configuracion individual especificando el ID.
Solicitud
GET /api/admin/<recurso>/setting/{id}
Respuesta
{
"response": {
"status": 0,
"setting": {...}
}
}
Crear Nuevo (POST /setting)
Crea una nueva configuracion.
Solicitud
POST /api/admin/<recurso>/setting
Content-Type: application/json
{
"name": "...",
"...": "..."
}
Respuesta
{
"response": {
"status": 0,
"id": "created_id",
"created": true
}
}
Actualizar (PUT /setting)
Actualiza una configuracion existente.
Solicitud
PUT /api/admin/<recurso>/setting
Content-Type: application/json
{
"id": "...",
"name": "...",
"...": "..."
}
Respuesta
{
"response": {
"status": 0,
"id": "updated_id",
"created": false
}
}
Eliminar (DELETE /setting/{id})
Elimina una configuracion.
Solicitud
DELETE /api/admin/<recurso>/setting/{id}
Respuesta
{
"response": {
"status": 0,
"id": "deleted_id",
"created": false
}
}
Formato de Respuesta
Respuesta Exitosa
{
"response": {
"status": 0,
...
}
}
status: 0 indica exito.
Respuesta de Error
{
"response": {
"status": 1,
"errors": [
{"code": "errors.failed_to_create", "args": ["...", "..."]}
]
}
}
Codigos de Estado HTTP
| Codigo | Descripcion |
|---|---|
| 200 | Solicitud exitosa |
| 400 | Parametros de solicitud invalidos |
| 401 | Se requiere autenticacion (sin token o token invalido) |
| 403 | Sin permisos de acceso |
| 404 | Recurso no encontrado |
| 500 | Error interno del servidor |
APIs Disponibles
Fess proporciona las siguientes Admin APIs.
Configuracion de Rastreo
| Endpoint | Descripcion |
|---|---|
| API de WebConfig | Configuracion de rastreo web |
| API de FileConfig | Configuracion de rastreo de archivos |
| API de DataConfig | Configuracion de almacen de datos |
Gestion de Indices
| Endpoint | Descripcion |
|---|---|
| API de Documents | Operaciones masivas de documentos |
| API de CrawlingInfo | Informacion de rastreo |
| API de FailureUrl | Gestion de URLs fallidas |
| API de Backup | Copia de seguridad/Restauracion |
Programador
| Endpoint | Descripcion |
|---|---|
| API de Scheduler | Programacion de trabajos |
| API de JobLog | Obtencion de registros de trabajos |
Gestion de Usuarios y Permisos
| Endpoint | Descripcion |
|---|---|
| API de User | Gestion de usuarios |
| API de Role | Gestion de roles |
| API de Group | Gestion de grupos |
| API de AccessToken | Gestion de tokens API |
Ajuste de Busqueda
| Endpoint | Descripcion |
|---|---|
| API de LabelType | Tipos de etiqueta |
| API de KeyMatch | Coincidencia de claves |
| API de BoostDoc | Impulso de documentos |
| API de ElevateWord | Palabras elevadas |
| API de BadWord | Palabras prohibidas |
| API de RelatedContent | Contenido relacionado |
| API de RelatedQuery | Consultas relacionadas |
| API de Suggest | Gestion de sugerencias |
Sistema
| Endpoint | Descripcion |
|---|---|
| API de General | Configuracion general |
| API de SystemInfo | Informacion del sistema |
| API de Stats | Estadisticas del sistema |
| API de Log | Obtencion de registros |
| API de Storage | Gestion de almacenamiento |
| API de Plugin | Gestion de plugins |
Diccionario
| Endpoint | Descripcion |
|---|---|
| API de Dict | Gestion de diccionarios (sinonimos, palabras vacias, etc.) |
Ejemplos de Uso
Crear Configuracion de Rastreo Web
curl -X POST "http://localhost:8080/api/admin/webconfig/setting" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Example Site",
"urls": "https://example.com/",
"includedUrls": ".*example.com.*",
"excludedUrls": "",
"maxAccessCount": 1000,
"depth": 3,
"available": true
}'
Iniciar Trabajo Programado
curl -X PUT "http://localhost:8080/api/admin/scheduler/{job_id}/start" \
-H "Authorization: Bearer YOUR_TOKEN"
Obtener Lista de Usuarios
curl "http://localhost:8080/api/admin/user/settings?size=50&page=0" \
-H "Authorization: Bearer YOUR_TOKEN"
Informacion de Referencia
Descripción de la API - Vision general de API
Token de Acceso - Guia de gestion de tokens de acceso