Skip to content

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"
  }'
fieldtypeจำเป็นรายละเอียด
donatorNamestring1-50 ตัวอักษร ผ่านตัวกรองคำของสตรีมเมอร์
amountnumberมากกว่า 0 ไม่เกิน 1,000,000
currency"THB"-รับเฉพาะ THB (ค่าเริ่มต้น)
messagestring-ไม่เกิน 255 ตัวอักษร ผ่านตัวกรองคำ + TTS
identifierstring-รหัสอ้างอิงผู้โดเนทฝั่งคุณ ใช้จัดกลุ่ม donor
idempotencyKeystring-กันยิงซ้ำ - key เดิมจาก key/แอปเดิมจะได้รายการเดิมกลับ (duplicated: true) ไม่สร้างใหม่
skipAlertboolean-true = บันทึกอย่างเดียว ไม่ขึ้น alert
createdAtISO 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 ค่าเริ่มต้นไม่มีวันหมดอายุ (ตั้งอายุเองได้ต่อแอป)