Preview: API ยังอยู่ระหว่างเปิดใช้ รายละเอียดอาจเปลี่ยนก่อนเปิดจริง ดูความคืบหน้าที่ บันทึกการเปลี่ยนแปลง
API reference v1
ทุก endpoint อยู่ใต้ที่อยู่นี้ (base URL)
https://api.sukson.dev/v1Endpoint ทั้งหมด
หัวข้อที่มีชื่อว่า “Endpoint ทั้งหมด”| Method | Path | ใช้ทำอะไร |
|---|---|---|
| GET | /v1/me |
ข้อมูลบอท |
| GET | /v1/me/quota |
โควตาและแพ็กเกจของบอท |
| GET | /v1/me/quota/consumption |
ยอดใช้เดือนนี้ |
| PUT | /v1/me/commands |
ตั้งรายการคำสั่ง /command |
| GET | /v1/me/webhook |
ดู webhook ปัจจุบัน |
| PUT | /v1/me/webhook |
ตั้ง webhook URL |
| DELETE | /v1/me/webhook |
เลิกใช้ webhook |
| POST | /v1/me/webhook/test |
ส่ง ping ทดสอบ |
| GET | /v1/me/chats |
ห้องที่บอทอยู่ |
| POST | /v1/chats/{chat_id}/messages |
ส่งข้อความ (reply หรือ push) |
| PATCH | /v1/messages/{message_id} |
แก้ข้อความของบอท |
| DELETE | /v1/messages/{message_id} |
ลบข้อความของบอท |
ไม่มี endpoint สำหรับอ่านประวัติข้อความ บอทเห็นเฉพาะ event ที่ส่งมาถึงตัวเอง
- ส่ง
Authorization: Bearer skbot_...ทุกคำขอ (การยืนยันตัวตน) - คำขอที่มี body ต้องส่ง
Content-Type: application/jsonและ body เป็น JSON object เดียว ขนาดไม่เกิน 64 KB - ถ้าส่งฟิลด์ที่ endpoint ไม่รู้จัก จะได้
422 UNKNOWN_FIELD(ระบบไม่ข้ามไปเฉย ๆ) คุณจึงเห็นชื่อฟิลด์ที่พิมพ์ผิดได้เร็ว chat_idเป็น string,message_idเป็นจำนวนเต็มบวก- เวลาเป็น ISO 8601 แบบ UTC
ถ้าสำเร็จ คำตอบคือ JSON object ของข้อมูลนั้นเลย ไม่มีอะไรห่ออยู่ข้างนอก
HTTP/1.1 200 OKContent-Type: application/jsonCache-Control: no-storeX-Request-Id: 01JC0Z8W5T9V3QH2M6K4R7N1PBX-RateLimit-Limit: 120X-RateLimit-Remaining: 117X-RateLimit-Reset: 2
{ "id": "01933b40-1a2b-7c3d-8e4f-5a6b7c8d9e0f", "handle": "weather_bot", "name": "WeatherBot", "status": "active", "commands": [] }ถ้าผิดพลาด คำตอบเป็น {message, code, details?} พร้อม HTTP status ที่ตรงกับปัญหาเสมอ (ข้อผิดพลาด)
{ "message": "Too many requests; slow down", "code": "RATE_LIMITED", "details": { "retry_after": 3 } }| Header | ความหมาย |
|---|---|
X-Request-Id |
id ของคำขอ แนบมาด้วยเมื่อติดต่อทีมงาน จะส่งค่าของคุณเองมาในคำขอก็ได้ |
X-RateLimit-Limit |
จำนวนคำขอต่อนาทีของบอท |
X-RateLimit-Remaining |
จำนวนที่เหลือตอนนี้ |
X-RateLimit-Reset |
อีกกี่วินาทีจำนวนที่เรียกได้จะกลับมาเต็ม |
Retry-After |
มากับ 429 บอกว่าควรรอกี่วินาทีก่อนลองใหม่ |