Traditional Proposal Reserved Credit Application
curl --request POST \
--url https://api.example.com/dt/callback/apply_reserved \
--header 'Content-Type: application/json' \
--data '
{
"platform_id": "H88",
"token": "E47A56947DF6DA25B6F95C3BFE5748E7",
"uuid": "lobby1-82818443591811",
"account": "walter123",
"type": 1,
"credit": 100,
"proposal_id": 954654,
"transaction_id": "005-200926080808-0000005"
}
'import requests
url = "https://api.example.com/dt/callback/apply_reserved"
payload = {
"platform_id": "H88",
"token": "E47A56947DF6DA25B6F95C3BFE5748E7",
"uuid": "lobby1-82818443591811",
"account": "walter123",
"type": 1,
"credit": 100,
"proposal_id": 954654,
"transaction_id": "005-200926080808-0000005"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
platform_id: 'H88',
token: 'E47A56947DF6DA25B6F95C3BFE5748E7',
uuid: 'lobby1-82818443591811',
account: 'walter123',
type: 1,
credit: 100,
proposal_id: 954654,
transaction_id: '005-200926080808-0000005'
})
};
fetch('https://api.example.com/dt/callback/apply_reserved', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/dt/callback/apply_reserved",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'platform_id' => 'H88',
'token' => 'E47A56947DF6DA25B6F95C3BFE5748E7',
'uuid' => 'lobby1-82818443591811',
'account' => 'walter123',
'type' => 1,
'credit' => 100,
'proposal_id' => 954654,
'transaction_id' => '005-200926080808-0000005'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/dt/callback/apply_reserved"
payload := strings.NewReader("{\n \"platform_id\": \"H88\",\n \"token\": \"E47A56947DF6DA25B6F95C3BFE5748E7\",\n \"uuid\": \"lobby1-82818443591811\",\n \"account\": \"walter123\",\n \"type\": 1,\n \"credit\": 100,\n \"proposal_id\": 954654,\n \"transaction_id\": \"005-200926080808-0000005\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/dt/callback/apply_reserved")
.header("Content-Type", "application/json")
.body("{\n \"platform_id\": \"H88\",\n \"token\": \"E47A56947DF6DA25B6F95C3BFE5748E7\",\n \"uuid\": \"lobby1-82818443591811\",\n \"account\": \"walter123\",\n \"type\": 1,\n \"credit\": 100,\n \"proposal_id\": 954654,\n \"transaction_id\": \"005-200926080808-0000005\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/dt/callback/apply_reserved")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"platform_id\": \"H88\",\n \"token\": \"E47A56947DF6DA25B6F95C3BFE5748E7\",\n \"uuid\": \"lobby1-82818443591811\",\n \"account\": \"walter123\",\n \"type\": 1,\n \"credit\": 100,\n \"proposal_id\": 954654,\n \"transaction_id\": \"005-200926080808-0000005\"\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"message": "success",
"uuid": "lobby1-82818443591811",
"timestamp": 1668580007001,
"data": {
"account": "walter123",
"credit": 115,
"reserved": 100,
"balance": 215,
"platform_id": "H88",
"transaction_id": "005-200926080808-0000005"
}
}Wallet API
Traditional Mode Reserved Credit Application
This endpoint handles traditional proposal reserved credit changes (implemented by vendor)
Types 3. End proposal and 4. Cancel will keep retrying until successful. Implementer must handle properly to avoid duplicate credits
POST
/
dt
/
callback
/
apply_reserved
Traditional Proposal Reserved Credit Application
curl --request POST \
--url https://api.example.com/dt/callback/apply_reserved \
--header 'Content-Type: application/json' \
--data '
{
"platform_id": "H88",
"token": "E47A56947DF6DA25B6F95C3BFE5748E7",
"uuid": "lobby1-82818443591811",
"account": "walter123",
"type": 1,
"credit": 100,
"proposal_id": 954654,
"transaction_id": "005-200926080808-0000005"
}
'import requests
url = "https://api.example.com/dt/callback/apply_reserved"
payload = {
"platform_id": "H88",
"token": "E47A56947DF6DA25B6F95C3BFE5748E7",
"uuid": "lobby1-82818443591811",
"account": "walter123",
"type": 1,
"credit": 100,
"proposal_id": 954654,
"transaction_id": "005-200926080808-0000005"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
platform_id: 'H88',
token: 'E47A56947DF6DA25B6F95C3BFE5748E7',
uuid: 'lobby1-82818443591811',
account: 'walter123',
type: 1,
credit: 100,
proposal_id: 954654,
transaction_id: '005-200926080808-0000005'
})
};
fetch('https://api.example.com/dt/callback/apply_reserved', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/dt/callback/apply_reserved",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'platform_id' => 'H88',
'token' => 'E47A56947DF6DA25B6F95C3BFE5748E7',
'uuid' => 'lobby1-82818443591811',
'account' => 'walter123',
'type' => 1,
'credit' => 100,
'proposal_id' => 954654,
'transaction_id' => '005-200926080808-0000005'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/dt/callback/apply_reserved"
payload := strings.NewReader("{\n \"platform_id\": \"H88\",\n \"token\": \"E47A56947DF6DA25B6F95C3BFE5748E7\",\n \"uuid\": \"lobby1-82818443591811\",\n \"account\": \"walter123\",\n \"type\": 1,\n \"credit\": 100,\n \"proposal_id\": 954654,\n \"transaction_id\": \"005-200926080808-0000005\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/dt/callback/apply_reserved")
.header("Content-Type", "application/json")
.body("{\n \"platform_id\": \"H88\",\n \"token\": \"E47A56947DF6DA25B6F95C3BFE5748E7\",\n \"uuid\": \"lobby1-82818443591811\",\n \"account\": \"walter123\",\n \"type\": 1,\n \"credit\": 100,\n \"proposal_id\": 954654,\n \"transaction_id\": \"005-200926080808-0000005\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/dt/callback/apply_reserved")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"platform_id\": \"H88\",\n \"token\": \"E47A56947DF6DA25B6F95C3BFE5748E7\",\n \"uuid\": \"lobby1-82818443591811\",\n \"account\": \"walter123\",\n \"type\": 1,\n \"credit\": 100,\n \"proposal_id\": 954654,\n \"transaction_id\": \"005-200926080808-0000005\"\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"message": "success",
"uuid": "lobby1-82818443591811",
"timestamp": 1668580007001,
"data": {
"account": "walter123",
"credit": 115,
"reserved": 100,
"balance": 215,
"platform_id": "H88",
"transaction_id": "005-200926080808-0000005"
}
}Body
application/json
Platform product ID
Verification code, md5(platform_id + uuid + account + type + credit + proposal_id + transaction_id + platform_secret)
Platform-defined unique request serial number
Player account
Type: 1. Buy-in 2. Add-on 3. End proposal 4. Cancel
Amount, must be positive integer. Type 3 (End proposal) only allows 0. Type 4 (Cancel) only allows 0
Player proposal ID, cannot be empty
Transaction serial number, must be unique and non-empty (1-128 characters, ASCII 32-126 printable characters only, ` and ~ are prohibited)
⌘I