API Reference
Endpoint, scope, pagination, rate limit และรูปแบบ error ของ Furipay API v1
เรียก API
ใช้ base URL https://api.furipay.me/v1 โดย app API ที่มีการป้องกันด้านล่างต้องส่ง access token เป็น Bearer token ยกเว้น token endpoint
Authorization: Bearer YOUR_ACCESS_TOKEN
Rate limits
Rate limit นับแยกตามแอปและครีเอเตอร์:
| กลุ่ม | Limit |
|---|---|
| Endpoint สำหรับอ่าน | 120 ครั้ง/นาที |
| POST /tips | 10 ครั้ง/นาที |
| POST /alerts | 30 ครั้ง/นาที |
เมื่อเกินกำหนด API จะตอบ 429 พร้อม header Retry-After
บัญชีและโปรไฟล์
GET /me ใช้ตรวจสอบตัวตนของครีเอเตอร์จาก token และไม่ต้องขอ scope เพิ่ม
/v1/meGET /v1/me
curl -X GET \
'https://api.furipay.me/v1/me' \
-H 'Authorization: Bearer <token>'View OpenAPI JSONGET /profile คืนโปรไฟล์สาธารณะ โซเชียล และข้อมูลช่องทางรับทิปพร้อมสถานะ enabled ต้องมี scope profile.read
/v1/profileGET /v1/profile
curl -X GET \
'https://api.furipay.me/v1/profile' \
-H 'Authorization: Bearer <token>'View OpenAPI JSONทิป
GET /tips ต้องมี scope tips.read รองรับ limit 1–100 (ค่าเริ่มต้น 50), cursor, from และ to โดยวันที่ใช้รูปแบบ ISO 8601
/v1/tipsGET /v1/tips
curl -X GET \
'https://api.furipay.me/v1/tips' \
-H 'Authorization: Bearer <token>'View OpenAPI JSONGET /tips/stats คืนยอดและจำนวนทิปทั้งหมดกับเดือนปัจจุบัน หน่วยเงินเป็น THB
/v1/tips/statsGET /v1/tips/stats
curl -X GET \
'https://api.furipay.me/v1/tips/stats' \
-H 'Authorization: Bearer <token>'View OpenAPI JSONPOST /tips ต้องมี scope tips.create และรับ amount ที่เป็นบวกไม่เกินเพดานของระบบ, name 2–25 ตัวอักษรโดยใช้ A–Z, 0–9, ขีดล่างหรือเว้นวรรค และ message ไม่เกิน 255 ตัวอักษร ตัวตนครีเอเตอร์มาจาก token เสมอ
{
"amount": 100,
"name": "Nong",
"message": "GG!"
}
Endpoint นี้บันทึกรายการทิปสำเร็จและส่ง event ไปยัง overlay แต่ไม่ได้เรียกเก็บเงินจากผู้สนับสนุน ให้เรียกหลังระบบต้นทางยืนยันการชำระเงินแล้วเท่านั้น
/v1/tipsPOST /v1/tips
curl -X POST \
'https://api.furipay.me/v1/tips' \
-H 'Authorization: Bearer <token>'View OpenAPI JSONOverlay และ event
POST /alerts ต้องมี scope alerts.create ใช้ส่ง alert ทดสอบไปยัง overlay โดยไม่สร้างประวัติทิป
/v1/alertsPOST /v1/alerts
curl -X POST \
'https://api.furipay.me/v1/alerts' \
-H 'Authorization: Bearer <token>'View OpenAPI JSONGET /socket/token ต้องมี scope events.subscribe และคืน token อายุสั้น 10 นาทีสำหรับ socket
/v1/socket/tokenGET /v1/socket/token
curl -X GET \
'https://api.furipay.me/v1/socket/token' \
-H 'Authorization: Bearer <token>'View OpenAPI JSONError responses
Protected endpoints ตอบ error ในรูปแบบเดียวกัน:
{
"error": {
"code": "insufficient_scope",
"message": "This endpoint requires scope: tips.read"
}
}
- 401 token ไม่มี ไม่ถูกต้อง หรือหมดอายุ
- 403 grant ใช้งานไม่ได้หรือ scope ไม่พอ
- 422 request ไม่ผ่าน validation
- 429 เกิน rate limit
- 502 ระบบต้นทางขัดข้อง