Voting API (1.0.2)

Download OpenAPI specification:

API for voting, coin/ticket management, and user/item/idol info.

admin

Add free tickets

Authorizations:
bearerAuth
Request Body schema: application/json
required
userId
required
string
amount
required
integer
txnId
required
string
description
required
string

Responses

Request samples

Content type
application/json
{
  • "userId": "string",
  • "amount": 0,
  • "txnId": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "coins": 0,
  • "tickets": 0
}

Set exchange rates for items. Replace existing rates if rateId exists. Set rates to 0 to disable each exchange type.

Authorizations:
bearerAuth
Request Body schema: application/json
required
rateId
required
string
inputBaht
required
integer
outputCoins
required
integer

Responses

Request samples

Content type
application/json
{
  • "rateId": "string",
  • "inputBaht": 0,
  • "outputCoins": 0
}

Set exchange rates for items. Replace existing rates if rateId exists. Set rates to 0 to disable each exchange type.

Authorizations:
bearerAuth
Request Body schema: application/json
required
rateId
required
string
itemId
required
string
coinsPerItem
required
integer
ticketsPerItem
required
integer
votesPerItem
required
integer

Responses

Request samples

Content type
application/json
{
  • "rateId": "string",
  • "itemId": "string",
  • "coinsPerItem": 0,
  • "ticketsPerItem": 0,
  • "votesPerItem": 0
}

Set exchange rates for tickets. Replace existing rate if rateId exists. Set rate to 0 to disable.

Authorizations:
bearerAuth
Request Body schema: application/json
required
rateId
required
string
ticketsPerCoin
required
integer

Responses

Request samples

Content type
application/json
{
  • "rateId": "string",
  • "ticketsPerCoin": 0
}

Get all exchange rates

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "coins": [
    ],
  • "items": [
    ],
  • "tickets": [
    ]
}

Get Idol items received by user.

Authorizations:
bearerAuth
query Parameters
idolId
required
string

Idol ID

page
integer

Page number

perPage
integer

Items per page

sortBy
string
Enum: "asc" "desc"

Sort by direction

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get idol item transaction history by admin.

Authorizations:
bearerAuth
query Parameters
idolId
required
string

Idol ID

page
integer

Page number

perPage
integer

Items per page

sortBy
string
Enum: "asc" "desc"

Sort by direction

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get idol votes by admin.

Authorizations:
bearerAuth
query Parameters
idolId
required
string

Idol ID

Responses

Response samples

Content type
application/json
0
0

user

Exchange coins for tickets

Authorizations:
bearerAuth
Request Body schema: application/json
required
rateId
required
string
txnId
required
string
amount
required
integer

Number of tickets to get

Responses

Request samples

Content type
application/json
{
  • "rateId": "string",
  • "txnId": "string",
  • "amount": 0
}

Response samples

Content type
application/json
{
  • "coins": 0,
  • "tickets": 0
}

Exchange coins for items

Authorizations:
bearerAuth
Request Body schema: application/json
required
rateId
required
string
txnId
required
string
idolId
required
string
amount
required
integer

Number of tickets to get

Responses

Request samples

Content type
application/json
{
  • "rateId": "string",
  • "txnId": "string",
  • "idolId": "string",
  • "amount": 0
}

Response samples

Content type
application/json
{
  • "coins": 0,
  • "tickets": 0
}

Exchange tickets for items

Authorizations:
bearerAuth
Request Body schema: application/json
required
rateId
required
string
txnId
required
string
idolId
required
string
amount
required
integer

Number of tickets to get

Responses

Request samples

Content type
application/json
{
  • "rateId": "string",
  • "txnId": "string",
  • "idolId": "string",
  • "amount": 0
}

Response samples

Content type
application/json
{
  • "coins": 0,
  • "tickets": 0
}

Add free tickets

Authorizations:
bearerAuth
Request Body schema: application/json
required
amount
required
integer
txnId
required
string
description
required
string

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "txnId": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "coins": 0,
  • "tickets": 0
}

Get user coin/ticket balance

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "coins": 0,
  • "tickets": 0
}

Get user items balance

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get user baht transaction history

Authorizations:
bearerAuth
query Parameters
page
integer

Page number

perPage
integer

Items per page

sortBy
string
Enum: "asc" "desc"

Sort by direction

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Get user coin transaction history

Authorizations:
bearerAuth
query Parameters
page
integer

Page number

perPage
integer

Items per page

sortBy
string
Enum: "asc" "desc"

Sort by direction

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Get user ticket transaction history

Authorizations:
bearerAuth
query Parameters
page
integer

Page number

perPage
integer

Items per page

sortBy
string
Enum: "asc" "desc"

Sort by direction

Responses

Response samples

Content type
application/json
{
  • "transactions": [
    ]
}

Get Idol items received by user.

Authorizations:
bearerAuth
query Parameters
idolId
required
string

Idol ID

page
integer

Page number

perPage
integer

Items per page

sortBy
string
Enum: "asc" "desc"

Sort by direction

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get idol item transaction history by user.

Authorizations:
bearerAuth
query Parameters
idolId
required
string

Idol ID

page
integer

Page number

perPage
integer

Items per page

sortBy
string
Enum: "asc" "desc"

Sort by direction

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get idol votes by user.

Authorizations:
bearerAuth
query Parameters
idolId
required
string

Idol ID

Responses

Response samples

Content type
application/json
0
0

Get transaction detail

Authorizations:
bearerAuth
path Parameters
txnId
required
string

Transaction ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

webhook

Omise webhook handler

Send [userId, rateId, txnId, description, fullname, taxPayerNumber, email, address, status, failureMessage] into metadata of Omise Charge (JWT Signed with JWT_SECRET)

Authorizations:
bearerAuth

Responses