Download OpenAPI specification:
API for voting, coin/ticket management, and user/item/school info.
| userId required | string |
| amount required | integer |
| txnId required | string |
| description required | string |
{- "userId": "string",
- "amount": 0,
- "txnId": "string",
- "description": "string"
}{- "coins": 0,
- "tickets": 0
}Replace existing rates if rateId exists. Set rates to 0 to disable each exchange type.
| rateId required | string |
| inputBaht required | integer |
| outputCoins required | integer |
{- "rateId": "string",
- "inputBaht": 0,
- "outputCoins": 0
}Replace existing rates if rateId exists. Set rates to 0 to disable each exchange type.
| rateId required | string |
| itemId required | string |
| coinsPerItem required | integer |
| ticketsPerItem required | integer |
| votesPerItem required | integer |
{- "rateId": "string",
- "itemId": "string",
- "coinsPerItem": 0,
- "ticketsPerItem": 0,
- "votesPerItem": 0
}Replace existing rate if rateId exists. Set rate to 0 to disable.
| rateId required | string |
| ticketsPerCoin required | integer |
{- "rateId": "string",
- "ticketsPerCoin": 0
}{- "coins": [
- {
- "rateId": "string",
- "inputBaht": 0,
- "outputCoins": 0
}
], - "items": [
- {
- "rateId": "string",
- "itemId": "string",
- "coinsPerItem": 0,
- "ticketsPerItem": 0,
- "votesPerItem": 0
}
], - "tickets": [
- {
- "rateId": "string",
- "ticketsPerCoin": 0
}
]
}| idolId required | string Idol ID |
| page | integer Page number |
| perPage | integer Items per page |
| sortBy | string Enum: "asc" "desc" Sort by direction |
[- {
- "amount": 0,
- "itemId": "string",
- "votes": 0
}
]| idolId required | string Idol ID |
| page | integer Page number |
| perPage | integer Items per page |
| sortBy | string Enum: "asc" "desc" Sort by direction |
[- {
- "amountBurned": 0,
- "amountEarned": 0,
- "description": "string",
- "idolId": "string",
- "itemId": "string",
- "rateId": "string",
- "txnId": "string",
- "txnTime": "2019-08-24T14:15:22Z",
- "userId": "string",
- "voteEarned": 0
}
]| rateId required | string |
| userId required | string |
| txnId required | string |
| idolId required | string |
| amount required | integer Number of item to get |
{- "rateId": "string",
- "userId": "string",
- "txnId": "string",
- "idolId": "string",
- "amount": 0
}{- "coins": 0,
- "tickets": 0
}| startDate required | string <date-time> |
| endDate required | string <date-time> |
{- "startDate": "2019-08-24T14:15:22Z",
- "endDate": "2019-08-24T14:15:22Z"
}| rateId required | string |
| txnId required | string |
| amount required | integer Number of tickets to get |
{- "rateId": "string",
- "txnId": "string",
- "amount": 0
}{- "coins": 0,
- "tickets": 0
}| rateId required | string |
| txnId required | string |
| idolId required | string |
| amount required | integer Number of tickets to get |
{- "rateId": "string",
- "txnId": "string",
- "idolId": "string",
- "amount": 0
}{- "coins": 0,
- "tickets": 0
}| rateId required | string |
| txnId required | string |
| idolId required | string |
| amount required | integer Number of tickets to get |
{- "rateId": "string",
- "txnId": "string",
- "idolId": "string",
- "amount": 0
}{- "coins": 0,
- "tickets": 0
}| amount required | integer |
| txnId required | string |
| description required | string |
{- "amount": 0,
- "txnId": "string",
- "description": "string"
}{- "coins": 0,
- "tickets": 0
}| page | integer Page number |
| perPage | integer Items per page |
| sortBy | string Enum: "asc" "desc" Sort by direction |
{- "transactions": [
- {
- "txnId": "string",
- "userId": "string",
- "itemId": "string",
- "rateId": "string",
- "amountBurned": 0,
- "amountEarned": 0,
- "description": "string",
- "txnTime": "2019-08-24T14:15:22Z"
}
]
}| page | integer Page number |
| perPage | integer Items per page |
| sortBy | string Enum: "asc" "desc" Sort by direction |
{- "transactions": [
- {
- "txnId": "string",
- "userId": "string",
- "idolId": "string",
- "itemId": "string",
- "rateId": "string",
- "amountBurned": 0,
- "amountEarned": 0,
- "voteEarned": 0,
- "description": "string",
- "txnTime": "2019-08-24T14:15:22Z"
}
]
}| page | integer Page number |
| perPage | integer Items per page |
| sortBy | string Enum: "asc" "desc" Sort by direction |
{- "transactions": [
- {
- "txnId": "string",
- "userId": "string",
- "idolId": "string",
- "itemId": "string",
- "rateId": "string",
- "amountBurned": 0,
- "amountEarned": 0,
- "voteEarned": 0,
- "description": "string",
- "txnTime": "2019-08-24T14:15:22Z"
}
]
}| idolId required | string Idol ID |
| page | integer Page number |
| perPage | integer Items per page |
| sortBy | string Enum: "asc" "desc" Sort by direction |
[- {
- "amount": 0,
- "itemId": "string",
- "votes": 0
}
]| idolId required | string Idol ID |
| page | integer Page number |
| perPage | integer Items per page |
| sortBy | string Enum: "asc" "desc" Sort by direction |
[- {
- "amountBurned": 0,
- "amountEarned": 0,
- "description": "string",
- "idolId": "string",
- "itemId": "string",
- "rateId": "string",
- "txnId": "string",
- "txnTime": "2019-08-24T14:15:22Z",
- "userId": "string",
- "voteEarned": 0
}
]| txnId required | string Transaction ID |
[- {
- "amountBurned": 0,
- "amountEarned": 0,
- "description": "string",
- "itemId": "string",
- "rateId": "string",
- "txnId": "string",
- "txnTime": "2019-08-24T14:15:22Z",
- "userId": "string"
}
]Send [userId, rateId, txnId, description, fullname, taxPayerNumber, email, address, status, type, serviceName, failureMessage] into metadata of Omise Charge (JWT Signed with JWT_SECRET). After the transaction is complete, CP Origin will be hooked up to the Voting App.
| userId | string |
| rateId | string |
| amount | integer |
| txnId | string |
| omiseTxnId | string |
| description | string |
| fullName | string |
| taxPayerNumber | string |
string | |
| address | string |
| status | string Enum: "pending" "successful" "failed" |
| type | string Enum: "shop" "express" |
| serviceName | string Enum: "inthe8ight" "chingchasawan" |
| failureMessage | string |
{- "userId": "695e1be5408fe79a94ca0d55",
- "rateId": "p1-gen-001_Free",
- "amount": 29,
- "txnId": "CCSXXXXXXXXXXXXX",
- "omiseTxnId": "chrg_test_xxxxxxxxxxxxxxxxxxx",
- "description": "p1-gen-001 netPrice: 29 netTotalCoinAmount: 290",
- "fullName": "Tester",
- "taxPayerNumber": "string",
- "email": "tester@chingchasawan.com",
- "address": "string",
- "status": "successful",
- "type": "shop",
- "serviceName": "chingchasawan",
- "failureMessage": ""
}Creates a new charge from Voting App using a card token or source ID.
| amount required | integer The amount in satang (e.g., 100.00 THB is 10000 satang). |
| currency required | string The currency for the charge (must be 'thb'). |
| card | string The card token (starts with |
| source | string The source ID (starts with |
| return_uri | string <uri> The URL to redirect the user to after completing the payment. |
required | object Additional metadata for the charge, wrapped in a JWT for security. |
| expires_at required | string <date-time> The expiration time for the charge in ISO 8601 format. |
{- "amount": 10000,
- "currency": "thb",
- "card": "tokn_test_XXXXXXXXXXXXXXXXXX",
- "source": "src_test_XXXXXXXXXXXXXXXXXX",
- "metadata": {
- "data": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}, - "expires_at": "2026-01-09T18:00:00Z"
}