Noxyrは、サーバーごとに使える無料のREST APIを提供するようになりました。これにより、ライブのDiscordデータ(メンバー数、チケットの分析、アクティビティの指標、売上、レビュー、プレゼント企画)を、ウェブサイト、ダッシュボード、モバイルアプリ、または別のボットに取り込めます。 キーはサーバーごとに1つで、ダッシュボードから生成します。SHA-256のハッシュで保護され、あなたが管理するスコープのスイッチでアクセスを制御します。

An authenticated API request reaches the Noxyr server and returns JSON with a depleting rate limit. GET /api/v1/server Authorization: Bearer •••••• Noxyr API { "id": "48213" "prefix": "!" "premium": true } RateLimit 60 33 60

サーバー単位の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のエラーへの対処方法。