Appearance
Inbound Donations - รับโดเนทจากภายนอก
ยิงรายการโดเนทที่เกิดขึ้นนอก EasyDonate เข้ามาแสดง alert บน overlay, อ่าน TTS, นับเข้า goal / leaderboard และเก็บประวัติ - พฤติกรรมเหมือน โดเนทในระบบทุกอย่าง ยกเว้นไม่เกี่ยวกับยอดเงินจริง (ไม่มี settlement)
ต้องใช้ scope write:donations (API key หรือ OAuth ก็ได้ ดู เริ่มต้นใช้งาน API)
สร้างรายการโดเนท
bash
curl -X POST https://api.easydonate.app/api/v1/donations \
-H "Authorization: Bearer ezdn_v1_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"donatorName": "น้องใจดี",
"amount": 100,
"message": "สู้ ๆ นะครับ",
"idempotencyKey": "your-platform-tx-1234"
}'| field | type | จำเป็น | รายละเอียด |
|---|---|---|---|
donatorName | string | ✅ | 1-50 ตัวอักษร ผ่านตัวกรองคำของสตรีมเมอร์ |
amount | number | ✅ | มากกว่า 0 ไม่เกิน 1,000,000 |
currency | "THB" | - | รับเฉพาะ THB (ค่าเริ่มต้น) |
message | string | - | ไม่เกิน 255 ตัวอักษร ผ่านตัวกรองคำ + TTS |
identifier | string | - | รหัสอ้างอิงผู้โดเนทฝั่งคุณ ใช้จัดกลุ่ม donor |
idempotencyKey | string | - | กันยิงซ้ำ - key เดิมจาก key/แอปเดิมจะได้รายการเดิมกลับ (duplicated: true) ไม่สร้างใหม่ |
skipAlert | boolean | - | true = บันทึกอย่างเดียว ไม่ขึ้น alert |
createdAt | ISO date | - | สำหรับ import ย้อนหลัง - รายการเก่ากว่า 5 นาทีจะไม่ขึ้น alert อัตโนมัติ |
Response
json
{
"statusCode": 200,
"data": {
"id": "01J...",
"referenceNo": "AB12CD",
"donatorName": "น้องใจดี",
"donateMessage": "สู้ ๆ นะครับ",
"amount": 100,
"currency": "THB",
"createdAt": "2026-07-11T12:00:00.000Z",
"duplicated": false
}
}ข้อจำกัด
- Rate limit: 60 requests/นาที ต่อ API key หรือต่อแอป+ผู้ใช้ (ดู header
X-RateLimit-*) - ข้อความและชื่อผ่านตัวกรองคำเดียวกับโดเนทปกติ
- alert เคารพยอดขั้นต่ำการแสดง alert ที่สตรีมเมอร์ตั้งไว้
- รายการเหล่านี้ไม่ใช่เงินในระบบ EasyDonate - ไม่มีผลต่อยอดถอน ภาษี หรือรายงานรายได้
สำหรับแพลตฟอร์ม (OAuth)
ทำปุ่ม "เชื่อมต่อ EasyDonate" ด้วย OAuth flow ปกติ ขอ scope write:donations แล้วยิง endpoint เดียวกันด้วย access token ของ สตรีมเมอร์แต่ละคน - refresh token ค่าเริ่มต้นไม่มีวันหมดอายุ (ตั้งอายุเองได้ต่อแอป)