리더보드

Prev Next

리더보드 API

리더보드 이용자 스코어 등록 API

Request

  • Method : POST
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
POST
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
Header : 'content-type: application/json'
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
data:
{
     "leaderboardId" : "leaderboardId",
    "userId" : "70045665-f64a-45c0-xxxx-xxxxxxxxx",
    "score": 10,
    "subscore": 0,
    "metadata": "{\"key\":\"value\"}"
}
Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardId String O 대시보드에서 생성한 리더보드 고유ID
userId String O 사용자ID
score Integer X 점수
subscore Integer X 서브 점수(필수 아님)
metadata String X 추가 정보

Response

성공

{
   "leaderboardlog": {
        "project_id": "ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx",
        "id": "TGVhZGVyYm9hcmRMb2c6NjNkMzRhYTgxxxxxxxxx",
        "user_id": "70045665-f64a-45c0-xxxx-xxxxxxxxx",
        "score": 10,
        "subscore": 0,
        "metadata": "{\"key\":\"value\"}",
        "expiredAt": "2023-01-30T20:00:00-08:00"
    }
}
Attribute Type Description
status Int 결과 값 (-1 실패)
message String 오류 메시지
leaderboardlog.project_id String 프로젝트ID
leaderboardlog.id String 입력ID
leaderboardlog.user_id String 사용자ID
leaderboardlog.score Int 점수
leaderboardlog.subscore Int 서브 점수
leaderboardlog.metadata Int 사용자 정의 데이터
leaderboardlog.expiredAt String 만료날짜

실패

{
    "status": -1,
    "message": "등록 실패"
}
Attribute Type Description
code Int 결과 값 (1: 성공, 실패 시 Error code 참고)
error String 오류 내용

리더보드 사용자 스코어 가져오기 API

Request

  • Method : GET
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
GET
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
Header : 'content-type: application/json'
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
data:
{
     "leaderboardId" : "leaderboardId",
    "offset": 0,
    "per_page": 20
}
Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardId String O 대시보드에서 생성한 리더보드 고유ID
offset Integer X OFFSET
per_page Integer X LIMIT

Response

성공

[
    {
        "rank": 1,
        "leaderboard_id": "leaderboardId",
        "user_id": "9c510599-f77a-4e3e-xxxxxx-xxxxxxx",
         "project_id": "ec8231b2-6b20-4ad1-9c59-xxxxxxxxxxx",
        "score": 1100,
        "subscore": 0,
        "metadata": "{\"key\":\"value\"}",
        "expiredAt": "2023-01-30T20:00:00-08:00",
        "updatedAt": "2023-01-26T19:46:07-08:00"
    },
    {
        "rank": 2,
        "leaderboard_id": "leaderboardId",
        "user_id": "63ae4ac9-a0f4-4fba-xxxx-xxxxxxxx",
        "project_id": "ec8231b2-6b20-4ad1-9c59-xxxxxxxxxxx",
        "score": 1000,
        "subscore": 0,
        "metadata": "{\"key\":\"value\"}",
        "expiredAt": "2023-01-30T20:00:00-08:00",
        "updatedAt": "2023-01-26T19:45:58-08:00"
    },
]
  
Attribute Type Description
status Int 결과 값 (-1 실패)
message String 오류 메시지
rank Int 순위
project_id String 프로젝트ID
leaderboardId String 대시보드에서 생성한 리더보드 고유ID
user_id String 사용자ID
score Int 점수
subscore Int 서브 점수
metadata Int 사용자 정의 데이터
updatedAt String 업데이트일
expiredAt String 만료일

실패

{
    "status": -1,
    "message": "조회 실패"
}
Attribute Type Description
status Int 결과값 (실패 시 Error code 참고)
message String 오류 내용

특정 검색어를 이용한 점수 가져오기 API

Request

  • Method : GET
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs

ID 를 통한 검색 방법

