เปิดการ์ด
ใช้งานได้POST
/api/v1/card/flipเปิดการ์ดของวันนี้ (1 ครั้ง/วัน) — เซิร์ฟเวอร์สุ่มใบที่ได้และเครดิตรางวัล (เครดิตหรือเพชร) ทันที
เปิดได้ 1 ครั้ง/วัน (นับตามวันเวลาไทย) — เปิดซ้ำจะได้ 6233 สิทธิ์รีเซ็ตเมื่อขึ้นวันใหม่และฝากถึงเกณฑ์อีกครั้ง
Headers
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| Authorization | string | ใช่ | ใช้ — แนบ Bearer <access_token> ของสมาชิก |
| X-Api-Key | string | ใช่ | API key ของ agent (ak_…) จากหน้า bo |
| X-Timestamp | string | ใช่ | เวลา sign เป็น unix milliseconds (คลาดเคลื่อนได้ ±300 วินาที) |
| X-Nonce | string | ใช่ | ค่าไม่ซ้ำต่อ request (UUIDv4) กัน replay |
| X-Signature | string | ใช่ | hex(HMAC-SHA256(secret, canonical)) — ดูหน้า Authentication |
| X-Player-IP | string | — | IP จริงของผู้เล่น (IPv4/IPv6) — แนะนำให้ส่ง (ใช้ใน login history) |
| X-Player-UA | string | — | User-Agent ของผู้เล่น (optional — ลง login history) |
| X-Request-Id | string | — | correlation id ของฝั่งคุณ — ระบบ echo กลับใน request_uuid (แนะนำให้ส่ง) |
| x-lang | string | — | th (default) หรือ en — ภาษาของ message |
Response
ฟิลด์ใน data
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
| slot_index | number | — | ใบที่เปิดได้ — ให้แอนิเมชันพลิกไปหยุดที่ใบนี้ |
| label | string | — | ข้อความของใบที่เปิดได้ |
| reward_mode | string | — | โหมดรางวัลของรอบนี้ (ตามการตั้งค่า agent)CREDIT | DIAMOND |
| prize_amount_thb | string | — | รางวัลเครดิต (THB, string) — "0" = ไม่ถูก และเป็น "0" เสมอเมื่อ reward_mode = DIAMOND |
| prize_diamond | number | — | รางวัลเพชร (จำนวนเต็ม) — 0 = ไม่ถูก และเป็น 0 เสมอเมื่อ reward_mode = CREDIT |
| balance | string | null | — | ยอดกระเป๋าหลังเครดิตรางวัลเข้า — null เมื่อไม่ถูกรางวัลเครดิต หรือเมื่อ reward_mode = DIAMOND (ไม่มีการเครดิตเงิน) |
| diamond_balance | number | null | — | ยอดเพชรหลังได้รับ — null เมื่อไม่ใช่การถูกรางวัลเพชร (โหมดเครดิต หรือโหมดเพชรแต่ไม่ถูก) |
| revealed_slots | object[] | — | ไพ่ทั้งหมด (6 ใบ) พร้อมรางวัลจริง — ให้ client พลิกโชว์ครบทุกใบหลังเฉลยใบที่ได้ |
| └ slot_index | number | — | ตำแหน่งใบ (0-5) |
| └ label | string | — | ข้อความบนใบ |
| └ prize_amount_thb | string | — | รางวัลเครดิตของใบ (THB, string) — "0" ทุกใบเมื่อ reward_mode = DIAMOND |
| └ prize_diamond | number | — | รางวัลเพชรของใบ — 0 ทุกใบเมื่อ reward_mode = CREDIT |
ตัวอย่าง response
{
"success": true,
"code": 0,
"message": "Card opened",
"data": {
"slot_index": 2,
"label": "20 บาท",
"reward_mode": "CREDIT",
"prize_amount_thb": "20",
"prize_diamond": 0,
"balance": "225.50",
"diamond_balance": null,
"revealed_slots": [
{ "slot_index": 0, "label": "5 บาท", "prize_amount_thb": "5", "prize_diamond": 0 },
{ "slot_index": 1, "label": "เสียใจด้วย", "prize_amount_thb": "0", "prize_diamond": 0 },
{ "slot_index": 2, "label": "20 บาท", "prize_amount_thb": "20", "prize_diamond": 0 },
{ "slot_index": 3, "label": "เสียใจด้วย", "prize_amount_thb": "0", "prize_diamond": 0 },
{ "slot_index": 4, "label": "50 บาท", "prize_amount_thb": "50", "prize_diamond": 0 },
{ "slot_index": 5, "label": "100 บาท", "prize_amount_thb": "100", "prize_diamond": 0 }
]
},
"request_uuid": "c4a8f2d6-1b39-4e75-90cd-5e7a3f8b1d64"
}Error codes ที่พบได้
| code | ชื่อ | HTTP | ข้อความ |
|---|---|---|---|
| 6233 | DAILY_CARD_ALREADY_PLAYED | 400 | เปิดการ์ดของวันนี้ไปแล้ว (จำกัด 1 ครั้ง/วัน)วันนี้เปิดการ์ดไปแล้ว (เปิดได้ 1 ครั้ง/วัน) — โชว์ผลจาก today_result ของหน้า overview |
| 6232 | DAILY_CARD_NOT_ELIGIBLE | 400 | ยังไม่เข้าเงื่อนไขฝากขั้นต่ำของวันนี้ยังไม่เข้าเงื่อนไข — ฝากสำเร็จวันนี้ไม่ถึงเกณฑ์ (< 1 ครั้ง หรือยอดรวม < unlock_deposit_thb) หรือบัญชีไม่ใช่กระเป๋าโหมด TRANSFER |
| 6231 | DAILY_CARD_NOT_ENABLED | 400 | เกมการ์ดรายวันยังไม่เปิดใช้งานagent ปิดการ์ดอยู่ (หรือโหมดเพชรแต่โปรแกรมเพชรของ agent ปิดอยู่) |
| 9002 | SERVICE_UNAVAILABLE | 503 | บริการไม่พร้อมใช้งานระบบออกเครดิตของ agent ไม่พร้อมชั่วคราว (โหมดเครดิต) — สาเหตุที่แท้จริงถูกซ่อนจากสมาชิก |
| 1001 | UNAUTHORIZED | 401 | ไม่ได้รับอนุญาต |
| 1007 | TOKEN_INVALID | 401 | โทเค็นไม่ถูกต้อง |