API de WebConfig

Vision General

La API de WebConfig es para gestionar la configuracion de rastreo web de Fess. Puede operar configuraciones como URLs de rastreo, profundidad de rastreo y patrones de exclusion.

URL Base

/api/admin/webconfig

Lista de Endpoints

Metodo Ruta Descripcion
GET/PUT /settings Obtener lista de configuraciones de rastreo web
GET /setting/{id} Obtener configuracion de rastreo web
POST /setting Crear configuracion de rastreo web
PUT /setting Actualizar configuracion de rastreo web
DELETE /setting/{id} Eliminar configuracion de rastreo web

Obtener Lista de Configuraciones de Rastreo Web

Solicitud

GET /api/admin/webconfig/settings
PUT /api/admin/webconfig/settings

Parametros

Respuesta

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "webconfig_id_1",
        "name": "Example Site",
        "urls": "https://example.com/",
        "includedUrls": ".*example\\.com.*",
        "excludedUrls": ".*\\.(pdf|zip)$",
        "includedDocUrls": "",
        "excludedDocUrls": "",
        "configParameter": "",
        "depth": 3,
        "maxAccessCount": 1000,
        "userAgent": "",
        "numOfThread": 1,
        "intervalTime": 1000,
        "boost": 1.0,
        "available": true,
        "sortOrder": 0
      }
    ],
    "total": 5
  }
}

Obtener Configuracion de Rastreo Web

Solicitud

GET /api/admin/webconfig/setting/{id}

Respuesta

{
  "response": {
    "status": 0,
    "setting": {
      "id": "webconfig_id_1",
      "name": "Example Site",
      "urls": "https://example.com/",
      "includedUrls": ".*example\\.com.*",
      "excludedUrls": ".*\\.(pdf|zip)$",
      "includedDocUrls": "",
      "excludedDocUrls": "",
      "configParameter": "",
      "depth": 3,
      "maxAccessCount": 1000,
      "userAgent": "",
      "numOfThread": 1,
      "intervalTime": 1000,
      "boost": 1.0,
      "available": true,
      "sortOrder": 0,
      "permissions": ["admin"],
      "virtualHosts": [],
      "labelTypeIds": []
    }
  }
}

Crear Configuracion de Rastreo Web

Solicitud

POST /api/admin/webconfig/setting
Content-Type: application/json

Cuerpo de la Solicitud

{
  "name": "Corporate Site",
  "urls": "https://www.example.com/",
  "includedUrls": ".*www\\.example\\.com.*",
  "excludedUrls": ".*\\.(pdf|zip|exe)$",
  "depth": 5,
  "maxAccessCount": 5000,
  "numOfThread": 3,
  "intervalTime": 500,
  "boost": 1.0,
  "available": true,
  "permissions": ["admin", "user"],
  "labelTypeIds": ["label_id_1"]
}

Descripcion de Campos

Respuesta

{
  "response": {
    "status": 0,
    "id": "new_webconfig_id",
    "created": true
  }
}

Actualizar Configuracion de Rastreo Web

Solicitud

PUT /api/admin/webconfig/setting
Content-Type: application/json

Cuerpo de la Solicitud

{
  "id": "existing_webconfig_id",
  "name": "Updated Corporate Site",
  "urls": "https://www.example.com/",
  "includedUrls": ".*www\\.example\\.com.*",
  "excludedUrls": ".*\\.(pdf|zip|exe|dmg)$",
  "depth": 10,
  "maxAccessCount": 10000,
  "numOfThread": 5,
  "intervalTime": 300,
  "boost": 1.2,
  "available": true,
  "versionNo": 1
}

Respuesta

{
  "response": {
    "status": 0,
    "id": "existing_webconfig_id",
    "created": false
  }
}

Eliminar Configuracion de Rastreo Web

Solicitud

DELETE /api/admin/webconfig/setting/{id}

Respuesta

{
  "response": {
    "status": 0,
    "id": "deleted_webconfig_id",
    "created": false
  }
}

Ejemplos de Patrones de URL

includedUrls / excludedUrls

Patron Descripcion
.*example\\.com.* Todas las URLs que contienen example.com
https://example\\.com/docs/.* Solo bajo /docs/
.*\\.(pdf|doc|docx)$ Archivos PDF, DOC, DOCX
.*\\?.* URLs con parametros de consulta
.*/(login|logout|admin)/.* URLs que contienen rutas especificas

Ejemplos de Uso

Configuracion de Rastreo de Sitio Corporativo

curl -X POST "http://localhost:8080/api/admin/webconfig/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "Corporate Website",
       "urls": "https://www.example.com/",
       "includedUrls": ".*www\\.example\\.com.*",
       "excludedUrls": ".*/(login|admin|api)/.*",
       "depth": 5,
       "maxAccessCount": 10000,
       "numOfThread": 3,
       "intervalTime": 500,
       "available": true,
       "permissions": ["guest"]
     }'

Configuracion de Rastreo de Sitio de Documentacion

curl -X POST "http://localhost:8080/api/admin/webconfig/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "name": "Documentation Site",
       "urls": "https://docs.example.com/",
       "includedUrls": ".*docs\\.example\\.com.*",
       "excludedUrls": "",
       "includedDocUrls": ".*\\.(html|htm)$",
       "depth": -1,
       "maxAccessCount": 50000,
       "numOfThread": 5,
       "intervalTime": 200,
       "boost": 1.5,
       "available": true,
       "labelTypeIds": ["documentation_label_id"]
     }'

Informacion de Referencia