GET
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
Header : 'content-type: application/json'
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
data:
{
     "leaderboardId" : "leaderboardId",
     "search" : "user_id",
     "query" : "f1deb103-cae1-47dd-b0aa-xxxxxxxxxx",
    "offset": 0,
    "per_page": 20
}

SCORE 범위를 통한 검색 방법

GET
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
Header : 'content-type: application/json'
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
data:
{
     "leaderboardId" : "leaderboardId",
     "search" : "score",
     "query" : "99-120",
    "offset": 0,
    "per_page": 20
}
Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardId String O 대시보드에서 생성한 리더보드 고유ID
offset Integer X OFFSET
per_page Integer X LIMIT

Response

성공

[
    {
        "rank": 5,
        "leaderboard_id": "leaderboardId",
        "user_id": "f1deb103-cae1-47dd-b0aa-xxxxxx",
        "project_id": "ec8231b2-6b20-4ad1-9c59-xxxxxxxxx",
        "score": 99,
        "subscore": 100,
        "metadata": "{\"key\":\"value\"}",
        "expiredAt": "2023-01-30T20:00:00-08:00",
        "updatedAt": "2023-01-26T16:23:39-08:00"
    }
]
  

실패

{
    "status": -1,
    "message": "오류 메시지"
}
Attribute Type Description
status Int 결과 값 (실패 시 Error code 참고)
message String 오류 내용

리더보드 정보 및 이용자수 가져오기 API

Request

  • Method : GET
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboards?/{leaderboardId}?offset=0&per_page=10
GET
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboard
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardId String O 대시보드에서 생성한 리더보드 고유ID
offset Integer X OFFSET
per_page Integer X LIMIT

Response

성공

[
    {
        "status": true,
        "ranking": "best",
        "tie_breaking": "first",
        "id": "TGVhZGVyYm9hcmQ6YXNkYWRhZHNhZHNh",
        "name": "test",
        "description": "TEST",
        "descending": true,
        "resetDay": 0,
        "resetTime": "00:00",
        "resetDate": 1,
        "startedAt": "2023-01-25T12:09:47-08:00",
        "timezone": "America/Kralendijk",
        "project_id": "ec8231b2-6b20-4ad1-9c59-8e183087a742",
        "period_type": "monthly",
        "icon_url": "sdadasds",
        "user_count": 28,
    }
]
  
Attribute Type Required Description
id String O 리더보드 고유ID
projectId String O 프로젝트ID
status Boolean O 상태
is_check_user Boolean X 사용자ID 체크 여부
name String X 리더보드 이름
description String X 설명
icon_url String X 아이콘 URL
descending Boolean X 정렬
startedAt String X 시작일
expiredAt String X 종료일 (season 일 경우)
timezone String X 타임존
period_type String X 주기 ( daily, weekly, monthly, season)
resetDay Integer X 초기화 요일 1: 일요일 , 2. 월요일 , 3.화요일 , 4.수요일 , 5.목요일 , 6.금요일 , 7.토요일 (periodType가 weekly 일때)
resetTime String X 초기화 시간
resetDate Integer X 초기화 날짜 1~31 (periodType가 monthly 일때)
ranking String O 랭킹 업데이트 기준 ( latest, accumulated, best )
tie_breaking String O 동점자 처리 기준 ( first, last)

실패

{
    "status": -1,
    "message": "오류 메시지"
}
Attribute Type Description
status Int 결과값 (실패 시 Error code 참고)
message String 오류 내용

리더보드에서 사용자 점수 조회 API

Request

  • Method : GET
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboard/{leaderboardID}/user{userid}
GET
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboard
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'

Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardID String O 대시보드에서 생성한 리더보드 고유ID
userid String O 사용자ID

Response

성공

{
	"rank": 1,
	"leaderboard_id": "leaderboardID",
	"user_id": "8f372bf4-XXXX-XXXX-XXXX-XXXXXXXX",
	"project_id": "ec8231b2-6b20-4ad1-XXXX-XXXXXXXX",
	"score": 1,
	"prev_score": null,
	"subscore": 10,
	"metadata": "",
	"user_count": 2,
	"expiredAt": "2023-01-30T17:00:00+09:00",
	"updatedAt": "2023-01-30T11:55:37+09:00"
}
  
