-
Notifications
You must be signed in to change notification settings - Fork 4
API Document
- 2021-10-30 v1.0 Initial version
- 2021-11-03 v1.1 report authentication : remove unnecessary error handling
- 2021-11-16 v1.2 change password : add 400 case for incorrect old password
- 2021-11-23 v1.3 report authentication : add 404 case for No recent game logs
- 2021-11-24 v1.4 update summoner name : add
/api/update/summoner/
endpoint - 2021-11-25 v1.5 GET my received reports : add
/api/my/received_reports/
endpoint & fixedmy page
response format - 2021-11-25 v1.6 add GET, POST, PUT
reports/:report_id/apology/
& Fixmypage/
,my/reports/
,my/received_reports
,/home/
response format - 2021-11-25 v1.7 update 400 cases POST, PUT
reports/:report_id/apology/
Description | API endpoint | GET | POST | PUT | DELETE |
---|---|---|---|---|---|
sign up | /api/signup/ |
O | |||
login | /api/login/ |
O | |||
logout | /api/logout/ |
O | |||
find id | /api/forgot/id/ |
O | |||
find password | /api/forgot/password/ |
O | |||
change password | /api/change/password/ |
O | |||
my page | /api/mypage/ |
O | |||
my reports | /api/my/reports/ |
O | |||
my received reports | /api/my/received_reports/ |
O | |||
report delete | /api/reports/:id/ |
O | |||
search | /api/search/?summoners={} |
O | |||
statistics | /api/home/ |
O | |||
report match authentication | /api/reports/auth/ |
O | O | ||
report | /api/reports/ |
O | |||
update summoner name | /api/update/summoner/ |
O | |||
apology | /api/apology/ |
O | O | O |
- POST
-
Request
-
body
{ "username" : "username(string)", "email" : "email(string)", "summoner_name" : "summoner name(string)", "password" : "password(password)", }
-
-
Response
201
-
header
-
body
{ "message" : "User is created!" }
-
-
Error Case
-
already existing email:
400
Bad Request{ "error" : "This email already exists." }
-
already existing username:
400
Bad Request{ "error" : "This username already exists." }
-
non-existing summoner name:
400
Bad Request{ "error" : "This summoner name is invalid." }
-
already existing summoner name:
400
Bad Request{ "error" : "This summoner is already registered in our service." }
-
-
- POST
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "username" : "username(string)", "password" : "password(password)" }
-
-
Response
200
-
header
-
body
{ }
-
-
Error Case
-
Not existing account :
400
Bad Request{ "error" : "Such account does not exist." }
-
-
- POST
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ }
-
-
Response
200
-
header
-
body
{ }
-
-
Error Case
-
Not logged in :
400
Bad Request{ "error" : "The user is not logged in." }
-
-
- POST
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "email" : "email address(string)" }
-
-
Response
200
-
header
-
body
{ "message" : "Please check mail." }
-
-
Error Case
-
Not existing mail :
400
Bad Request{ "error" : "Such mail address is not registered in our service." }
-
-
- POST
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "email" : "email", "username" : "username", }
-
-
Response
200
-
header
-
body
{ "message" : "Please check your email." }
-
-
Error Case
-
Not existing email :
400
Bad Request{ "error" : "Such mail address is not registered in our service." }
-
Not existing username :
400
Bad Request{ "error" : "Such username is not registered in our service." }
-
Not correct username or email :
400
Bad Request{ "error" : "Email does not match username" }
-
-
- PUT
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "old_password" : "old_password", "new_password" : "new_password", "password_confirm" : "password_confirm", }
-
-
Response
200
-
header
-
body
{ "message" : "You password is changed." }
-
-
Error Case
-
Password confirm is not correct:
400
Bad Request{ "error" : "Please enter password confirm correctly" }
-
Old password is not correct:
400
Bad Request{ "error" : "Please enter old password confirm correctly" }
-
Not logged in :
401
Unauthorized{ "error" : "You need to login before accessing my page" }
-
-
- GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ }
-
-
Response
200
-
header
-
body
{ "user" : { "username" : "username(string)", "email" : "email(string)", "summoner_name" : "summoner name (string)", "manner_point" : "manner point (integer)" }, "reports" : { "reports_for_user" : [ { "id" : "report id (integer)", "evaluation" : "evaluation score (integer)", "tag" : "tags (string)", "comment" : "comment (string)", "apology" : "True or False (bool)", }, { "id" : "report id (integer)", "evaluation" : "evaluation score (integer)", "tag" : "tags (string)", "comment" : "comment (string)", "apology" : "True or False (bool)", }, ... ], "reports_by_user": [ { "id" : "report id (integer)", "reported_summoner" : "reported summoner name (string)", "evaluation" : "evaluation score (integer)", "tag" : "tags (string)", "comment" : "comment (string)", "apology" : "True or False (bool)", }, { "id" : "report id (integer)", "reported_summoner" : "reported summoner name (string)", "evaluation" : "evaluation score (integer)", "tag" : "tags (string)", "comment" : "comment (string)", "apology" : "True or False (bool)", }, ... ], }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "You need to login before accessing my page" }
-
Try to access other's mypage :
400
Bad request-
/api/user/:id/mypage
같은 형식으로 접근한 경우
{ "error" : "You can access only your mypage." }
-
-
-
- GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ }
-
-
Response
200
-
header
-
body
{ "reports" : [ { "id" : "report id", "tag" : "tag", "comment" : "comment", "reported_summoner" : "reported summoner name", "evaluation" : "evaluation", "apology" : "True or False (bool)", }, { "id" : "report id", "tag" : "tag", "comment" : "comment", "reported_summoner" : "reported summoner name", "evaluation" : "evaluation", "apology" : "True or False (bool)", }, ... ] }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "You need to login before accessing my page" }
-
-
- DELETE
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ }
-
-
Response
200
-
header
-
body
{ "message" : "Your report is deleted" }
-
-
Error Case
-
Not existing report :
400
Bad Request{ "error" : "Such report does not exist" }
-
Requesting user is not a writer :
401
Unauthorized{ "error" : "You can delete only your report" }
-
-
- parameter
- type : multi/ single
- players : (multi) string "player1_name, player2_name, player3_name, player4_name, player5_name" / (single) string "player_name"
- GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
params
{ "name" : "summoner name", }
-
-
Response
200
-
single
-
header
-
body
{ "summoner_name" : "summoner name (string)", "manner" : { "manner_point" : "manner point (integer)", "tag" : "manner point (integer)", "comment" : "comment (string)" "tag_pentagon" : "image", }, "matches": [ { "match_result" : "A or B (string)", "matchers" : [ "matcher1" : { "summoner_name" : "name", "tier" : "tier", "KDA" : "kda(string)", "champion" : "champion", "lane" : "lane" } , ... (team A members, team B members) ], "kill_score" : ["team A score", "team B score"], "items" : "items list", "rune": "rune list", "spell" : "spell list", }, { "match_result" : "A or B (string)", "matchers" : [ "matcher1" : { "summoner_name" : "name", "tier" : "tier", "KDA" : "kda(string)", "champion" : "champion", "lane" : "lane" } , ... (team A members, team B members) ], "kill_score" : ["team A score", "team B score"], "items" : "items list", "rune": "rune list", "spell" : "spell list", }, ... ]
-
-
multi
-
header
-
body
{ "matchers" : [ { "summoner_name" : "name", "manner_point" : "manner point (integer)", "tag_pentagon" : [tag1, tag2, tag3, tag4, tag5], "tier" : {"tier" : "tier", "rank" : "rank"}, "recent_result": [ { "kills" : "kills(string)", "deaths" : "deaths(string)", "assists" : "assists(string)", "win" : "win or lose(boolean)", "champion_id" : "champion_id", "lane" : "lane" }, { "kills" : "kills(string)", "deaths" : "deaths(string)", "assists" : "assists(string)", "win" : "win or lose(boolean)", "champion_id" : "champion_id", "lane" : "lane" },... }, { "summoner_name" : "name", "manner_point" : "manner point (integer)", "tag_pentagon" : [tag1, tag2, tag3, tag4, tag5], "tier" : {"tier" : "tier", "rank" : "rank"}, "recent_result": [ { "kills" : "kills(string)", "deaths" : "deaths(string)", "assists" : "assists(string)", "win" : "win or lose(boolean)", "champion_id" : "champion_id", "lane" : "lane" }, { "kills" : "kills(string)", "deaths" : "deaths(string)", "assists" : "assists(string)", "win" : "win or lose(boolean)", "champion_id" : "champion_id", "lane" : "lane" },... }, ... (team A members, team B members) ] }
-
-
-
Error Case
-
Not existing user (for single search only) :
400
Bad Request{ "error" : "Such summoner does not exist." }
-
-
-
GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
-
Response
200
-
header
-
body
{ "recent_players" : [ "player_name1", "player_name1", ... ] }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "User is not logged in." }
-
No Recent game data :
404
Not Found{ "error" : "Data not found - match file not found" }
-
-
-
POST
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "summoner_name" : "summoner name", }
-
-
Response
200
-
header
-
body
{ "authenticated" : "True (Boolean)", }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "User is not logged in." }
-
-
- POST
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "name" : "summoner name", "evaluation" : "evaluation (integer)", "tag" : "tag list as string (string)", "comment" : "comment (string)", }
-
-
Response
201
Created-
header
-
body
{ "id" : "report id", "tag" : "tag(string ex. "tag1-1,tag1-2,tag2-1")", "comment" : "comment(nullable)", "reported_summoner" : "reported summoner name", "evaluation" : "evaluation", }
-
-
Error Case
-
Not existing summoner :
400
Bad Request{ "error" : "Such summoner does not exist." }
-
No tag :
400
Bad Request{ "error" : "No tag selected." }
-
Not logged in :
401
Unauthorized{ "error" : "User is not logged in." }
-
-
- GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ }
-
-
Response
200
OK-
header
-
body
{ "accumulated_reports" : 100, "today_reports" : 5, "not_answered_reports" : 2, }
-
-
- GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "new_summoner_name" : "summoner_name" (string) }
-
-
Response
200
OK-
header
-
body
{ "message" : "Successfully update your summoner name." }
-
-
Error Case
-
Incorrect summoner name :
400
Bad Request{ "error" : "This name does not match your current summoner name." }
-
Not logged in :
401
Unauthorized{ "error" : "User is not logged in." }
-
-
- GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ }
-
-
Response
200
-
header
-
body
{ "reports" : [ { "id" : "report id", "tag" : "tag", "comment" : "comment", "evaluation" : "evaluation", "apology" : "True or False (bool)", }, { "id" : "report id", "tag" : "tag", "comment" : "comment", "evaluation" : "evaluation", "apology" : "True or False (bool)", }, ... ] }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "You need to login before accessing my page" }
-
-
-
GET
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ }
-
-
Response
200
-
header
-
body
{ "id": apology.id, "content": apology.content, "is_verified": apology.is_verified, "report_id": report.id }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "You need to login before accessing this apology." }
-
Unauthorized :
401
Unauthorized{ "error" : "You are not allowed to read this apology." }
-
No Apology Object :
404
Not Found{ "error" : "This report does not have any apology." }
-
No Report Object :
404
Not Found{ "error" : "This report does not exist." }
-
-
-
POST
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "content" : "Sorry." }
-
-
Response
201
-
header
-
body
{ "id": apology.id, "content": apology.content, "is_verified": apology.is_verified, "report_id": report.id }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "You need to login before accessing this apology." }
-
Unauthorized :
401
Unauthorized{ "error" : "You are not allowed to write an apology to this report." }
-
Already wrote an apology :
400
Bad Request{ "error" : "You already wrote an apology for this report." }
-
No content :
400
Bad Request{ "error" : "내용을 입력해주세요." }
-
Insincere apology(ML) :
400
Bad Request{ "error" : "You need to reflect on yourself a little more so that you can submit it. Please rewrite it." }
-
No Report Object :
404
Not Found{ "error" : "This report does not exist." }
-
-
-
PUT
-
Request
-
header
{ "X-CSRFToken" : "Token" }
-
body
{ "content" : "Sorry." }
-
-
Response
200
-
header
-
body
{ "id": apology.id, "content": apology.content, "is_verified": apology.is_verified, "report_id": report.id }
-
-
Error Case
-
Not logged in :
401
Unauthorized{ "error" : "You need to login before accessing this apology." }
-
Unauthorized :
401
Unauthorized{ "error" : "You are not allowed to write an apology to this report." }
-
Haven't written an apology :
404
Bad Request{ "error" : "You haven't written an apology for this report." }
-
No content :
400
Bad Request{ "error" : "내용을 입력해주세요." }
-
Insincere apology(ML) :
400
Bad Request{ "error" : "You need to reflect on yourself a little more so that you can submit it. Please rewrite it." }
-
No Report Object :
404
Not Found{ "error" : "This report does not exist." }
-
-