プランとキー
Standard:読み取り専用キー 1 つ。Pro:書き込み(ホワイトリスト、優先リスト、キック、メッセージ、BAN)もできるキーが最大 5 つと、署名付き Webhook。Community:キー無制限、プレイヤー検索とリーダーボード、より高い制限。Free ではキーを使えません。
- 「API」を開き、「新しいトークン」を選びます。
- 名前を付け、読み取りか書き込みを選び、必要ならサーバーや終了日で制限します。
- トークンをコピーします:表示されるのは一度だけです。
呼び出しと制限
https://dayzhub.cloud/api/v1/console に HTTPS で JSON を送受信し、Authorization: Bearer とトークンを付けます。各キーには、1 分あたりと 1 日あたりの独自のレート制限があります(Standard は 30 と 3000、Pro は 120 と 30000、Community は 300 と 150000)。プレイヤーの IP アドレスや BattlEye の GUID が含まれることはありません。
「API」ページに正確なベース URL が表示され、機械可読な OpenAPI の記述は /api/v1/console/openapi.json で公開されています。
署名付き Webhook(Pro)
あなた自身のエンドポイントが、参加、退出、キル、BAN、サーバーの状態、報告、アラートを、署名付きの JSON で受け取ります。再試行と配信ログ付きです。「API」ページでエンドポイントを追加し、そのシークレット(whsec_...)をコピーしてください。
署名を検証する
- X-DHC-Timestamp と X-DHC-Signature ヘッダーを読み取ります:署名は t=1760000000,v1=abc のような形式です。
- タイムスタンプ、ドット、そのままの生のリクエスト本文をつなげたものに、エンドポイントのシークレットで HMAC-SHA256 を計算し、小文字の 16 進数にします。
- 各 v1 の値と、定数時間比較で照合します。
- タイムスタンプがあなたの時計から 5 分以上ずれている配信は拒否し、すでに処理したイベント ID は無視します。
ポイント: JSON として解析する前の、本文の生のバイト列を使ってください。Node、Python、curl、PowerShell の例は API リファレンスにあります。