개발자들을 위한 한국포럼 API

이 페이지에서는 개발자들을 위해 마련한 한국포럼 API들에 대해서 다룹니다.
한국포럼 API는 기본적으로 PHP에서의 POST / GET 방식을 통해 이루어집니다.
또한, 모든 데이터의 리턴값은 JSON이거나 오류값 "-1"로 나옵니다.
그렇기에 이 API를 사용하기 위해선, 사용중인 언어의 POST / GET 리퀘스트와 JSON 파싱을 하실 줄 아셔야 합니다.

API에 대한 개선사항이나 버그, 요청사항에 대해서는 한국포럼 디스코드 / 디스코드 DM(RedLime#0817)로 연락을 취해주시기 바랍니다.

- API 업데이트 로그
- 목차





데몬리스트 - 순위

링크 : https://gmdkoreaforum.com/api/demonlist/rankList.php

리퀘스트 : GET

선택한 페이지의 데몬리스트 순위를 로드합니다.

매개변수(parameters) :
page ?:기본값이 설정되어 있으며, 설정된 값은 1입니다. (페이지-1)×10+1위부터 아랫순위로 총 10개의 단순한 레벨의 정보를 불러옵니다. (ex: page가 5일 시, 41~50위의 레벨의 기본적 정보를 불러옴)
more ?:기본값이 설정되어 있으며, 설정된 값은 1입니다. 설정값이 1이라면 레벨을 10개 반환하지만, 2일경우 20개, 3일경우 30개, 등 레벨의 로드 개수를 값×10개로 설정하는 값입니다.


반환값(response) :
배열(Array) :
level :레벨의 이름
author :레벨의 크리에이터(혹은 업로더)
creators :레벨의 합작 인원 (합작 레벨이 아니거나 데이터가 없을 시 공백문자 리턴)
verifier :레벨의 베리파이어
rank :레벨의 데몬리스트 순위



데몬리스트 - 레벨 데이터

링크 : https://gmdkoreaforum.com/api/demonlist/levelData.php

리퀘스트 : GET

선택한 데몬리스트 레벨의 데이터를 불러옵니다.

매개변수(parameters) :
level :불러올 레벨의 이름(" "(공백)은 +로 처리해야 합니다.), 혹은 순위를 입력하는 값입니다.
leveldata ?:기본값은 0으로 설정되어 있으며, 1로 설정 시 GDBrowser를 통해 레벨의 인게임 정보를 불러옵니다. 대량의 딜레이가 발생할 수 있습니다.


반환값(response) :
level :레벨의 이름
rank :레벨의 데몬리스트 순위
author :레벨의 크리에이터(혹은 업로더)
creators :레벨의 합작 인원 (합작 레벨이 아니거나 데이터가 없을 시 표시되지 않습니다.)
verifier :레벨의 베리파이어
hacked :레벨이 핵으로 베리파이 되었는지, 0은 Legit, 1은 Possibly Hacked, 2는 Hacked를 가리킵니다.
required :레벨의 기록 등재 조건 퍼센트
video :레벨의 베리파이(혹은 대표)영상
info :레벨의 정보들
uploadDate :레벨이 업로드된 일자
updateDate :레벨이 업데이트 된 일자 (업데이트가 없을 시 생략됩니다.)
attempts :레벨의 베리파이어의 사용 어템
length :레벨의 길이
highest :레벨의 최고 순위
id_level :레벨의 인게임 ID. 한국포럼 내에서 설정값이 없을 경우 표시되지 않습니다.
difficulty :레벨의 인게임 난이도. 한국포럼 내에서 id_level의 설정값이 없을 경우 표시되지 않습니다. 매개변수 leveldata 옵션이 1이어야 표시됩니다.
password :레벨의 인게임 비밀번호. 한국포럼 내에서 id_level의 설정값이 없을 경우 표시되지 않습니다. 매개변수 leveldata 옵션이 1이어야 표시됩니다.
objects :레벨의 오브젝트 개수. 한국포럼 내에서 id_level의 설정값이 없을 경우 표시되지 않습니다. 매개변수 leveldata 옵션이 1이어야 표시됩니다.



데몬리스트 - 레벨 기록 목록

링크 : https://gmdkoreaforum.com/api/demonlist/levelRecords.php

리퀘스트 : GET

선택한 레벨의 한국포럼 기록들을 모두 불러옵니다.

매개변수(parameters) :
level :불러올 레벨의 이름(" "(공백)은 +로 처리해야 합니다.), 혹은 순위를 입력하는 값입니다.
clear ?:기본값은 0으로 설정되어 있으며, 1로 설정 시 100%의 기록들만 가져옵니다.


반환값(response) :
배열(Array) :
user :유저의 이름
percent :기록의 퍼센트
video :기록의 영상
hz :기록에 사용한 hz(또는 장비)
bypass :hz에 FPS Bypass를 이용했는지를 나타냅니다. (Boolean)



데몬리스트 - 유저포인트

링크 : https://gmdkoreaforum.com/api/demonlist/userPoint.php

리퀘스트 : GET

한국포럼 데몬리스트 유저포인트 데이터를 불러옵니다.

매개변수(parameters) :

반환값(response) :
배열(Array) :
nickname :유저의 이름
records :배열(Array). 유저의 모든 데몬리스트 기록입니다.
배열(Array) :
level :해당 기록의 레벨
rank :해당 기록의 레벨 순위
percent :해당 기록의 퍼센트
hz :해당 기록의 사용한 hz(또는 장비)
bypass :hz에 FPS Bypass를 이용했는지를 나타냅니다. (Boolean)
video :해당 기록의 영상
point :해당 기록의 획득 유저포인트(UP)
verification :배열(Array). 유저의 베리파이한 데몬리스트 레벨들입니다.
배열(Array) :
level :해당 레벨의 이름
rank :해당 레벨의 순위
video :해당 레벨의 영상
point :해당 레벨의 베리파이를 통한 획득 유저포인트(UP)
best_record :해당 유저의 최고기록
type :일반 기록일 경우 'normal', 베리파이 기록일 경우 'verification'을 반환합니다.
level :해당 기록의 레벨 이름
rank :해당 기록의 레벨 순위
video :해당 기록의 영상
point :해당 유저의 총 유저포인트(UP)
rank :해당 유저의 유저포인트 순위
trophy :해당 유저의 유저포인트 트로피. https://gmdkoreaforum.com/img/trophy/(trophy 값).png를 통해 이미지를 불러올 수 있습니다.



데몬리스트 - 유저 기록

링크 : https://gmdkoreaforum.com/api/demonlist/userRecords.php

리퀘스트 : GET

선택한 유저의 데몬리스트 기록들을 모두 가져옵니다.

매개변수(parameters) :
user :불러올 유저의 닉네임입니다. 대소문자를 가리지 않습니다.


반환값(response) :
nickname :유저의 이름
records :배열(Array). 유저의 모든 데몬리스트 기록입니다.
배열(Array) :
level :해당 기록의 레벨
rank :해당 기록의 레벨 순위
percent :해당 기록의 퍼센트
hz :해당 기록의 사용한 hz(또는 장비)
bypass :hz에 FPS Bypass를 이용했는지를 나타냅니다. (Boolean)
video :해당 기록의 영상
point :해당 기록의 획득 유저포인트(UP)
verification :배열(Array). 유저의 베리파이한 데몬리스트 레벨들입니다.
배열(Array) :
level :해당 레벨의 이름
rank :해당 레벨의 순위
video :해당 레벨의 영상
point :해당 레벨의 베리파이를 통한 획득 유저포인트(UP)
best_record :해당 유저의 최고기록
type :일반 기록일 경우 'normal', 베리파이 기록일 경우 'verification'을 반환합니다.
level :해당 기록의 레벨 이름
rank :해당 기록의 레벨 순위
video :해당 기록의 영상
point :해당 유저의 총 유저포인트(UP)



스탯랭킹 - 순위

링크 : https://gmdkoreaforum.com/api/statrank/rankList.php

리퀘스트 : GET

선택한 타입의 스탯 랭킹을 불러옵니다.

매개변수(parameters) :
type :불러올 스탯 타입입니다. (stars, demons, cp, coins, diamonds) 총 5가지 종류를 고를 수 있습니다. 5가지 외의 타입을 입력한다면 stars로 자동 지정됩니다.


반환값(response) :
배열(Array) :
user :해당 유저의 이름
stat :해당 유저의 지정한 스탯
rank :해당 유저의 지정 스탯 랭킹 순위









API 문서 | 라이브러리