#嵌入页面
#目录
#URL 结构
{RESULT_WEBSITE_BASE_URL}/render/:template?gameType=&variant=&lang=&ccy=&tz=&data=
#路径参数
| 参数 | 描述 | 示例 |
|---|---|---|
template | 模板类型 | result、round、ticket |
#查询参数
| 参数 | 必填 | 默认 | 描述 |
|---|---|---|---|
data |
✅ 是的 | — | Base64 编码的 JSON 有效负载(请参阅数据格式) |
gameType |
没有 | bcr |
游戏标识符。当有效负载是固定接口时,从 data.gameType 自动检测(值必须是已知的固定代码)。传递小游戏API数据时需要。如果将来迷你游戏数据获得gameType字段,它仍然会被标准化为已确定的模式。值:bcr(百家乐)、rob(红色或黑色)、sicbo、hhh(嘿嘿怎么样)、rlt(轮盘赌) |
variant |
没有 | default |
模板内的子模板变体 |
lang |
没有 | en |
语言代码:en、vi、zh、ko |
ccy |
没有 | — | 货币代码,例如USD,THB。回落到数据价值 |
tz |
没有 | Asia/Bangkok |
IANA 时区字符串,例如Asia/Ho_Chi_Minh |
#可用路线
gameType |
模板 | 变体 | URL |
|---|---|---|---|
bcr |
result |
default |
/render/result?gameType=bcr |
bcr |
round |
default |
/render/round?gameType=bcr |
bcr |
ticket |
default |
/render/ticket?gameType=bcr |
#嵌入 iframe
<iframe
src="https://<your-domain>/render/result?gameType=bcr&lang=en&data=<base64>"
style="border: none; background: transparent;"
allowtransparency="true"
width="400"
height="300"
></iframe>
透明背景:在 iframe 上设置
allowtransparency="true",在style属性中设置background: transparent。当没有data-theme强制颜色时,渲染的页面默认使用background: transparent,因此不需要在主页上进行额外的配置。
#动态 URL 构建器 (JavaScript)
function buildRenderUrl(
baseUrl,
{ gameType = 'bcr', template, variant, data, lang = 'en', ccy, tz }
) {
const encoded = btoa(JSON.stringify(data));
const params = new URLSearchParams({ gameType, data: encoded, lang });
if (variant) params.set('variant', variant);
if (ccy) params.set('ccy', ccy);
if (tz) params.set('tz', tz);
return `${baseUrl}/render/${template}?${params}`;
}
#数据格式
data 查询参数必须是 Base64 编码的 JSON 字符串:
const encoded = btoa(JSON.stringify(payload));
接受两种有效负载形状:
- 已结算API(推荐)- 来自已结算服务的有效负载包括具有已知已结算值的
gameType字段(例如"gameType": "BCR")。渲染器自动检测游戏;不需要gameType查询参数。 - 小游戏API — 来自小游戏服务的有效负载目前没有
gameType字段;传递gameType作为查询参数(或者默认为bcr)。字段名称与已确定的Schema不同,并且始终在渲染之前在内部进行标准化。如果迷你游戏有效负载将来获得gameType字段,它们仍将被标准化 - 渲染器通过检查data.gameType是否与已知的固定值匹配来识别迷你游戏来源。
#百家乐/结果/默认

{
"result": "1,5,13-2,6" // BCR result format
}
BCR结果编码和牌号编号请参见百家乐结果格式。
示例:
const data = { result: '1,5,13-2,6' };
const url = buildRenderUrl(base, {
gameType: 'bcr',
template: 'result',
data,
lang: 'en'
});
#百家乐/回合/默认

