Noxyrは、サーバーごとに使える無料のREST APIを提供するようになりました。これにより、ライブのDiscordデータ(メンバー数、チケットの分析、アクティビティの指標、売上、レビュー、プレゼント企画)を、ウェブサイト、ダッシュボード、モバイルアプリ、または別のボットに取り込めます。 キーはサーバーごとに1つで、ダッシュボードから生成します。SHA-256のハッシュで保護され、あなたが管理するスコープのスイッチでアクセスを制御します。
サーバー単位のAPIである理由
多くのDiscordボットは、データをまったく公開しないか、インテント、ゲートウェイ接続、レート制限の計算を伴う生のDiscord APIを自分で扱うことを求めます。NoxyrサーバーAPIはその逆です。ヘッダーを送るとJSONが返ってきます。サーバーのオーナーが実際に知りたいこと(メンバーは何人いるか、今週のチケットは何件か、通貨ごとの売上はいくらか、レビューの平均評価は何か、開催中のプレゼント企画は何か、日別のアクティビティの推移はどうか)に、6つのエンドポイントで答えられます。
現在読み取れるもの
GET /api/v1/server: サーバー名、アイコンのURL、ライブのメンバー数、オンライン数、ブースト数、作成日。GET /api/v1/tickets: 合計・対応中・クローズ済み、過去7日と30日に開かれたチケット、過去7日にクローズされたチケット、平均評価と評価の件数。GET /api/v1/activity?days=30: 最大90日分の日別のメッセージ数、参加数、退出数。どの日付も必ず含まれるように、データのない日は0で埋められます。GET /api/v1/invoices: 請求書の件数、過去7日と30日の件数と通貨ごとの売上、そして支払いステータスの内訳。GET /api/v1/reviews: 投稿されたレビューの合計、平均評価、1〜5つ星の内訳、最新の5件のレビュー(商品、評価、短い本文、投稿者)。GET /api/v1/giveaways: 開催中・終了済みの件数、参加の合計、そして次に終了する開催中のプレゼント企画5件。
セキュリティの仕組み
キーは nxr_ で始まり、192ビットのエントロピーを持ちます。サーバーに保存されるのはSHA-256のハッシュだけです。生のキーは生成時に一度だけ表示され、あとから復元することはできません。すべてのレスポンスは2つのチェックで保護されます。キーが有効かどうか、そしてそのエンドポイントのスコープがオンになっているかどうかです。スコープをオフにすると、即座に403が返ります。キーを無効にするか取り消すと、再デプロイすることなくすべてのアクセスが止まります。レート制限はキーごとに、1分あたり60リクエストです。
はじめ方(60秒)
- 1. ダッシュボードを開き、サーバーを選んで APIアクセス に進みます。
- 2. APIキーを生成 をクリックして、表示された値をコピーします。表示されるのはこの一度だけです。
- 3. スコープをオンまたはオフにします。スコープごとに個別のスイッチがあります。
- 4.
curl https://noxyrbot.com/api/v1/server -H "Authorization: Bearer nxr_YOUR_KEY"を実行すれば、すぐに使えます。
よくある連携の例
ランディングページにライブのメンバーカウンターを表示する。非公開のスタッフチャンネルに、毎週のチケットのダイジェストを投稿する。プレゼント企画への参加が多い人の公開のランキングを作る。売上のデータをスプレッドシートや自分の管理パネルに連携する。レスポンスは素のJSONで、CORSも緩く設定されているため、プロキシを介さずにブラウザからAPIを呼び出せます。
次に読むもの
関連記事: Discord APIとNoxyrサーバーAPIの比較、ステップごとのチュートリアル、これらのエンドポイントの設計の原則、そしてDiscord APIのエラーへの対処方法。