0001以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:36:39.280ID:Xx1Gv7sf0
0002以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:37:41.822ID:Xx1Gv7sf0
アカウント登録に必要な情報
- username (被りなし)
- password
- メールアドレス (認証用)
- ID (被りなし、自動割り当て)
スレ一覧で取得される情報
- スレID (被りなし、自動割り当て)
- スレタイ
- 日時 (エポックタイム)
- レス数
- スレ立て者のID (未ログイン状態の場合この情報は無し)
0003以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:38:04.300ID:Xx1Gv7sf0
- スレ立て者のネーム欄の文字列
- >>1の内容 0004以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:38:23.376ID:Xx1Gv7sf0
レス一覧で取得される情報
- 名前欄の文字列
- 本文
- 日時 (エポックタイム)
- ID (アカウントのIDとは別物)
- アカウントのID (未ログインは以下略)
- アカウントのNGカウント
0005以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:38:39.744ID:Xx1Gv7sf0
レス時に必要な情報
- 書き込むスレのスレID
- 名前欄の文字列 (省略可)
- 本文
※時刻、IDはサーバー側で付加
※アカウントはセッションを用いて識別
スレ立て時に必要な情報
- スレタイ
- 名前欄の文字列 (省略可)
- 本文
※時刻、IDはサーバー側で付加
※アカウントはセッションを用いて識別
0006以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:38:54.691ID:Xx1Gv7sf0
ログイン時に必要な情報
- メールアドレス
- password
ログアウト時に必要な情報
※セッションにより識別するので情報は不要
アカウント削除時に必要な情報
- メールアドレス (要認証)
- パスワード
※ユーザー情報は一定期間保持
0007以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:45:56.076ID:Xx1Gv7sf0
他ユーザーのNG時に自動送信される情報
- NG対象のユーザーのID
- NGに使用したスレのIDとレス番
※ この情報の送信はログインしている時のみ有効
※ NGする側のユーザーのアカウントはセッションにより識別
フロントエンドでのNGに関しては、ユーザーIDではなくレスに付加されたIDで行うべき (自演を許容するため)
0008以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:46:36.258ID:Xx1Gv7sf0
以下では具体的なAPIの設計をする
0009以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:49:35.682ID:Xx1Gv7sf0
・サーバー一覧の取得
リクエスト
GET origin.some.domain/v1/servers
レスポンス
[ "hawk", "mi", … ]
0010以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:56:07.240ID:Xx1Gv7sf0
・アカウント登録
リクエスト
POST origin.some.domain/v1/resister
{
"username": "hoge",
"password": "fuga",
"mail": "foo@bar.com"
}
レスポンス
{
"status": "success" or "failure",
"errno": 0 (when success) or >1 (otherwise),
"errmsg": ""
}
0011以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 05:59:37.139ID:Xx1Gv7sf0
statusは要らないな
これは削除で
・アカウント登録(認証)
リクエスト
GET origin.some.domain/v1/auth/:some_hash
レスポンス
{
"errno": 0(when success) or >1(otherwise),
"errmsg": ""
}
0012以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 06:03:44.943ID:Xx1Gv7sf0
スレ一覧で取得される情報に追加
- スレ立て者の共有NGのレベル
レス一覧で取得される情報から削除
- アカウントのNGカウント
レス一覧で取得される情報に追加
- アカウントの共有NGのレベル
0013以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 06:10:38.304ID:Xx1Gv7sf0
・板一覧の取得
リクエスト
GET server.some.domain/v1/boards
レスポンス
{
"news4vip": {
"name": "ニュー速VIP",
"explanation": "オワコンの板"
},
"poverty": {
"name": "ニュー速(嫌儲)",
"explanation": "貧乏人の板"
},
…
}
0014以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 06:24:26.786ID:Xx1Gv7sf0
スレ一覧で取得される情報に追加
- スレの>>1のID (アカウントIDではなく通常のID)
・スレ一覧の取得
リクエスト
GET server.some.domain/v1/:board
レスポンス
[
{
"thread_id": "123456",
"title": "タイトル",
"time": "123456",
"n_res": 32,
"name": "名無し",
"body": "てすと",
"res_id": "awesomeid0",
"account_id": "123456",
"account_ng_level": 2
},
…
] 0015以下、5ちゃんねるからVIPがお送りします2023/08/28(月) 06:33:06.223ID:Xx1Gv7sf0
・レス一覧の取得
リクエスト
GET server.some.domain/v1/:board/:thread
レスポンス
[
{
"name": "名無し",
"body": "てすと",
"time": "123456",
"res_id": "awesomeid0",
"account_id": "123456",
"account_ng_level": 2
},
…
]
・差分取得
GET server.some.domain/v1/:board/:thread?from=3
※from=数字はこの数字のレス番以降のレスの取得を意味する