入驻API(推荐)
此有效负载形状与单钱包APIs中的settled-round请求Body以及回合结果通知中的回合结束有效负载相匹配。您可以将这些有效负载直接传递到圆形渲染器。
{
"roundId": "BCR_MD2729-260511-0162",
"tableId": "BCR_MD2729",
"result": "1,5,13-2,6",
"openAt": 1778473519401, // epoch ms
"closeAt": 1778473549401, // epoch ms
"status": "ENDED",
"gameType": "BCR" // auto-detects game — no gameType query param needed
}
小游戏API — 设置?gameType=bcr查询参数(或默认为bcr)
{
"id": "BCR_MD2729-260511-0162", // → roundId
"scheduler": "BCR_MD2729", // → tableId
"result": "1,5,13-2,6",
"openAt": "2026-05-11T10:00:00+07:00", // ISO string, normalized to epoch ms
"closeAt": "2026-05-11T10:02:00+07:00",
"status": "ENDED"
}
status 使用回合/问题状态。
#百家乐/注单/默认

已入驻API(推荐)
此负载形状与单一钱包APIs中的settled-ticket请求Body和已结算赢取注单通知/输单已结算通知中的TicketInfoEvent负载相匹配。您可以将这些有效负载直接传递给注单渲染器。
{
"ticketId": "2c5decb7-f66b-4b7b-ac55-673a34009ae1",
"userId": "69d8b601bf3db08ac14df74f",
"username": "player01",
"userType": "AGENT",
"tableId": "BCR_MD2707",
"roundId": "BCR_MD2707-260511-0859",
"ccy": "THB",
"status": "WON",
"betTime": 1778488082003, // epoch ms
"betItems": "[{\"betLocation\":\"PLAYER\",\"betAmt\":100.0,\"wonAmt\":95.0}]", // JSON-encoded string
"totalBet": 100.0,
"totalPayout": 195.0,
"result": "1,5,13-2,6",
"gameType": "BCR" // auto-detects game — no gameType query param needed
}
小游戏API — 设置?gameType=bcr查询参数(或默认为bcr)
此负载形状与小游戏服务APIs返回的注单数据匹配。渲染器在显示注单之前对这些字段进行标准化。
{
"id": "8620ce49-cb80-4973-9158-5f281b976ebb", // → ticketId
"accountId": "68b7c310f4e77cd715f1e33a", // → userId
"username": "player01",
"accountType": "AGENT", // → userType
"scheduler": "BCR_3D_1", // → tableId
"issueId": "BCR_3D_1-260508-1632", // → roundId
"ccy": "THB",
"status": "WON",
"timeBet": "2026-05-08T18:08:28.411+07:00", // → betTime (ISO string, normalized to epoch ms)
"betItems": [{ "betLocation": "PLAYER", "betAmt": 100.0, "wonAmt": 95.0 }], // array, normalized to JSON string
"totalBetAmt": 100.0, // → totalBet
"totalPayoutAmt": 195.0, // → totalPayout
"result": "1,5,13-2,6"
}
status 使用投注/注单状态。有关BCR 投注项目值,请参阅投注类型。 BCR结果编码请参见百家乐结果格式。
#完整示例
<!DOCTYPE html>
<html>
<body style="margin:0; background:#1a1a1a;">
<script>
const data = {
ticketId: 'TKT-00001',
roundId: 'ISS-0001',
username: 'player01',
userType: 'NORMAL',
tableId: 'BACCARAT_A',
ccy: 'THB',
status: 'WON',
betTime: 1778488082003,
createdAt: '2026-05-11T10:01:01Z',
totalBet: 100,
totalPayout: 195,
result: '1,5,13-2,6',
gameType: 'BCR', // auto-detects game — no gameType in params needed
betItems: '[{"betLocation":"PLAYER","betAmt":100,"wonAmt":95}]'
};
const params = new URLSearchParams({
data: btoa(JSON.stringify(data)),
lang: 'en',
tz: 'Asia/Bangkok'
});
const iframe = document.createElement('iframe');
iframe.src = `https://<your-domain>/render/ticket?${params}`;
iframe.style = 'border:none; background:transparent; width:400px; height:600px;';
iframe.setAttribute('allowtransparency', 'true');
document.body.appendChild(iframe);
</script>
</body>
</html>