📖 概要

Best Auction APIは、Minecraftサーバー間でオークション情報を共有するためのRESTful APIです。

ベースURL

https://best-auction-cloud.masafumi-t.workers.dev

データ形式

すべてのAPIエンドポイントはJSON形式でデータを送受信します。

🔐 認証

すべてのAPIリクエストには Bearer トークンによる認証が必要です。

認証ヘッダー

Authorization: Bearer YOUR_API_TOKEN

トークンの取得

APIトークンはダッシュボードから生成できます。

POST /api/auth/validate
APIトークンの有効性を検証します。
{ "success": true, "data": { "valid": true, "token": { "server_id": "my-server", "permissions": "read,write", "username": "user123" } } }

🏷️ オークション関連

GET /api/auctions/{serverId}
指定されたサーバーのオークション一覧を取得します。

パラメータ

パラメータ タイプ 必須 説明
serverId string 必須 サーバーID
active_only boolean 任意 アクティブなオークションのみ
limit number 任意 取得件数(最大100)
offset number 任意 オフセット

レスポンス例

{ "success": true, "data": [ { "auction_id": 123, "server_id": "my-server", "seller_name": "PlayerName", "item_name": "Diamond Sword", "item_type": "DIAMOND_SWORD", "quantity": 1, "current_price": 1000, "buyout_price": 1500, "category": "WEAPON", "created_at": "2025-06-19T12:00:00Z", "expires_at": "2025-06-26T12:00:00Z", "is_active": true, "is_sold": false } ] }
GET /api/auctions/{serverId}/{auctionId}
特定のオークションの詳細情報を取得します。

パラメータ

パラメータ タイプ 必須 説明
serverId string 必須 サーバーID
auctionId number 必須 オークションID

🖥️ サーバー関連

GET /api/servers
利用可能なサーバーの一覧を取得します。

レスポンス例

{ "success": true, "data": [ { "server_id": "main-server", "auction_count": 150, "last_activity": "2025-06-19T14:30:00Z" }, { "server_id": "creative-server", "auction_count": 45, "last_activity": "2025-06-19T14:25:00Z" } ] }
GET /api/servers/{serverId}/stats
サーバーの統計情報を取得します。

📊 イベント関連

GET /api/events/{serverId}
サーバーのイベント履歴を取得します。

イベントタイプ

  • ITEM_LISTED - アイテム出品
  • BID_PLACED - 入札
  • BID_CANCELLED - 入札キャンセル
  • AUCTION_CANCELLED - オークションキャンセル
  • ITEM_SOLD - アイテム販売完了
POST /api/events
新しいイベントを送信します(プラグイン用)。

リクエスト例

{ "event_type": "ITEM_LISTED", "server_id": "my-server", "timestamp": "2025-06-19T14:30:00", "auction_id": 123, "data": { "seller_uuid": "123e4567-e89b-12d3-a456-426614174000", "seller_name": "PlayerName", "item_name": "Diamond Sword", "item_type": "DIAMOND_SWORD", "quantity": 1, "start_price": 1000 } }

📋 レスポンス形式

成功レスポンス

{ "success": true, "data": {...}, "message": "Success" }

エラーレスポンス

{ "success": false, "error": "Error message", "message": "Additional details" }

⚠️ エラーハンドリング

ステータスコード 説明 対処法
400 Bad Request - リクエストが無効 リクエストパラメータを確認
401 Unauthorized - 認証エラー APIトークンを確認
403 Forbidden - 権限不足 トークンの権限を確認
404 Not Found - リソースが見つからない URLとパラメータを確認
500 Internal Server Error - サーバーエラー 時間をおいて再試行

レート制限

APIには1分間に100リクエストの制限があります。制限を超えた場合は429ステータスコードが返されます。