APIサーバーの仕様
APIサーバーのエンドポイントはひとつで、クエリパラメーターもしくはリクエストボディのjsonデータによって動作を変えます。
APIサーバーは以下の仕様に沿うようにしてください。
GET (type=j)
各サーバーのステータス情報を返却します
リクエストクエリ:
?type=j&token={token}&guildid={guildid}
{token}
:process.env.GAS_TOKEN
に指定したトークン。これにより認証します。)
{guildid}
: 要求するサーバーIDをカンマで連結したリスト(ex. 111111111111,22222222222,3333333333333)
レスポンス: トークンが一致すればデータベースに存在する各サーバーのJSONデータを返却します
例:
{"status": 200, "data": {"サーバーID": "文字列化したステータス情報", ...}}
失敗した場合は、ステータスコードだけのオブジェクトを返します。
{"status": 400}
GET (type=queue)
文字列化した各サーバーのキューを返却します
リクエストクエリ:
?type=queue&token={token}&guildid={guildid}
{token}
:process.env.GAS_TOKEN
に指定したトークン。これにより認証します。)
{guildid}
: 要求するサーバーIDをカンマで連結したリスト(ex. 111111111111,22222222222,3333333333333)
レスポンス: トークンが一致すればデータベー スに存在する各サーバーのJSONデータを返却します 例:
{"status": 200, "data": {"サーバーID": "文字列化したキュー", ...}}
失敗した場合は、ステータスコードだけのオブジェクトを返します。
{"status": 400}
POST (type=j)
データベースに文字列化した各サーバーのステータス情報を登録します。または既に存在する場合は更新します。
リク エストペイロード(JSON):
{
"token": "{token}",
"type": "j",
"guildid": "{guildid}",
"data": "{data}"
}
{token}
:process.env.GAS_TOKEN
に指定したトークン。これにより認証します。)
{guildid}
: {data}に含まれるステータス情報のサーバーIDをカンマで連結したリスト
{data}
: 以下のようなJSONを文字列化した文字列{"サーバーID": "文字列化したステータス情報", ...}
レスポンス: トークンが一致すればデータベースを更新し、成功すれば、以下のようなJSONを返す
{"status": 200}
失敗した場合は、ステータスコードだけのオブジェクトを返します。
{"status": 400}
POST (type=queue)
データベースに文字列化した各サーバーのキューを登録します。または既に存在する場合は 更新します。
リクエストペイロード(JSON):
{
"token": "{token}",
"type": "queue",
"guildid": "{guildid}",
"data": "{data}"
}
{token}
:process.env.GAS_TOKEN
に指定したトークン。これにより認証します。)
{guildid}
: {data}に含まれるキューデータのサーバーIDをカンマで連結したリスト
{data}
: 以下のようなJSONを文字列化した文字列{"サーバーID": "文字列化したキュー", ...}
レスポンス: トークンが一致すればデータベースを更新し、成功すれば、以下のようなJSONを返す
{"status": 200}
失敗した場合は、ステータスコードだけのオブジェクトを返します。
{"status": 400}