Attribute Type Description
status Int 결과 값 (-1 실패)
message String 오류 메시지
rank Int 순위
project_id String 프로젝트ID
leaderboardId String 대시보드에서 생성한 리더보드 고유ID
user_id String 사용자ID
score Int 점수
subscore Int 서브 점수
metadata Int 사용자 정의 데이터
updatedAt String 업데이트일
expiredAt String 만료일

실패

{
    "status": -1,
    "message": "오류 메시지"
}
Attribute Type Description
status Int 결과값 (실패 시 Error code 참고)
message String 오류 내용

리더보드 등록 이용자 삭제 API

Request

  • Method : DELETE
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
DELETE
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
Header : 'content-type: application/json'
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
data:
{
     "leaderboardId" : "leaderboardId",
     "userId" : "560963c3-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardId String X 리더보드ID
userId String X 리더보드 사용자 ID

Response

성공

[
    {
        "leaderboard_id": "leaderboardId",
        "user_id": "f1deb103-cae1-47dd-b0aa-xxxxxx",
        "project_id": "ec8231b2-6b20-4ad1-9c59-xxxxxxxxx",
        "score": 99,
        "subscore": 100,
        "metadata": "{\"key\":\"value\"}",
        "expiredAt": "2023-01-30T20:00:00-08:00",
        "updatedAt": "2023-01-26T16:23:39-08:00"
    }
]
  
Attribute Type Description
status Int 결과 값 (-1 실패)
message String 오류 메시지
project_id String 프로젝트ID
leaderboardId String 대시보드에서 생성한 리더보드 고유ID
user_id String 사용자ID
score Int 점수
subscore Int 서브 점수
metadata Int 사용자 정의 데이터
updatedAt String 업데이트일
expiredAt String 만료일

실패

{
    "status": -1,
    "message": "오류 메시지"
}
Attribute Type Description
status Int 결과값 (실패 시 Error code 참고)
message String 오류 내용

리더보드 등록 API

Request

  • Method : POST
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboards
POST
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboards
Header : 'content-type: application/json'
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
data:
{
    "id" : "leaderboardId",
    "status": true,
    "name": "name",
    "description": "description",
    "iconUrl" : "icon_url",
    "descending": true,
    "startedAt" : "2023-01-22 13:00:00",
    "timezone" : "Asia/Seoul",
    "periodType" : "weekly",
    "resetDay": 1,
    "resetDate": 1,
    "resetTime" : "00:01:01",
    "ranking" : "latest", 
    "tie_breaking" : "first"
}
Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
id String O 리더보드 고유ID
projectId String O 프로젝트ID
status Boolean O 상태
is_check_user Boolean X 사용자ID 체크 여부
name String X 리더보드 이름
description String X 설명
iconUrl String X 아이콘 URL
descending Boolean X 정렬
startedAt String X 시작일
expiredAt String X 종료일 (season 일 경우)
timezone String X 타임존
period_type String X 주기 ( daily, weekly, monthly, season)
resetDay Integer X 초기화 요일 1: 일요일 , 2. 월요일 , 3.화요일 , 4.수요일 , 5.목요일 , 6.금요일 , 7.토요일 (periodType가 weekly 일때)
resetTime String X 초기화 시간
resetDate Integer X 초기화 날짜 1~31 (periodType가 monthly 일때)
ranking String O 랭킹 업데이트 기준 ( latest, accumulated, best )
tie_breaking String O 동점자 처리 기준 ( first, last)

Response

성공

{
   "leaderboard": {
        "status": true,
        "is_check_user": true,
        "ranking": "latest",
        "tie_breaking": "first",
        "id": "TGVhZGVyYm9hcmQ6ZHNzZGFkMTIyMjIyMTJhZA==",
        "name": "name",
        "description": "description",
        "descending": true,
        "resetDay": 1,
        "resetTime": "00:01:01",
        "resetDate": 1,
        "startedAt": "2023-01-22T13:00:00-08:00",
        "expiredAt": "2023-11-22T13:00:00-08:00",
        "timezone": "Asia/Seoul",
        "project_id": "ec8231b2-6b20-4ad1-9c59-8e183087a742",
        "period_type": "weekly",
        "icon_url": "icon_url",
        "user_count": null,
        "updatedAt": "2023-02-01T15:52:24-08:00",
        "createdAt": "2023-02-01T15:52:24-08:00"
    }
}
Attribute Type Required Description
id String O 리더보드 고유ID
projectId String O 프로젝트ID
status Boolean O 상태
is_check_user Boolean X 사용자ID 체크 여부
name String X 리더보드 이름
description String X 설명
icon_url String X 아이콘 URL
descending Boolean X 정렬
startedAt String X 시작일
expiredAt String X 종료일 (season 일 경우)
timezone String X 타임존
period_type String X 주기 ( daily, weekly, monthly, season)
resetDay Integer X 초기화 요일 1: 일요일 , 2. 월요일 , 3.화요일 , 4.수요일 , 5.목요일 , 6.금요일 , 7.토요일 (periodType가 weekly 일때)
resetTime String X 초기화 시간
resetDate Integer X 초기화 날짜 1~31 (periodType가 monthly 일때)
ranking String O 랭킹 업데이트 기준 ( latest, accumulated, best )
tie_breaking String O 동점자 처리 기준 ( first, last)

실패

 "status": -1,
"message": "오류 메시지"
Attribute Type Description
code Int 결과 값 (1: 성공, 실패 시 Error code 참고)
error String 오류 내용

리더보드 수정 API

Request

  • Method : PUT
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboards/{leaderboardId}
PUT
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboards/{leaderboardId}
Header : 'content-type: application/json'
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'
data:
{
    "status": true,
    "name": "name",
    "description": "description",
    "iconUrl" : "icon_url",
    "descending": true,
    "startedAt" : "2023-01-22 13:00:00",
    "timezone" : "Asia/Seoul",
    "periodType" : "weekly",
    "resetDay": 1,
    "resetDate": 1,
    "resetTime" : "00:01:01",
    "ranking" : "latest", 
    "tie_breaking" : "first"
}
Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardId String O 리더보드 고유ID
status Boolean O 상태
is_check_user Boolean X 사용자ID 체크 여부
name String X 리더보드 이름
description String X 설명
icon_url String X 아이콘 URL
descending Boolean X 정렬
startedAt String X 시작일
expiredAt String X 종료일 (season 일 경우)
timezone String X 타임존
period_type String X 주기 ( daily, weekly, monthly, season)
resetDay Integer X 초기화 요일 1: 일요일 , 2. 월요일 , 3.화요일 , 4.수요일 , 5.목요일 , 6.금요일 , 7.토요일 (periodType가 weekly 일때)
resetTime String X 초기화 시간
resetDate Integer X 초기화 날짜 1~31 (periodType가 monthly 일때)
ranking String O 랭킹 업데이트 기준 ( latest, accumulated, best )
tie_breaking String O 동점자 처리 기준 ( first, last)

Response

성공

{
   "leaderboard": {
        "status": true,
        "is_check_user": true,
        "ranking": "latest",
        "tie_breaking": "first",
        "id": "TGVhZGVyYm9hcmQ6ZHNzZGFkMTIyMjIyMTJhZA==",
        "name": "name",
        "description": "description",
        "descending": true,
        "resetDay": 1,
        "resetTime": "00:01:01",
        "resetDate": 1,
        "startedAt": "2023-01-22T13:00:00-08:00",
        "expiredAt": "2023-11-22T13:00:00-08:00",
        "timezone": "Asia/Seoul",
        "project_id": "ec8231b2-6b20-4ad1-9c59-8e183087a742",
        "period_type": "weekly",
        "icon_url": "icon_url",
        "user_count": null,
        "updatedAt": "2023-02-01T15:52:24-08:00",
        "createdAt": "2023-02-01T15:52:24-08:00"
    }
}
Attribute Type Required Description
id String O 리더보드 고유ID
projectId String O 프로젝트ID
status Boolean O 상태
is_check_user Boolean X 사용자ID 체크 여부
name String X 리더보드 이름
description String X 설명
icon_url String X 아이콘 URL
descending Boolean X 정렬
startedAt String X 시작일
expiredAt String X 종료일 (season 일 경우)
timezone String X 타임존
period_type String X 주기 ( daily, weekly, monthly, season)
resetDay Integer X 초기화 요일 1: 일요일 , 2. 월요일 , 3.화요일 , 4.수요일 , 5.목요일 , 6.금요일 , 7.토요일 (periodType가 weekly 일때)
resetTime String X 초기화 시간
resetDate Integer X 초기화 날짜 1~31 (periodType가 monthly 일때)
ranking String O 랭킹 업데이트 기준 ( latest, accumulated, best )
tie_breaking String O 동점자 처리 기준 ( first, last)

실패

 "status": -1,
"message": "오류 메시지"
Attribute Type Description
code Int 결과 값 (1: 성공, 실패 시 Error code 참고)
error String 오류 내용

리더보드 삭제 API

Request

  • Method : DELETE
  • URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboards/{leaderboardId}
DELETE
url : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboards/leaderboardId
Header 'x-api-key: 86dcgffae0xxxxxxxxxxxxxx'
Header : 'x-project-id: ec8231b2-6b20-4ad1-xxxx-xxxxxxxxx'

Header Type Required Description
X-API-KEY String O GamePot에서 발급하는 인증 키
X-PROJECT-ID String O 대시보드 프로젝트 아이디
Attribute Type Required Description
leaderboardId String O 리더보드 고유ID

Response

성공

{
   "leaderboard": {
        "status": true,
        "is_check_user": true,
        "ranking": "latest",
        "tie_breaking": "first",
        "id": "TGVhZGVyYm9hcmQ6ZHNzZGFkMTIyMjIyMTJhZA==",
        "name": "name",
        "description": "description",
        "descending": true,
        "resetDay": 1,
        "resetTime": "00:01:01",
        "resetDate": 1,
        "startedAt": "2023-01-22T13:00:00-08:00",
        "expiredAt": "2023-11-22T13:00:00-08:00",
        "timezone": "Asia/Seoul",
        "project_id": "ec8231b2-6b20-4ad1-9c59-8e183087a742",
        "period_type": "weekly",
        "icon_url": "icon_url",
        "user_count": null,
        "updatedAt": "2023-02-01T15:52:24-08:00",
        "createdAt": "2023-02-01T15:52:24-08:00"
    }
}

성공

Attribute Type Required Description
id String O 리더보드 고유ID
projectId String O 프로젝트ID
status Boolean O 상태
is_check_user Boolean X 사용자ID 체크 여부
name String X 리더보드 이름
description String X 설명
icon_url String X 아이콘 URL
descending Boolean X 정렬
startedAt String X 시작일
expiredAt String X 종료일 (season 일 경우)
timezone String X 타임존
period_type String X 주기 ( daily, weekly, monthly, season)
resetDay Integer X 초기화 요일 1: 일요일 , 2. 월요일 , 3.화요일 , 4.수요일 , 5.목요일 , 6.금요일 , 7.토요일 (periodType가 weekly 일때)
resetTime String X 초기화 시간
resetDate Integer X 초기화 날짜 1~31 (periodType가 monthly 일때)
ranking String O 랭킹 업데이트 기준 ( latest, accumulated, best )
tie_breaking String O 동점자 처리 기준 ( first, last)

실패

 "status": -1,
"message": "오류 메시지"
Attribute Type Description
code Int 결과 값 (1: 성공, 실패 시 Error code 참고)
error String 오류 내용