ยืนยันตัวตนด้วย API key
ทุกคำขอไปยัง Checkslip API ต้องแนบ API key ของคุณ ออก key ได้ที่หน้า API key ในเว็บแอป
ส่ง API key
แนบ key ใน header Authorization แบบ Bearer ทุกคำขอ key ของ Checkslip ขึ้นต้นด้วย csk_ และส่งผ่าน HTTPS เท่านั้น
Authorization: Bearer csk_…curl https://api.checkslip.com/api/slips/lookup \
-H "Authorization: Bearer $CHECKSLIP_API_KEY" \
-H "Idempotency-Key: order-1042-slip-1" \
-H "Content-Type: application/json" \
-d '{"qr":"00330006000001010306902126302105340875102TH9104F86F"}'const res = await fetch("https://api.checkslip.com/api/slips/lookup", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.CHECKSLIP_API_KEY}`,
"Idempotency-Key": "order-1042-slip-1",
"Content-Type": "application/json",
},
body: JSON.stringify({
qr: "00330006000001010306902126302105340875102TH9104F86F",
}),
});
const data = await res.json();import os
import requests
res = requests.post(
"https://api.checkslip.com/api/slips/lookup",
headers={
"Authorization": f"Bearer {os.environ['CHECKSLIP_API_KEY']}",
"Idempotency-Key": "order-1042-slip-1",
},
json={
"qr": "00330006000001010306902126302105340875102TH9104F86F",
},
)
data = res.json()สิทธิ์ของ key
ตอนออก key คุณเลือกได้ว่า key นั้นทำอะไรได้บ้าง ให้แต่ละ key มีเฉพาะสิทธิ์ที่ระบบของคุณใช้จริง
| สิทธิ์ | ทำอะไรได้ |
|---|---|
slip:lookup | ส่ง QR หรือ trans_ref ไปดึงข้อมูลรายการโอนที่ธนาคารมี (ใช้เครดิตเมื่อพบรายการ) |
slip:read | อ่านประวัติผลตรวจของบัญชี |
credit:read | อ่านยอดเครดิต วันหมดอายุ และประวัติเครดิต |
webhook:read | อ่านปลายทางและประวัติการส่ง webhook |
webhook:manage | สร้าง แก้ไข และลบปลายทาง webhook (ไม่รวมการอ่าน) |
audit:read | อ่านบันทึกคำขอ API และบันทึกการเปลี่ยนแปลงของบัญชี |
audit:export | สร้างและดาวน์โหลดไฟล์หลักฐาน (ต้องมี audit:read ด้วย) |
billing:read | อ่านคำสั่งซื้อ ใบเสร็จ เครดิต และข้อมูลออกใบเสร็จ (รวมเลขประจำตัวผู้เสียภาษี) |
billing:write | แก้ข้อมูลที่จะพิมพ์บนใบเสร็จต่อจากนี้ (เติมเครดิตด้วย key ไม่ได้) |
usage:read | อ่านยอดการใช้เครดิตของบัญชี |
- สิทธิ์แต่ละตัวแยกกัน ไม่มีตัวไหนรวมอีกตัว เช่น slip:lookup ไม่ได้ให้ slip:read มาด้วย
- เปลี่ยนสิทธิ์ของ key ที่ออกแล้วไม่ได้ ถ้าต้องการสิทธิ์อื่น ให้ออก key ใหม่
เก็บ key ให้ปลอดภัย
- เว็บแอปแสดงค่า key ทั้งหมดครั้งเดียวตอนออก คัดลอกไปเก็บทันที ถ้าทำหายให้ออก key ใหม่
- เก็บ key ไว้ฝั่งเซิร์ฟเวอร์ เช่น ตัวแปรสภาพแวดล้อมหรือที่เก็บความลับ อย่าใส่ในแอปมือถือ โค้ดหน้าเว็บ หรือ repository
- แยก key ตามระบบหรือสภาพแวดล้อม เพื่อเพิกถอนตัวเดียวได้โดยไม่กระทบที่อื่น
- key ที่ใช้งานได้สูงสุด 10 ตัวต่อบัญชี (ที่เพิกถอนหรือหมดอายุไม่นับ)
เปลี่ยน key
- ออก key ใหม่ในเว็บแอป
- เปลี่ยนระบบของคุณให้ใช้ key ใหม่
- เพิกถอน key เก่า
key ที่ถูกเพิกถอนหรือหมดอายุแล้วจะใช้ไม่ได้ภายใน 30 วินาที (ปกติทันที) และเปิดใช้กลับไม่ได้
เมื่อ key มีปัญหา
คำขอที่ตอบด้วย error เหล่านี้ไม่หักเครดิต ดูทุกรหัสได้ที่ รหัสข้อผิดพลาด
| รหัส | HTTP | ความหมาย |
|---|---|---|
UNAUTHENTICATED | 401 | ไม่ได้ส่ง key หรือ key ใช้ไม่ได้ (ผิดรูปแบบ ถูกเพิกถอน หมดอายุ หรือไม่มีอยู่) ระบบไม่บอกว่าเป็นกรณีไหนเพื่อความปลอดภัย |
FORBIDDEN | 403 | key ไม่มีสิทธิ์ (scope) ของรายการนี้ |
NOT_VIA_API_KEY | 403 | รายการนี้ทำได้เฉพาะในเว็บแอป เช่น จัดการ API key หรือเติมเครดิต |
ACCOUNT_SUSPENDED | 403 | บัญชีถูกระงับการใช้งานชั่วคราว |
RATE_LIMITED | 429 | เรียกถี่เกินเพดาน (มีทั้งเพดานของบัญชี และเพดานของ key ตัวนั้นถ้าตั้งไว้) รอตามวินาทีใน header Retry-After แล้วส่งใหม่ |