システム初期化モジュール¶
機能説明
機能インターフェースのプレフィックスは http(s)://<your-domain>
に統一されています。
本番環境では認証トークンを保護するために HTTPS を使用する必要があります。HTTP は開発環境でのみ推奨されます。
システム初期化モジュールは、初回デプロイ設定と稼働状況の監視を担当します。SQLite、MySQL、PostgreSQL データベースをサポートし、Rootユーザーの作成とシステムパラメータの初期化を含みます。ステータスインターフェースは、OAuth設定、機能スイッチなどを含むリアルタイムのシステム情報を提供します。
🔐 認証不要¶
システム初期化ステータスの取得¶
- インターフェース名:システム初期化ステータスの取得
- HTTP メソッド:GET
- パス:
/api/setup
- 認証要件:公開
- 機能概要:システムが初期化を完了しているかを確認し、データベースタイプと Root ユーザーのステータスを取得します。
💡 リクエスト例:
const response = await fetch('/api/setup', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
✅ 成功応答例:
❗ 失敗応答例:
🧾 フィールド説明:
status
(ブール型): システムが初期化を完了しているかどうかroot_init
(ブール型): Rootユーザーが既に存在するかどうかdatabase_type
(文字列): データベースタイプ。選択可能な値:"mysql"、"postgres"、"sqlite"
初回インストールウィザードの完了¶
- インターフェース名:初回インストールウィザードの完了
- HTTP メソッド:POST
- パス:
/api/setup
- 認証要件:公開
- 機能概要:Root管理者アカウントを作成し、システム初期化設定を完了します。
💡 リクエスト例:
const response = await fetch('/api/setup', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
username: "admin",
password: "password123",
confirmPassword: "password123",
SelfUseModeEnabled: false,
DemoSiteEnabled: false
})
});
const data = await response.json();
✅ 成功応答例:
❗ 失敗応答例:
🧾 フィールド説明:
username
(文字列): 管理者ユーザー名、最大長 12 文字password
(文字列): 管理者パスワード、最低 8 文字confirmPassword
(文字列): 確認パスワード、password と一致する必要がありますSelfUseModeEnabled
(ブール型): 自家利用モードを有効にするかどうかDemoSiteEnabled
(ブール型): デモサイトモードを有効にするかどうか
稼働状況の概要を取得¶
- インターフェース名:稼働状況の概要を取得
- HTTP メソッド:GET
- パス:
/api/status
- 認証要件:公開
- 機能概要:システム稼働状況、設定情報、および機能スイッチの状態を取得します。
💡 リクエスト例:
const response = await fetch('/api/status', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
✅ 成功応答例:
{
"success": true,
"message": "",
"data": {
"version": "v1.0.0",
"start_time": 1640995200,
"email_verification": false,
"github_oauth": true,
"github_client_id": "your_client_id",
"system_name": "New API",
"quota_per_unit": 500000,
"display_in_currency": true,
"enable_drawing": true,
"enable_task": true,
"setup": true
}
}
❗ 失敗応答例:
🧾 フィールド説明:
version
(文字列): システムバージョン番号start_time
(数字): システム起動タイムスタンプemail_verification
(ブール型): メール認証を有効にするかどうかgithub_oauth
(ブール型): GitHub OAuth ログインを有効にするかどうかgithub_client_id
(文字列): GitHub OAuth クライアント IDsystem_name
(文字列): システム名quota_per_unit
(数字): 単位あたりのクォータ数display_in_currency
(ブール型): 通貨形式で表示するかどうかenable_drawing
(ブール型): 描画機能を有効にするかどうかenable_task
(ブール型): タスク機能を有効にするかどうかsetup
(ブール型): システムが初期化を完了しているかどうか
Uptime-Kuma 互換ステータスプローブ¶
- インターフェース名:Uptime-Kuma 互換ステータスプローブ
- HTTP メソッド:GET
- パス:
/api/uptime/status
- 認証要件:公開
- 機能概要:Uptime-Kuma 監視システムと互換性のあるステータスチェックインターフェースを提供します。
💡 リクエスト例:
const response = await fetch('/api/uptime/status', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
}
});
const data = await response.json();
✅ 成功応答例:
{
"success": true,
"data": [
{
"categoryName": "OpenAIサービス",
"monitors": [
{
"name": "GPT-4",
"group": "OpenAI",
"status": 1,
"uptime": 99.5
}
]
}
]
}
❗ 失敗応答例:
🧾 フィールド説明:
categoryName
(文字列): 監視分類名monitors
(配列): 監視項目リストname
(文字列): 監視項目名group
(文字列): 監視グループ名status
(数字): ステータスコード。1=正常、0=異常uptime
(数字): 可用率パーセンテージ
🔐 管理者認証¶
バックエンドと依存コンポーネントのテスト¶
- インターフェース名:バックエンドと依存コンポーネントのテスト
- HTTP メソッド:GET
- パス:
/api/status/test
- 認証要件:管理者
- 機能概要:システムコンポーネントの接続状態とヘルスチェックを実行します。
💡 リクエスト例:
const response = await fetch('/api/status/test', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer your_admin_token',
'New-Api-User': 'Bearer your_user_id'
}
});
const data = await response.json();
✅ 成功応答例:
{
"success": true,
"message": "すべてのコンポーネントテストに合格しました",
"data": {
"database": "connected",
"redis": "connected",
"external_apis": "healthy"
}
}
❗ 失敗応答例:
🧾 フィールド説明:
database
(文字列): データベース接続状態redis
(文字列): Redis 接続状態external_apis
(文字列): 外部 API ヘルス状態