Leaderboard API
Register leaderboard user score 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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardId | String | O | Leaderboard unique ID generated in the dashboard |
userId | String | O | User ID |
score | Integer | X | Score |
subscore | Integer | X | Subscore (not required) |
metadata | String | X | Additional information |
Response
Succeeded
{
"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 | Result value \ (-1 fail ) |
message | String | Error message |
leaderboardlog.project_id | String | Project ID |
leaderboardlog.id | String | Input ID |
leaderboardlog.user_id | String | User ID |
leaderboardlog.score | Int | Score |
leaderboardlog.subscore | Int | Subscore |
leaderboardlog.metadata | Int | User created data |
leaderboardlog.expiredAt | String | Expiry date |
Failure
{
"status": -1,
"message": "Registration failed"
}
Attribute | Type | Description |
---|
code | Int | Result \ (1: success, refer to the error code in case of failure ) |
error | String | Error message |
Retrieve user score from leaderboard 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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardId | String | O | Leaderboard unique ID generated in the dashboard |
offset | Integer | X | OFFSET |
per_page | Integer | X | LIMIT |
Response
Succeeded
[
{
"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 | Result value \ (-1 fail ) |
message | String | Error message |
rank | Int | Ranking |
project_id | String | Project ID |
leaderboardId | String | Leaderboard unique ID generated in the dashboard |
user_id | String | User ID |
score | Int | Score |
subscore | Int | Subscore |
metadata | Int | User created data |
updatedAt | String | Updated date |
expiredAt | String | Expiration date |
Failure
{
"status": -1,
"message": "Failure to search"
}
Attribute | Type | Description |
---|
status | Int | Result \ (refer to the error code in case of failure ) |
message | String | Error message |
Retrieve score with specific keyword API
Request
- Method : GET
- URI : https://gamepot.apigw.ntruss.com/gpapps/v2/leaderboardlogs
Search with 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
}
Search with SCORE range
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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardId | String | O | Leaderboard unique ID generated in the dashboard |
offset | Integer | X | OFFSET |
per_page | Integer | X | LIMIT |
Response
Succeeded
[
{
"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"
}
]
Failure
{
"status": -1,
"message": "Error message"
}
Attribute | Type | Description |
---|
status | Int | Result \ (refer to the error code in case of failure ) |
message | String | Error message |
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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardId | String | O | Leaderboard unique ID generated in the dashboard |
offset | Integer | X | OFFSET |
per_page | Integer | X | LIMIT |
Response
Succeeded
[
{
"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 | Leaderboard unique ID |
projectId | String | O | Project ID |
status | Boolean | O | Condition |
is_check_user | Boolean | X | Whether to check the user ID |
name | String | X | Leaderboard name |
description | String | X | Description |
icon_url | String | X | Icon URL |
descending | Boolean | X | Sort |
startedAt | String | X | Start date |
expiredAt | String | X | End date (if seasonal) |
timezone | String | X | Time zone |
period_type | String | X | Cycle (daily, weekly, monthly, season) |
resetDay | Integer | X | Reset day 1: Sun, 2: Mon, 3: Tue, 4: Wed, 5: Thu, 6: Fri, 7: Sat (where the periodType is weekly) |
resetTime | String | X | Reset time |
resetDate | Integer | X | Reset date 1-31 (where the periodType is monthly) |
ranking | String | O | Ranking update criteria (latest, accumulated, best) |
tie_breaking | String | O | Tie breaker (first, last) |
Failure
{
"status": -1,
"message": "Error message"
}
Attribute | Type | Description |
---|
status | Int | Result \ (refer to the error code in case of failure ) |
message | String | Error message |
Search user score in leaderboard 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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardID | String | O | Leaderboard unique ID generated in the dashboard |
userid | String | O | User ID |
Response
Succeeded
{
"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 | Result value \ (-1 fail ) |
message | String | Error message |
rank | Int | Ranking |
project_id | String | Project ID |
leaderboardId | String | Leaderboard unique ID generated in the dashboard |
user_id | String | User ID |
score | Int | Score |
subscore | Int | Subscore |
metadata | Int | User created data |
updatedAt | String | Updated date |
expiredAt | String | Expiration date |
Failure
{
"status": -1,
"message": "Error message"
}
Attribute | Type | Description |
---|
status | Int | Result \ (refer to the error code in case of failure ) |
message | String | Error message |
Delete user registered in leaderboard 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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardId | String | X | Leaderboard ID |
userId | String | X | Leaderboard user ID |
Response
Succeeded
[
{
"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 | Result value \ (-1 fail ) |
message | String | Error message |
project_id | String | Project ID |
leaderboardId | String | Leaderboard unique ID generated in the dashboard |
user_id | String | User ID |
score | Int | Score |
subscore | Int | Subscore |
metadata | Int | User created data |
updatedAt | String | Updated date |
expiredAt | String | Expiration date |
Failure
{
"status": -1,
"message": "Error message"
}
Attribute | Type | Description |
---|
status | Int | Result \ (refer to the error code in case of failure ) |
message | String | Error message |
Register leaderboard 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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
id | String | O | Leaderboard unique ID |
projectId | String | O | Project ID |
status | Boolean | O | Condition |
is_check_user | Boolean | X | Whether to check the user ID |
name | String | X | Leaderboard name |
description | String | X | Description |
iconUrl | String | X | Icon URL |
descending | Boolean | X | Sort |
startedAt | String | X | Start date |
expiredAt | String | X | End date (if seasonal) |
timezone | String | X | Time zone |
period_type | String | X | Cycle (daily, weekly, monthly, season) |
resetDay | Integer | X | Reset day 1: Sun, 2: Mon, 3: Tue, 4: Wed, 5: Thu, 6: Fri, 7: Sat (where the periodType is weekly) |
resetTime | String | X | Reset time |
resetDate | Integer | X | Reset date 1-31 (where the periodType is monthly) |
ranking | String | O | Ranking update criteria (latest, accumulated, best) |
tie_breaking | String | O | Tie breaker (first, last) |
Response
Succeeded
{
"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 | Leaderboard unique ID |
projectId | String | O | Project ID |
status | Boolean | O | Condition |
is_check_user | Boolean | X | Whether to check the user ID |
name | String | X | Leaderboard name |
description | String | X | Description |
icon_url | String | X | Icon URL |
descending | Boolean | X | Sort |
startedAt | String | X | Start date |
expiredAt | String | X | End date (if seasonal) |
timezone | String | X | Time zone |
period_type | String | X | Cycle (daily, weekly, monthly, season) |
resetDay | Integer | X | Reset day 1: Sun, 2: Mon, 3: Tue, 4: Wed, 5: Thu, 6: Fri, 7: Sat (where the periodType is weekly) |
resetTime | String | X | Reset time |
resetDate | Integer | X | Reset date 1-31 (where the periodType is monthly) |
ranking | String | O | Ranking update criteria (latest, accumulated, best) |
tie_breaking | String | O | Tie breaker (first, last) |
Failure
"status": -1,
"message": "Error message"
Attribute | Type | Description |
---|
code | Int | Result \ (1: success, refer to the error code in case of failure ) |
error | String | Error message |
Edit leaderboard 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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardId | String | O | Leaderboard unique ID |
status | Boolean | O | Condition |
is_check_user | Boolean | X | Whether to check the user ID |
name | String | X | Leaderboard name |
description | String | X | Description |
icon_url | String | X | Icon URL |
descending | Boolean | X | Sort |
startedAt | String | X | Start date |
expiredAt | String | X | End date (if seasonal) |
timezone | String | X | Time zone |
period_type | String | X | Cycle (daily, weekly, monthly, season) |
resetDay | Integer | X | Reset day 1: Sun, 2: Mon, 3: Tue, 4: Wed, 5: Thu, 6: Fri, 7: Sat (where the periodType is weekly) |
resetTime | String | X | Reset time |
resetDate | Integer | X | Reset date 1-31 (where the periodType is monthly) |
ranking | String | O | Ranking update criteria (latest, accumulated, best) |
tie_breaking | String | O | Tie breaker (first, last) |
Response
Succeeded
{
"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 | Leaderboard unique ID |
projectId | String | O | Project ID |
status | Boolean | O | Condition |
is_check_user | Boolean | X | Whether to check the user ID |
name | String | X | Leaderboard name |
description | String | X | Description |
icon_url | String | X | Icon URL |
descending | Boolean | X | Sort |
startedAt | String | X | Start date |
expiredAt | String | X | End date (if seasonal) |
timezone | String | X | Time zone |
period_type | String | X | Cycle (daily, weekly, monthly, season) |
resetDay | Integer | X | Reset day 1: Sun, 2: Mon, 3: Tue, 4: Wed, 5: Thu, 6: Fri, 7: Sat (where the periodType is weekly) |
resetTime | String | X | Reset time |
resetDate | Integer | X | Reset date 1-31 (where the periodType is monthly) |
ranking | String | O | Ranking update criteria (latest, accumulated, best) |
tie_breaking | String | O | Tie breaker (first, last) |
Failure
"status": -1,
"message": "Error message"
Attribute | Type | Description |
---|
code | Int | Result \ (1: success, refer to the error code in case of failure ) |
error | String | Error message |
Delete leaderboard 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 | Authentication key issued by GAMEPOT |
X-PROJECT-ID | String | O | Dashboard project ID |
Attribute | Type | Required | Description |
---|
leaderboardId | String | O | Leaderboard unique ID |
Response
Succeeded
{
"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"
}
}
Succeeded
Attribute | Type | Required | Description |
---|
id | String | O | Leaderboard unique ID |
projectId | String | O | Project ID |
status | Boolean | O | Condition |
is_check_user | Boolean | X | Whether to check the user ID |
name | String | X | Leaderboard name |
description | String | X | Description |
icon_url | String | X | Icon URL |
descending | Boolean | X | Sort |
startedAt | String | X | Start date |
expiredAt | String | X | End date (if seasonal) |
timezone | String | X | Time zone |
period_type | String | X | Cycle (daily, weekly, monthly, season) |
resetDay | Integer | X | Reset day 1: Sun, 2: Mon, 3: Tue, 4: Wed, 5: Thu, 6: Fri, 7: Sat (where the periodType is weekly) |
resetTime | String | X | Reset time |
resetDate | Integer | X | Reset date 1-31 (where the periodType is monthly) |
ranking | String | O | Ranking update criteria (latest, accumulated, best) |
tie_breaking | String | O | Tie breaker (first, last) |
Failure
"status": -1,
"message": "Error message"
Attribute | Type | Description |
---|
code | Int | Result \ (1: success, refer to the error code in case of failure ) |
error | String | Error message |