ภาพรวมเปิดการ์ดรายวัน

ใช้งานได้
GET/api/v1/card

ดึงข้อมูลรายละเอียดทั้งหมดของเปิดการ์ดรายวันของสมาชิก

การ์ดปลดล็อกด้วยยอดฝากของวัน (อ่านสด ๆ ตอนเรียก): ต้องมีฝากสำเร็จ ≥ 1 ครั้ง และยอดรวมวันนี้ ≥ unlock_deposit_thb จึงจะ eligible = true

prize_amount_thb ใช้กับโหมด CREDIT ส่วน prize_diamond ใช้กับโหมด DIAMOND — อีกฟิลด์จะเป็น "0" เสมอตามโหมดที่ตั้งค่าไว้

Headers

ฟิลด์ชนิดจำเป็นคำอธิบาย
Authorizationstringใช่ใช้ — แนบ Bearer <access_token> ของสมาชิก
X-Api-Keystringใช่API key ของ agent (ak_…) จากหน้า bo
X-Timestampstringใช่เวลา sign เป็น unix milliseconds (คลาดเคลื่อนได้ ±300 วินาที)
X-Noncestringใช่ค่าไม่ซ้ำต่อ request (UUIDv4) กัน replay
X-Signaturestringใช่hex(HMAC-SHA256(secret, canonical)) — ดูหน้า Authentication
X-Player-IPstring—IP จริงของผู้เล่น (IPv4/IPv6) — แนะนำให้ส่ง (ใช้ใน login history)
X-Player-UAstring—User-Agent ของผู้เล่น (optional — ลง login history)
X-Request-Idstring—correlation id ของฝั่งคุณ — ระบบ echo กลับใน request_uuid (แนะนำให้ส่ง)
x-langstring—th (default) หรือ en — ภาษาของ message

Response

ฟิลด์ใน data

ฟิลด์ชนิดจำเป็นคำอธิบาย
enabledboolean—การ์ดเปิดใช้ที่ระดับ agent หรือไม่ — ถ้า false ให้ซ่อนเมนู (โหมดเพชรจะเปิดได้ต่อเมื่อโปรแกรมเพชรของ agent เปิดอยู่ด้วย)
reward_modestring—โหมดรางวัลของ agent: CREDIT = จ่ายเครดิตเข้ากระเป๋า · DIAMOND = จ่ายเพชร (เลือกโหมดเดียวต่อ agent)CREDIT | DIAMOND
unlock_deposit_thbstring—ยอดฝากสำเร็จรวมของวันนี้ที่ต้องถึงเพื่อปลดล็อกการเปิดการ์ด (THB, string; "0" = แค่ฝากสำเร็จ ≥ 1 ครั้งก็ปลดล็อก)
deposited_today_thbstring—ยอดฝากสำเร็จรวมของสมาชิกวันนี้ (THB, string) — ใช้โชว์ความคืบหน้าเทียบ unlock_deposit_thb
deposit_count_todaynumber—จำนวนครั้งฝากสำเร็จของวันนี้
eligibleboolean—ปลดล็อกแล้วหรือยัง (เปิดใช้ + ฝากสำเร็จ ≥ 1 ครั้ง + ยอดรวม ≥ unlock_deposit_thb) — ปุ่มเปิดควรเช็ค eligible && !already_played_today อีกชั้น
already_played_todayboolean—วันนี้เปิดการ์ดไปแล้วหรือยัง (เปิดได้ 1 ครั้ง/วัน)
card_back_image_urlstring | null—รูปหลังการ์ด (URL พร้อมแสดงผล; null = ใช้รูป default)
background_image_urlstring | null—รูปพื้นหลังหน้าเกม (URL พร้อมแสดงผล; null = default)
slotsobject[]—ไพ่ทั้งหมด (6 ใบ) เรียงตาม slot_index — ระบบไม่เปิดเผยความน่าจะเป็นของแต่ละใบ
└ slot_indexnumber—ตำแหน่งใบ (0-5)
└ labelstring—ข้อความบนใบ เช่น "20 บาท"
└ prize_amount_thbstring—รางวัลเครดิตของใบ (THB, string) — ใช้เมื่อ reward_mode = CREDIT, "0" = ใบไม่มีรางวัล
└ prize_diamondnumber—รางวัลเพชรของใบ (จำนวนเต็ม) — ใช้เมื่อ reward_mode = DIAMOND, 0 = ใบไม่มีรางวัล
today_resultobject | null—ผลการเปิดของวันนี้ — null เมื่อยังไม่เปิดวันนี้ (ใช้โชว์ใบที่เปิดไปแล้วเมื่อ already_played_today = true)
└ slot_indexnumber—ใบที่เปิดได้
└ labelstring—ข้อความใบที่เปิดได้ ณ ตอนนั้น (snapshot)
└ prize_amount_thbstring—รางวัลเครดิตที่ได้ (THB, string) — "0" เมื่อโหมดเพชรหรือไม่ถูก
└ prize_diamondnumber—รางวัลเพชรที่ได้ — 0 เมื่อโหมดเครดิตหรือไม่ถูก
└ played_atstring (ISO 8601)—เวลาที่เปิด
ตัวอย่าง response
{
  "success": true,
  "code": 0,
  "message": "Card fetched successfully",
  "data": {
    "enabled": true,
    "reward_mode": "CREDIT",
    "unlock_deposit_thb": "300",
    "deposited_today_thb": "500",
    "deposit_count_today": 2,
    "eligible": true,
    "already_played_today": false,
    "card_back_image_url": "https://cdn.bestsystem.example/card/luckybet888-back.png",
    "background_image_url": "https://cdn.bestsystem.example/card/luckybet888-bg.png",
    "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 }
    ],
    "today_result": null
  },
  "request_uuid": "3b7e0d9c-4f61-4a28-b5e3-8d2c6f1a9e07"
}

Error codes ที่พบได้

codeชื่อHTTPข้อความ
6231DAILY_CARD_NOT_ENABLED400เกมการ์ดรายวันยังไม่เปิดใช้งานปัจจุบันการ์ดที่ปิดอยู่จะตอบสำเร็จพร้อม enabled = false และรายการว่างแทน — รองรับโค้ดนี้ไว้ด้วยเช่นเดียวกับตอน flip
1001UNAUTHORIZED401ไม่ได้รับอนุญาต
1007TOKEN_INVALID401โทเค็นไม่ถูกต้อง