RelatedContent API

Übersicht

Die RelatedContent API dient zur Verwaltung von verwandten Inhalten in Fess. Sie können benutzerdefinierte Inhalte definieren, die bei bestimmten Suchbegriffen angezeigt werden.

Basis-URL

/api/admin/relatedcontent

Endpunktliste

Methode Pfad Beschreibung
GET /settings Verwandte Inhalte auflisten
GET /setting/{id} Verwandten Inhalt abrufen
POST /setting Verwandten Inhalt erstellen
PUT /setting Verwandten Inhalt aktualisieren
DELETE /setting/{id} Verwandten Inhalt löschen

Verwandte Inhalte auflisten

Request

GET /api/admin/relatedcontent/settings

Parameter

Parameter Typ Erforderlich Beschreibung
size Integer Nein Anzahl der Einträge pro Seite (Standard: 25; änderbar über paging.page.size in fess_config.properties)
page Integer Nein Seitennummer (beginnt bei 1, Standard: 1; Werte von 0 oder kleiner werden als 1 behandelt)
term String Nein Filterung nach Suchbegriff (Platzhaltersuche)
content String Nein Filterung nach Inhaltstext (Platzhaltersuche)

Response

{
  "response": {
    "version": "15.9",
    "status": 0,
    "settings": [
      {
        "id": "content_id_1",
        "term": "fess",
        "content": "<div>Fess is an open source search server.</div>",
        "virtual_host": "",
        "sort_order": 0,
        "created_by": "admin",
        "created_time": 1700000000000,
        "updated_by": "admin",
        "updated_time": 1700000000000,
        "version_no": 1
      }
    ],
    "total": 5
  }
}

Bemerkung

Jedes Element von settings sowie das setting-Objekt des Einzelabruf-Endpunkts enthält die Felder der gespeicherten Entität unverändert. Neben term, content, sort_order und virtual_host werden auch die Audit-Felder created_by, created_time, updated_by, updated_time sowie das Feld version_no zur optimistischen Sperrung zurückgegeben. created_time und updated_time werden als Millisekunden seit dem Epoch-Zeitpunkt (Zahlen) angegeben. Felder, die nicht gesetzt sind (null), werden in der Antwort weggelassen. Außerdem enthält das response-Objekt jeder Antwort stets version, das die Produktversion angibt (Details siehe Admin API Übersicht).

Verwandten Inhalt abrufen

Request

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

Response

{
  "response": {
    "version": "15.9",
    "status": 0,
    "setting": {
      "id": "content_id_1",
      "term": "fess",
      "content": "<div>Fess is an open source search server.</div>",
      "virtual_host": "",
      "sort_order": 0,
      "created_by": "admin",
      "created_time": 1700000000000,
      "updated_by": "admin",
      "updated_time": 1700000000000,
      "version_no": 1
    }
  }
}

Bemerkung

Der version_no-Wert, der beim Aktualisieren (PUT) benötigt wird, ist der in dieser Abrufantwort enthaltene Wert.

Verwandten Inhalt erstellen

Request

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

Request-Body

{
  "term": "search",
  "content": "<div class='related'><h3>About Search</h3><p>Learn more about search features...</p></div>",
  "sort_order": 0,
  "virtual_host": ""
}

Feldbeschreibungen

Feld Erforderlich Beschreibung
term Ja Suchbegriff (max. 10000 Zeichen)
content Ja Anzuzeigender HTML-Inhalt (max. 10000 Zeichen)
sort_order Nein Anzeigereihenfolge (ganze Zahl zwischen 0 und 2147483647)
virtual_host Nein Virtueller Host (max. 1000 Zeichen)

Response

{
  "response": {
    "version": "15.9",
    "status": 0,
    "id": "new_content_id",
    "created": true
  }
}

Verwandten Inhalt aktualisieren

Request

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

Request-Body

{
  "id": "existing_content_id",
  "term": "search",
  "content": "<div class='related updated'><h3>About Search</h3><p>Updated information...</p></div>",
  "sort_order": 0,
  "virtual_host": "",
  "version_no": 1
}

Feldbeschreibungen

Feld Erforderlich Beschreibung
id Ja ID des zu aktualisierenden verwandten Inhalts (max. 1000 Zeichen)
term Ja Suchbegriff (max. 10000 Zeichen)
content Ja Anzuzeigender HTML-Inhalt (max. 10000 Zeichen)
sort_order Nein Anzeigereihenfolge (ganze Zahl zwischen 0 und 2147483647)
virtual_host Nein Virtueller Host (max. 1000 Zeichen)
version_no Ja Versionsnummer zur optimistischen Sperrung. Geben Sie den in der Antwort von setting/{id} enthaltenen Wert an.

Response

{
  "response": {
    "version": "15.9",
    "status": 0,
    "id": "existing_content_id",
    "created": false
  }
}

Bemerkung

Audit-Felder wie created_by, created_time, updated_by, updated_time sowie crud_mode werden ignoriert, auch wenn sie im Request-Body enthalten sind, da sie serverseitig automatisch gesetzt werden. Sie müssen diese beim Erstellen oder Aktualisieren nicht angeben.

Verwandten Inhalt löschen

Request

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

Response

{
  "response": {
    "version": "15.9",
    "status": 0
  }
}

Verwendungsbeispiele

Verwandter Inhalt für Produktinformationen

curl -X POST "http://localhost:8080/api/admin/relatedcontent/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "term": "product",
       "content": "<div class=\"product-info\"><h3>Our Products</h3><ul><li>Product A</li><li>Product B</li></ul></div>",
       "sort_order": 0
     }'

Verwandter Inhalt für Support-Informationen

curl -X POST "http://localhost:8080/api/admin/relatedcontent/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "term": "support",
       "content": "<div><p>Need help? Contact: support@example.com</p></div>",
       "sort_order": 0
     }'

Referenzinformationen