BadWord API

概要

BadWord APIは、Fess のNGワード(不適切なサジェストワードの除外)を管理するためのAPIです。 サジェスト機能で表示したくないキーワードを設定できます。

ベースURL

/api/admin/badword

エンドポイント一覧

メソッド パス 説明
GET /settings NGワード一覧取得
GET /setting/{id} NGワード取得
POST /setting NGワード作成
PUT /setting NGワード更新
DELETE /setting/{id} NGワード削除
PUT /upload NGワードCSVアップロード
GET /download NGワードCSVダウンロード

NGワード一覧取得

リクエスト

GET /api/admin/badword/settings

パラメーター

レスポンス

{
  "response": {
    "status": 0,
    "settings": [
      {
        "id": "badword_id_1",
        "suggestWord": "inappropriate_word"
      }
    ],
    "total": 5
  }
}

NGワード取得

リクエスト

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

レスポンス

{
  "response": {
    "status": 0,
    "setting": {
      "id": "badword_id_1",
      "suggestWord": "inappropriate_word"
    }
  }
}

NGワード作成

リクエスト

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

リクエストボディ

{
  "suggestWord": "spam_keyword"
}

フィールド説明

レスポンス

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

NGワード更新

リクエスト

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

リクエストボディ

{
  "id": "existing_badword_id",
  "suggestWord": "updated_spam_keyword",
  "versionNo": 1
}

レスポンス

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

NGワード削除

リクエスト

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

レスポンス

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

NGワードCSVアップロード

CSVファイルからNGワードを一括登録します。ファイルは multipart/form-data で送信します。インポートはサーバー側で非同期に実行されます。

リクエスト

PUT /api/admin/badword/upload
Content-Type: multipart/form-data

パラメーター

パラメーター 必須 説明
badWordFile はい アップロードするNGワードCSVファイル

CSVフォーマット

  • 1行目はヘッダー行として読み飛ばされます(列名は任意。ダウンロード時は BadWord が出力されます)。

  • 2行目以降は、1行に1つのNGワードを suggestWord として記述します。

  • 値が空白のみの行は無視されます。

  • 単語の先頭に -- を付けると、その単語を削除します(例: --spamspam を削除)。

  • 既に登録済みの単語を指定した場合は更新(更新者・更新日時の再設定)として扱われます。

注釈

アップロード処理はサーバー側で非同期に実行されるため、レスポンスの status: 0 は リクエストの受理を示すものであり、インポート完了を保証するものではありません。

レスポンス

{
  "response": {
    "status": 0
  }
}

NGワードCSVダウンロード

登録済みのNGワードをCSVファイル(badword.csv)としてダウンロードします。レスポンスは application/octet-stream のストリームです。 CSVは1行目に BadWord というヘッダー行を持ち、2行目以降に登録済みのNGワードが1行に1つずつ出力されます。

リクエスト

GET /api/admin/badword/download

使用例

スパムキーワードの除外

curl -X POST "http://localhost:8080/api/admin/badword/setting" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "suggestWord": "spam"
     }'

CSVファイルのアップロード

curl -X PUT "http://localhost:8080/api/admin/badword/upload" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -F "badWordFile=@badword.csv"

CSVファイルのダウンロード

curl -X GET "http://localhost:8080/api/admin/badword/download" \
     -H "Authorization: Bearer YOUR_TOKEN" \
     -o badword.csv

参考情報