Vision General de Admin API

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

  1. Inicie sesion en el panel de administracion

  2. Vaya a «Sistema» -> «Tokens de Acceso»

  3. Haga clic en «Crear Nuevo»

  4. Ingrese el nombre del token y seleccione los permisos necesarios

  5. 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 administracion

  • admin-scheduler - Solo gestion del programador

  • admin-user - Solo gestion de usuarios

  • Otros 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