Inbound Donations API
Inbound Donations API ให้คุณยิงรายการโดเนทที่เกิดขึ้นนอก EasyDonate เข้ามาในระบบ - รายการจะขึ้น alert บน overlay, อ่าน TTS, นับเข้า goal / leaderboard และเก็บลงประวัติ พฤติกรรมเหมือนโดเนทในระบบทุกอย่าง
ใช้ได้กับทุกกรณีที่มีการโดเนทเกิดขึ้นนอกระบบแล้วอยากให้ขึ้นจอไลฟ์ เช่น จาก แพลตฟอร์มหรือเว็บโดเนทที่คุณให้บริการ ระบบสมาชิก การซื้อสินค้า หรือ event พิเศษของคุณเอง
รายการที่สร้างผ่าน API นี้ไม่ใช่เงินจริงในระบบ EasyDonate - ไม่มี settlement และไม่มีผลต่อยอดถอน ภาษี หรือรายงานรายได้
สิ่งที่ต้องมี
ต้องใช้ token ที่มี scope write:donations - ใช้ได้ทั้ง API key ส่วนตัว และ OAuth access token (ดู Authentication)
สร้างรายการโดเนท
POST https://api.easydonate.app/api/v1/donations
bearerAuthorizationBearer <opaque>API key (ezdn_v1_) or OAuth access token (signed JWT)
application/json- body
donatorName*string1 <= length <= 50amount*number0 < value <= 1000000message?stringlength <= 255""identifier?stringlength <= 120idempotencyKey?string1 <= length <= 120skipAlert?booleanfalseskipStreamlabs?booleancreatedAt?string^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|([+-](?:[01]\d|2[0-3]):[0-5]\d)))$date-timecurl -X POST 'https://api.easydonate.app/api/v1/donations' \ -H 'Content-Type: application/json' \ -d '{ "donatorName": "string", "amount": 1}'Request body
| Field | Type | จำเป็น | รายละเอียด |
|---|---|---|---|
donatorName | string | ใช่ | 1-50 ตัวอักษร ผ่านตัวกรองคำของสตรีมเมอร์ |
amount | number | ใช่ | มากกว่า 0 และไม่เกิน 1,000,000 |
message | string | - | ไม่เกิน 255 ตัวอักษร ผ่านตัวกรองคำ + อ่าน TTS |
identifier | string | - | รหัสอ้างอิงผู้โดเนทฝั่งคุณ ใช้จัดกลุ่ม donor คนเดิม |
idempotencyKey | string | - | กันยิงซ้ำ - key เดิมจาก key/แอปเดิมจะได้รายการเดิมกลับ (duplicated: true) ไม่สร้างใหม่ |
skipAlert | boolean | - | true = บันทึกอย่างเดียว ไม่ขึ้น alert |
skipStreamlabs | boolean | - | true = ไม่ส่งต่อไป Streamlabs ของสตรีมเมอร์ ค่าเริ่มต้นเท่ากับ skipAlert ส่ง skipAlert: true คู่กับ skipStreamlabs: false ถ้ามี alert ของตัวเองแต่ยังอยากให้ขึ้นใน Streamlabs |
createdAt | ISO date | - | สำหรับ import ย้อนหลัง - รายการเก่ากว่า 5 นาทีจะไม่ขึ้น alert อัตโนมัติ |
Response
request message จะถูกส่งกลับในชื่อ donateMessage และระบบเติม id, referenceNo, createdAt และ duplicated ให้:
{
"statusCode": 200,
"data": {
"id": "01J...",
"referenceNo": "AB12CD",
"donatorName": "น้องใจดี",
"donateMessage": "สู้ ๆ นะครับ",
"amount": 100,
"createdAt": "2026-07-11T12:00:00.000Z",
"duplicated": false
}
}ดู schema ฉบับเต็มได้ที่ API Reference
ข้อจำกัด
- Rate limit: 60 requests/นาที ต่อ credential (ดู Rate limits)
donatorNameและmessageผ่านตัวกรองคำเดียวกับโดเนทปกติ- alert เคารพยอดขั้นต่ำการแสดง alert ที่สตรีมเมอร์ตั้งไว้
- ชื่อที่ส่งไป Streamlabs เหลือแค่ตัวอักษรภาษาอังกฤษ (ไม่เกิน 25 ตัว) ชื่อที่ไม่มีตัวอักษรอังกฤษเลยจะขึ้นเป็น
Anonymous - รายการเหล่านี้ไม่ใช่เงินในระบบ EasyDonate - ไม่มีผลต่อยอดถอน ภาษี หรือรายงานรายได้
สำหรับแพลตฟอร์ม (OAuth)
ถ้าคุณทำแพลตฟอร์มที่อยากส่ง event ให้สตรีมเมอร์หลายคน ให้ทำปุ่ม "เชื่อมต่อ EasyDonate" ด้วย OAuth แล้วขอ scope write:donations จากนั้นยิง endpoint เดียวกันนี้ด้วย access token ของสตรีมเมอร์แต่ละคน