API คืออะไร
API ย่อมาจากคำว่า Application Programming Interface คือ กลไกที่เชื่อมให้สองระบบสามารถสื่อสารถึงกันได้ (การส่งคำขอและการตอบกลับ) เช่น การสื่อสารระหว่างผู้ใช้บริการ (Customer) และผู้ให้บริการ (ระบบ Server ของบิทคับ)
โดยลูกค้าที่จะสามารถใช้งานระบบ API ของบิทคับ เอ็กซ์เชนจ์ได้นั้น ต้องมีบัญชีที่ผ่านการยืนยันตัวตน (KYC) กับบริษัทแล้วเท่านั้น
นอกจากนี้ ข้อมูลเกี่ยวกับการใช้งาน API เบื้องต้นที่ผู้ใช้งานควรทราบ มีดังนี้
ห้ามให้คนอื่นรับทราบข้อมูล API Key และ API Secret เนื่องจากจะทำให้ผู้อื่นสามารถเอาไปดูข้อมูลบัญชีและออร์เดอร์ทั้งหมดได้ หรือทำรายการซื้อขายและถอนสินทรัพย์ได้หากมีการเปิด Permission ไว้
ระยะหน่วงในการส่งข้อมูลระหว่าง API ตั้งแต่ข้อมูลออกจากลูกค้าจนมาถึงบริษัท และกลับไปหาลูกค้าอยู่ที่ประมาณ 100-500 millisecond (ms) หรือ microsecond [1000 ms = 1 s]
API Key และ API Secret
API Key คือ รหัส ID หรือชื่อผู้ใช้ส่วนบุคคล ที่ช่วยให้ระบบสามารถจำแนก (identify) ผู้ใช้ได้ เปรียบเสมือน Username ของลูกค้าเวลาเข้าใช้งานระบบออนไลน์ต่าง ๆ
API Secret คือ สิ่งที่ใช้ในการยืนยันความเป็นเจ้าของ API Key แต่ละอัน เปรียบได้กับ Password
เริ่มต้นใช้งาน API
สร้าง API Key ที่หน้า API Management
กดปุ่ม Create API Key > ตั้งชื่อ Key > กรอกรหัสยืนยันความปลอดภัย (Authentication code) ให้ถูกต้อง
บันทึก API Key และ API Secret ไว้ในที่ที่ปลอดภัย
โปรดทราบว่า API Secret จะปรากฏเพียง 1 ครั้งเท่านั้น ดังนั้น ผู้ใช้จำเป็นต้องทำการบันทึก และเก็บรักษาไว้ในที่ที่ปลอดภัย
ตั้งค่า Permission ให้ API Key นั้น ๆ
1 API Key สามารถจำกัดให้ถูกเรียกมาจาก Specific IP ได้สูงสุดที่ 50 IP
ตัวอย่าง Permission
Read: การอนุญาตให้ API สามารถเข้าดูข้อมูลบัญชีได้ (เป็นค่าพื้นฐานของการใช้งาน)
Trade: การอนุญาตให้ API สามารถจัดการรายการซื้อขายได้
Withdraw: การอนุญาตให้ API สามารถจัดการรายการถอนได้
Deposit: การอนุญาตให้ API สามารถจัดการรายการฝากได้
องค์ประกอบของ API
API ฝั่งลูกค้าหรือผู้ใช้งาน
URL
Request method: ที่ใช้หลัก ๆ บนบิทคับ เอ็กซ์เชนจ์ ได้แก่ POST, GET
Request header: เทียบได้กับหัวข้อของจดหมาย
Request body: ข้อมูลเชิงลึกเกี่ยวกับ Request หรือ “จดหมาย” นั้น ๆ
API Response จาก Server ของบิทคับ เอ็กซ์เชนจ์ กลับไปยังลูกค้า
Response header
Response body
REST API
REST API ย่อมาจาก Representational State Transfer คือ วิธีการส่งข้อมูลระหว่างผู้ใช้ กับ Server ของบริษัทผ่านเส้น API หรือ “Endpoint” รูปแบบหนึ่งซึ่งเป็นที่นิยมใช้กันอย่างแพร่หลายในปัจจุบัน โดย API แต่ละเส้นจะมีหน้าที่เฉพาะ 1 อย่าง และ API แต่ละเส้นก็จะทำหน้าที่ที่แตกต่างกัน
วิธีการขอข้อมูลผ่าน REST API (Request Method) มีหลายรูปแบบ อาทิเช่น
GET = ใช้ดึงข้อมูล
POST = ใช้เพิ่มหรือสร้างข้อมูลใหม่ ทั้งนี้ ในการใช้งานจริงบางครั้ง อาจถูกนำมาใช้ในการดึงข้อมูลได้เช่นกัน เช่น ใช้ในการเช็คข้อมูลออร์เดอร์ ฯลฯ
DELETE = ใช้ลบข้อมูล
การจำแนกประเภทของ REST API บนบิทคับ เอ็กซ์เชนจ์
มี 2 ประเภท ได้แก่
Secure = REST API ที่ต้องมีการยืนยันตัวตนด้วย API Key และ API Secret ก่อนใช้งาน
Non-secure = REST API ที่ใช้ในการเข้าดูข้อมูลทั่วไป จึงไม่ต้องใช้ API Key และ API Secret ในการใช้งานหรือเรียกดูข้อมูล
ตัวอย่างการใช้งาน REST API บนบิทคับ เอ็กซ์เชนจ์
Market data = ใช้ในการดูข้อมูลตลาด
Order = ใช้ในการจัดการออร์เดอร์ต่าง ๆ
Deposit & withdraw = ใช้ในการสั่งถอน และดูประวัติรายการฝากถอน
Account = ใช้ในการดูข้อมูลบัญชี และที่อยู่กระเป๋า
ลูกค้าสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับ API เช่น ตรวจสอบ base URL, ดูประเภทของ Endpoint (Secure vs Non-secure) ฯลฯ ได้ที่ API document
ตัวอย่างการใช้งาน API
เมื่อนายบุญคับ Log in เข้าสู่บัญชีบิทคับของตนเองแล้ว นายบุญคับต้องการตรวจสอบราคาตลาดของเหรียญ ABC นายบุญคับจึงใช้ API ต่อไปนี้
ใช้เส้น GET - asks เพื่อดูข้อมูลจากสมุดคำสั่งซื้อขาย (Order book) สีแดง
ใช้เส้น GET - bids เพื่อดูข้อมูลจากสมุดคำสั่งซื้อขายสีเขียว
สามารถใช้ REST API แบบ Non-secure endpoint ได้ เนื่องจากเป็นการดูข้อมูลตลาดทั่วไป ไม่ใช่ข้อมูลบัญชี
นายบุญคับต้องการตรวจสอบยอดเงินคงเหลือในบัญชี = ใช้เส้น balances
นายบุญคับต้องการตั้งออร์เดอร์ซื้อ = ใช้เส้น place-bid
นายบุญคับต้องการตรวจสอบรายการซื้อขายที่ยังไม่ถูกจับคู่บนบัญชีของตนเอง (Pending order) = ใช้เส้น my-open-order
ต่อมา นายบุญคับต้องการยกเลิกออร์เดอร์ = ใช้เส้น cancel-order
บทความที่เกี่ยวข้อง
บทความนี้มีประโยชน์หรือไม่?
เยี่ยมเลย!
ขอบคุณสำหรับความคิดเห็นของคุณ
ขออภัยที่เราช่วยเหลือไม่ได้!
ขอบคุณสำหรับความคิดเห็นของคุณ
ส่งข้อเสนอแนะแล้ว
เราขอขอบคุณในความพยายามของคุณ และจะพยายามแก้ไขบทความดังกล่าว