メインコンテンツまでスキップ
バージョン: v3.3

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}