#嵌入页面

#目录


#URL 结构

{RESULT_WEBSITE_BASE_URL}/render/:template?gameType=&variant=&lang=&ccy=&tz=&data=

#路径参数

参数描述示例
template模板类型resultroundticket

#查询参数

参数 必填 默认 描述
data ✅ 是的 Base64 编码的 JSON 有效负载(请参阅数据格式
gameType 没有 bcr 游戏标识符。当有效负载是固定接口时,data.gameType 自动检测(值必须是已知的固定代码)。传递小游戏API数据时需要。如果将来迷你游戏数据获得gameType字段,它仍然会被标准化为已确定的模式。值:bcr(百家乐)、rob(红色或黑色)、sicbohhh(嘿嘿怎么样)、rlt(轮盘赌)
variant 没有 default 模板内的子模板变体
lang 没有 en 语言代码:envizhko
ccy 没有 货币代码,例如USDTHB。回落到数据价值
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));

接受两种有效负载形状:


#百家乐/结果/默认

Embed Result

{
	"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'
});

#百家乐/回合/默认

Embed Round

入驻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 使用回合/问题状态


#百家乐/注单/默认

Embed Ticket

已入驻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>