ภาพรวมและแนวคิด API

Base URL การยืนยันตัวตนของแอป รูปแบบคำตอบ UUID เวลา และรหัสสถานะ HTTP

ภาพรวม

API สำหรับนักพัฒนาให้แอปของคุณ (เว็บ บอท หรือโปรแกรมหลังบ้าน) ทำสองอย่างได้ โดยแต่ละอย่างแยกเอกสารและแยกการตั้งค่ากัน:

ระบบทำอะไรเอกสาร
Authให้ผู้เล่นพิสูจน์ว่าเป็นเจ้าของบัญชี Minecraft (uuid และชื่อ) แบบ OAuthSign in with Minecraft
Instanceดู เพิ่ม ลบผู้เล่นของ Instance ที่ให้สิทธิ์แอปไว้Instance API: ผู้เล่น

ชนิดข้อมูล (TypeScript) ทั้งหมดและตารางข้อผิดพลาดรวมอยู่ที่ อ้างอิงชนิดข้อมูลและข้อผิดพลาด วิธีสร้างแอปบนหน้าจออยู่ที่ Developer zone

เริ่มต้นใน 3 ขั้นตอน

  • สร้างแอปในเมนู Developer แล้วเก็บ client_id กับ client_secret
  • ถ้าจะใช้ Instance API: ในหน้าแอป ส่วน Instance เลือก Instance และสิทธิ์ที่ต้องการ
  • ถ้าจะใช้ Auth: ตั้งโหมด (Redirect หรือ Webhook) และ Redirect URI หรือ Webhook URL ในส่วน Auth

ที่อยู่ของ API

url
https://api-dms-launcher.mckimkung.in.th/api/v1

endpoint ทุกตัวในเอกสารนี้ต่อท้ายที่อยู่นี้ (เช่น GET /instances หมายถึง GET ตามด้วย Base URL ข้างบนแล้วต่อ /instances) ส่วนหน้า /authorize ที่ส่งผู้เล่นไปยืนยันตัวตนไม่ใช่ APIแต่เป็นหน้าเว็บของ Dashboard (โดเมนของเว็บที่คุณเปิดอยู่ ไม่ใช่โดเมนของ API) ดู Sign in with Minecraft

การยืนยันตัวตนของแอป

endpoint ใต้ /api/v1 ทุกตัวใช้ HTTP Basic โดยใช้ client_id เป็น username และ client_secret เป็น password:

http
Authorization: Basic base64(client_id + ":" + client_secret)
bash
# curl สร้าง header ให้เองด้วย -u client_id:client_secret
curl -u "$CLIENT_ID:$CLIENT_SECRET" https://api-dms-launcher.mckimkung.in.th/api/v1/instances
js
// Node.js
const auth = "Basic " + Buffer.from(CLIENT_ID + ":" + CLIENT_SECRET).toString("base64");
const res = await fetch(API + "/api/v1/instances", { headers: { Authorization: auth } });
กรณีผลลัพธ์
ไม่มี header หรือไม่ใช่ Basic401 พร้อมข้อความบอกรูปแบบที่ถูกต้อง
client_id ไม่มีอยู่ หรือ secret ผิด401 Invalid client credentials (ข้อความเดียวกันทั้งสองกรณี เพื่อให้เดา client_id ไม่ได้)
secret เดิมหลังกดสร้างใหม่401 ทันที
เก็บ secret ฝั่ง server เท่านั้น

อย่าใส่ client_secret ในเว็บหน้าบ้าน แอปมือถือ หรือ repository สาธารณะ ถ้าหลุดให้กด สร้างใหม่ ในหน้าแอป

ข้อกำหนดทั่วไปของ API

หัวข้อข้อกำหนด
รูปแบบข้อมูลJSON เข้ารหัส UTF-8 ทั้งคำขอและคำตอบ คำขอที่มี body ต้องส่ง Content-Type: application/json
ผลสำเร็จHTTP 2xx กับ { "statusCode": 200, "data": ... } (ดูชนิด ApiResponse<T>)
ข้อผิดพลาดHTTP 4xx / 5xx กับ { "statusCode": 404, "message": "...", "error": "Not Found" } ข้อผิดพลาดการตรวจข้อมูลมีรายการ errors เพิ่ม ดู อ้างอิง
UUIDขาเข้ารับได้ทั้งมีขีดและไม่มีขีด ตัวพิมพ์เล็กหรือใหญ่ ขาออกเป็นตัวพิมพ์เล็ก 32 หลัก ไม่มีขีด เสมอ เช่น 069a79f444e94726a5befca90e38aaf5
เวลาสตริง ISO 8601 เวลา UTC เช่น 2026-10-06T08:30:00.000Z
ชื่อ Instanceใน path ใช้ฟิลด์ name ของ Instance (ตัวระบุที่ไม่ซ้ำ เช่น wanwera) ตรงตัวพิมพ์เล็กใหญ่ ไม่ใช่ title ที่ใช้แสดง
การแบ่งหน้ายังไม่มี (รายการส่งกลับทั้งหมด) การเขียนจำกัดครั้งละไม่เกิน 100 รายการ
Rate limitปัจจุบันระบบยังไม่จำกัดจำนวนครั้ง แต่ควรควบคุมการเรียกของคุณเอง (เช่นไม่ poll ถี่เกินวินาทีละครั้ง) เพราะเกณฑ์อาจเปลี่ยนในอนาคต
เวอร์ชันเวอร์ชันอยู่ใน path (/api/v1) การเปลี่ยนที่ทำให้แอปเดิมพังจะออกเป็นเวอร์ชันใหม่ ส่วนการเพิ่มฟิลด์ใหม่ในคำตอบอาจเกิดขึ้นได้ ให้ละเลยฟิลด์ที่ไม่รู้จัก

รหัสสถานะ HTTP ที่พบ

รหัสความหมาย
200สำเร็จ (รวมถึงคำขอเขียนที่ประมวลผลแล้ว ดูตัวเลขในคำตอบ)
400ข้อมูลที่ส่งไม่ถูกต้อง หรือ code ใช้ไม่ได้
401ยืนยันตัวตนของแอปไม่ผ่าน
403แอปได้รับ Instance นี้ แต่ไม่มีสิทธิ์ (scope) ที่ทำรายการนี้
404ไม่พบ Instance หรือแอปไม่ได้รับ Instance นี้ (สองกรณีนี้ตอบเหมือนกัน)
5xxข้อผิดพลาดฝั่งระบบ ลองใหม่ภายหลัง

เอกสารต่างๆ

Term of servicePrivacy Policy

Dimension Studio

ไดแมนชั่น สตูดิโอ

ดิสคอร์ด :

Dimension Studio

เว็บไซต์ :

Dimension Studio

ยูทูป :

Dimension Studio

Copyright © 2024-2026 บริษัท เน็กชันนารี จำกัด (NEXIONARY Company Limited). All rights reserved.

ทะเบียนเลขที่ 50105568159679

Dimension Launcher ไม่มีส่วนเกี่ยวข้องกับ Mojang AB หรือ Microsoft Corporation