แก้ไขโปรไฟล์

ใช้งานได้
PATCH/api/v1/profile

แก้ไขข้อมูลติดต่อของสมาชิก (อีเมล / LINE ID / รูปโปรไฟล์) — ชื่อ-นามสกุล เบอร์โทร และบัญชีธนาคารแก้ผ่านแอดมินเท่านั้น

แก้ได้เฉพาะ email / line_id / avatar_url — มีฟิลด์อื่นปนมาจะถูกปฏิเสธทั้ง request (4001) ส่วน selected_promotion_id เปลี่ยนผ่านโมดูลโปรโมชั่น

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

Request bodyapplication/json

ฟิลด์ชนิดจำเป็นคำอธิบาย
emailstring—อีเมล (รูปแบบอีเมลที่ถูกต้อง)
line_idstring—LINE ID (ไม่เกิน 50 ตัวอักษร)
avatar_urlstring—URL รูปโปรไฟล์ (ไม่เกิน 500 ตัวอักษร)
ตัวอย่าง request
{
  "email": "[email protected]",
  "line_id": "somchai_jd"
}

Response

ฟิลด์ใน data

ฟิลด์ชนิดจำเป็นคำอธิบาย
idstring—id สมาชิก (uuid)
usernamestring—username (prefix ของ agent + เบอร์โทร)
phonestring | null—เบอร์มือถือ
full_namestring | null—ชื่อ-นามสกุล
emailstring | null—อีเมล (ค่าหลังแก้ไข)
line_idstring | null—LINE ID (ค่าหลังแก้ไข)
avatar_urlstring | null—URL รูปโปรไฟล์ (ค่าหลังแก้ไข)
member_tierstring | null—ระดับสมาชิกNEW | BRONZE | SILVER | GOLD | VIP
statusstring—สถานะบัญชีACTIVE | LOCKED | BANNED | PENDING_VERIFICATION
selected_promotion_idstring | null—โปรฝากเงินที่สมาชิกเลือกไว้ (null = ไม่รับโบนัส)
agent_idstring | null—id ของ agent ต้นสังกัด
created_atstring (ISO 8601)—วันเวลาสมัคร
last_login_atstring (ISO 8601) | null—เข้าสู่ระบบล่าสุด
bankobject | null—บัญชีธนาคารที่ผูกไว้ (อ่านอย่างเดียว)
└ bank_codestring—รหัสธนาคาร เช่น KBANK
└ bank_namestring—ชื่อธนาคารภาษาไทย
└ account_numberstring—เลขบัญชี
└ account_namestring—ชื่อบัญชี
ตัวอย่าง response
{
  "success": true,
  "code": 0,
  "message": "สำเร็จ",
  "data": {
    "id": "0f1e2d3c-4b5a-6978-8796-a5b4c3d2e1f0",
    "username": "abc0812345678",
    "phone": "0812345678",
    "full_name": "สมชาย ใจดี",
    "email": "[email protected]",
    "line_id": "somchai_jd",
    "avatar_url": null,
    "member_tier": "BRONZE",
    "status": "ACTIVE",
    "selected_promotion_id": null,
    "agent_id": "7a6b5c4d-3e2f-4a19-b7c6-d5e4f3a2b1c0",
    "created_at": "2026-06-01T04:12:33.000Z",
    "last_login_at": "2026-07-05T02:41:07.000Z",
    "bank": {
      "bank_code": "KBANK",
      "bank_name": "ธนาคารกสิกรไทย",
      "account_number": "1234567890",
      "account_name": "สมชาย ใจดี"
    }
  },
  "request_uuid": "2e6c9b48-0d75-4f13-a8b2-7c4e1f9d5a36"
}

Error codes ที่พบได้

codeชื่อHTTPข้อความ
1001UNAUTHORIZED401ไม่ได้รับอนุญาตไม่ได้แนบ Authorization: Bearer
1007TOKEN_INVALID401โทเค็นไม่ถูกต้องaccess token ไม่ถูกต้อง/หมดอายุ หรือ session ถูกเพิกถอนแล้ว (logout)
1002FORBIDDEN403ไม่มีสิทธิ์เข้าถึงsession เป็นโหมด impersonation (อ่านอย่างเดียว) — แก้ไขข้อมูลไม่ได้
4001VALIDATION_ERROR400ข้อมูลไม่ถูกต้องรูปแบบฟิลด์ไม่ถูกต้อง หรือส่งฟิลด์อื่นนอกจาก email / line_id / avatar_url มา