Quagga APIリファレンス

概要

APIエンドポイント

https://quagga.studio/api/v1

データ形式

JSON

アクセストークン

全てのAPIリクエストにプロフィールで取得した秘密の暗号を Authorizationリクエストヘッダに付与してください。

Authorization: Bearer QuAGGa2023APitoKeNSAMPle

イベントID

特定のイベントの情報を取得する場合は、イベントIDが必要です。

イベントIDは回答/管理画面のURLから取得することができます。

例 (以下では、「1」がイベントIDになります)

https://quagga.studio/programs/1/quiz
https://quagga.studio/programs/1/admin

ステータスコード

下記のコードを返却します。

ステータスコード 説明
200 リクエスト成功
201 登録成功
204 リクエストに成功したが返却するbodyが存在しない
400 不正なリクエストパラメータを指定している
401 APIアクセストークンが不正、または権限不正
404 存在しないURLにアクセス
429 リクエスト制限を超えている
500 不明なエラー

利用制限

ユーザ毎に1分間に30リクエストまで受け付けます。 決められた制限を超える場合は、429 Too Many Requests が返却されます。

API

直近に集計された問題情報

GET /programs/{event_id}/questions/last_aggregate

Request

パラメータ 内容 必須
event_id イベントID Yes

Response

      
{
  question: {
    id: "40255a8a-944d-461a-9e01-ec3585b1bbee",
    period: 1,
    description: "絵画を発表された順に並べて",
    q_format: "bonus",
    answer: "2,4,1,3",
    point: 3,
    time: 15,
    choice_number: 4,
    answer_number: 4,
    is_enquete: false,
    money: 250000,
    payment_type_name: "split"
  },
  answers: [
    {
      id: 1,
      answer: "1,2,3,4",
      correct: false,
      point: 4,
      time: "5.63",
      money: "0.0",
      member: {
        id: 1,
        admin: false,
        user: {
          id: 1,
          name: "クアッガ",
          name_gana: "くあっが"
        }
      },
      question_id: "40255a8a-944d-461a-9e01-ec3585b1bbee"
    }
  ]
}
      
    
question
id 問題ID
period ピリオド
description 概要
q_format 出題形式
択一: alternative
複数選択: multiple
文字入力: input
並び替え: sort
解数秘匿: secret
ボーナス: bonus
answer 答え
答えが複数ある場合は「,」で区切り、文字入力の場合は答えママ
point 正解時配当ポイント
time 回答制限時間
choice_number 選択肢数
answer_number 答えの数
is_enquete アンケートか(true|false)
money 正解時配当額
payment_type_name 配当方式
split: 山分け
full: 満額
answers
(answerの配列)
id 回答ID
answer 回答
答えが複数ある場合は「,」で区切り、文字入力の場合は答えママ
correct 集計の結果、正解しているか
true: 正解
false: 不正解
point 配当ポイント
time 回答タイム
money 配当金額
member 参加者情報
question_id 問題ID
member
id 参加者ID
admin 管理者権限の有無
user ユーザー情報
user
id ユーザーID
name 名前
name_gana 名前(ひらがな)

特定のピリオドのチャンピオン情報

GET /programs/{event_id}/periods/{period}/champion

Request

パラメータ 内容 必須 デフォルト値 備考
event_id イベントID Yes - -
period ピリオド Yes - 直近集計された問題のピリオドを使用したい場合は
last_aggregate を指定してください

Response

※チャンピオンが確定していない場合、 championnull になります。

      
{
  champion: {
    id: 1,
    admin: false,
    user: {
      id: 1,
      name: "クアッガ",
      name_gana: "くあっが"
    }
  }
}
      
    
champion
id 参加者ID
admin 管理者権限の有無
user ユーザー情報
user
id ユーザーID
name 名前
name_gana 名前(ひらがな)

特定のピリオドの成績

GET /programs/{event_id}/result/period

Request

パラメータ 内容 必須 デフォルト値
event_id イベントID Yes -
period ピリオド No 直近集計された問題のピリオド

Response

      
{
  results: [
    {
      rank: 1,
      point: 123,
      time: "404.3",
      money: "123456.0",
      member: {
        id: 1,
        admin: false,
        user: {
          id: 1,
          name: "クアッガ",
          name_gana: "くあっが"
        }
      }
    }
  ]
}
      
    
results
(resultの配列)
rank 順位
point 獲得ポイント
time 合計回答時間
money 獲得金額
member 参加者情報
member
id 参加者ID
admin 管理者権限の有無
user ユーザー情報
user
id ユーザーID
name 名前
name_gana 名前(ひらがな)

暫定総合成績

GET /programs/{event_id}/result/total

Request

パラメータ 内容 必須 デフォルト値
event_id イベントID Yes -

Response

      
{
  results: [
    {
      rank: 1,
      point: 123,
      time: "404.3",
      money: "123456.0",
      member: {
        id: 1,
        admin: false,
        user: {
          id: 1,
          name: "クアッガ",
          name_gana: "くあっが"
        }
      }
    }
  ]
}
      
    
results
(resultの配列)
rank 順位
point 獲得ポイント
time 合計回答時間
money 獲得金額
member 参加者情報
member
id 参加者ID
admin 管理者権限の有無
user ユーザー情報
user
id ユーザーID
name 名前
name_gana 名前(ひらがな)