JCPlay Public API
JCPlay's SmileCoin-compatible Public API.
Request format
- All operations use POST with application/x-www-form-urlencoded.
- Send uid, email, api, time, and sign in the request body. sign is not an HTTP header.
Signature
- Exclude sign from the body parameters.
- Sort the remaining key=value pairs alphabetically.
- Append & and the API key.
- Calculate md5(md5(string_to_sign)).
Every additional body parameter must be included in the signature. time must be within ±300 seconds of server time.
Create order
- order_request_id is required in the signed body.
- Reuse the same order_request_id when retrying a request.
Examples are included with each request body. Only documented Public API paths are included.
Public API base URL
Public API
Official-compatible public operations
Query the authenticated user's balance
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
Body
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://bupati.org/smilecoin/api/querypoints \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'uid=10001' \
--data-urlencode 'email=merchant@example.com' \
--data-urlencode 'api=demo-api-key' \
--data-urlencode 'time=1793318400' \
--data-urlencode 'sign=d0e1583edb0e774cd3fe406f4bbd00a2'
{
"status": 200,
"message": "success",
"smile_points": "string"
}Balance returned
List public product codes
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
Body
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://bupati.org/smilecoin/api/product \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'uid=10001' \
--data-urlencode 'email=merchant@example.com' \
--data-urlencode 'api=demo-api-key' \
--data-urlencode 'time=1793318400' \
--data-urlencode 'sign=d0e1583edb0e774cd3fe406f4bbd00a2'
[
"mobilelegends",
"pubgmobilecoin"
]Product codes returned
List denominations for a public product
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
Body
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
This request also includes product in the signed body.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://bupati.org/smilecoin/api/productlist \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'uid=10001' \
--data-urlencode 'email=merchant@example.com' \
--data-urlencode 'api=demo-api-key' \
--data-urlencode 'time=1793318400' \
--data-urlencode 'sign=d0e1583edb0e774cd3fe406f4bbd00a2' \
--data-urlencode 'product=mobilelegends'
{
"status": 200,
"message": "success",
"data": {
"product": [
{
"id": "string",
"spu": "string",
"price": "string",
"cost_price": "string",
"discount": "string"
}
]
}
}Denominations returned with local charged prices
Get supplier server or zone data
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
Body
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
This request also includes product in the signed body.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://bupati.org/smilecoin/api/getserver \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'uid=10001' \
--data-urlencode 'email=merchant@example.com' \
--data-urlencode 'api=demo-api-key' \
--data-urlencode 'time=1793318400' \
--data-urlencode 'sign=d0e1583edb0e774cd3fe406f4bbd00a2' \
--data-urlencode 'product=mobilelegends'
{}Supplier server payload
Verify a player account
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
Body
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
This request also includes product, productid, userid, and optional zoneid in the signed body.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://bupati.org/smilecoin/api/getrole \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'uid=10001' \
--data-urlencode 'email=merchant@example.com' \
--data-urlencode 'api=demo-api-key' \
--data-urlencode 'time=1793318400' \
--data-urlencode 'sign=d0e1583edb0e774cd3fe406f4bbd00a2' \
--data-urlencode 'product=mobilelegends' \
--data-urlencode 'productid=123456789' \
--data-urlencode 'userid=player-42' \
--data-urlencode 'zoneid=1'
{
"status": 1,
"username": "string",
"message": null
}Role response
Create an order
Create order
order_request_idis required in the signed body.- Include every body parameter in the signature.
- Reuse the same
order_request_idwhen retrying. - A different payload with the same ID returns
409.
qty defaults to 1; values above 1 are supported only for SmileCode products. The response price is the local charged total.
Body
Authentication
Send uid, email, api, time, and sign in the application/x-www-form-urlencoded body. sign is not a header.
Signature
- Exclude
signfrom the body parameters. - Sort the remaining
key=valuepairs alphabetically. - Append
&and the API key. - Calculate
md5(md5(string_to_sign)).
Include every additional body parameter in the signature. time must be within ±300 seconds.
This request also includes product, productid, and order_request_id in the signed body.
Responses
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://bupati.org/smilecoin/api/createorder \
--request POST \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'uid=10001' \
--data-urlencode 'email=merchant@example.com' \
--data-urlencode 'api=demo-api-key' \
--data-urlencode 'time=1793318400' \
--data-urlencode 'product=smilecode' \
--data-urlencode 'productid=100' \
--data-urlencode 'qty=2' \
--data-urlencode 'userid=player-42' \
--data-urlencode 'sign=4fff3f91701112ba3516d12a95345b7f' \
--data-urlencode 'order_request_id=order-2026-0001'
{
"status": 1,
"message": null,
"order_id": null,
"price": "string",
"info": null,
"codes": [
"string"
],
"provider_code": null
}Order accepted or completed