รับแจ้งเตือนอัตโนมัติด้วย Webhooks
ให้ Uppic ยิง HTTP POST ไปยังระบบของคุณเมื่อมีเหตุการณ์สำคัญ พร้อมลายเซ็น HMAC
Webhook คือการที่ Uppic ส่ง HTTP POST ไปยัง URL ของคุณโดยอัตโนมัติเมื่อเกิดเหตุการณ์ในบัญชี — ไม่ต้อง polling API
Event ที่รองรับ
- image.uploaded — มีรูปอัปโหลดสำเร็จในบัญชี
- optimization.completed — งานบีบอัดเสร็จสมบูรณ์
- optimization.failed — งานบีบอัดล้มเหลว
- subscription.changed — แพ็กเกจของบัญชีเปลี่ยนแปลง
ตั้งค่า Endpoint
- 1ไปที่ Dashboard → Webhooks แล้วเพิ่ม endpoint ใหม่ (ต้องเป็น URL สาธารณะแบบ HTTPS)
- 2เลือก event ที่ต้องการรับ
- 3บันทึก secret ของ endpoint ไว้ใช้ตรวจลายเซ็น
ตัวอย่าง payload
{
"event": "optimization.completed",
"createdAt": "2026-08-07T12:00:00.000Z",
"data": { "jobId": "…", "fileCount": 3 }
}ตรวจลายเซ็น (สำคัญ)
ทุกคำขอมี header X-Uppic-Event (ชื่อ event) และ X-Uppic-Signature ซึ่งเป็น HMAC-SHA256 ของ body ทั้งก้อน เซ็นด้วย secret ของ endpoint — ควรตรวจทุกครั้งก่อนประมวลผล
ตรวจลายเซ็นด้วย Node.js
import { createHmac, timingSafeEqual } from "node:crypto";
function verifyWebhook(rawBody, signatureHeader, secret) {
const expected = createHmac("sha256", secret)
.update(rawBody)
.digest("hex");
return timingSafeEqual(
Buffer.from(expected),
Buffer.from(signatureHeader)
);
}การส่งซ้ำและการปิดอัตโนมัติ
- ตอบกลับ HTTP 2xx ภายใน 10 วินาทีเพื่อยืนยันว่ารับสำเร็จ
- หากล้มเหลว ระบบ retry สูงสุด 5 ครั้งแบบ exponential backoff
- Endpoint ที่ล้มเหลวติดต่อกัน 10 ครั้งจะถูกปิดอัตโนมัติ — เปิดใหม่ได้จากแดชบอร์ด
บทความนี้ช่วยได้ไหม?
บทความที่เกี่ยวข้อง
ยังต้องการความช่วยเหลือ?
ทีมงานพร้อมตอบคำถามของคุณโดยตรง