Thông báo qua Webhook
Thêm người đăng ký webhook
Đăng nhập vào Instatus tại instatus.com/login rồi chọn trang trạng thái của bạn.
Vào Người đăng ký, rồi Webhook.
Nhấp Thêm người đăng ký webhook,
Một biểu mẫu mới sẽ hiện ra, tại đó bạn có thể nhập:
- URL webhook
- Địa chỉ email

Chúng tôi sẽ gửi các yêu cầu tới URL của bạn theo định dạng này và một email sẽ được gửi tới địa chỉ email đã chỉ định khi URL gặp vấn đề.
Bạn có thể đặt tên cho người đăng ký webhook bằng cách nhấp vào nó và nhập tên trong biểu mẫu; bạn cũng có thể xóa người đăng ký này bằng cách nhấp Hủy đăng ký.
Xác minh payload của Webhook
Rất khuyến khích xác thực payload của webhook tại endpoint webhook.
Chúng tôi ký payload webhook bằng một secret và đính kèm chữ ký trong một header tên là x-instatus-webhook-signature. Chữ ký này cho phép bạn xác minh rằng webhook đến từ Instatus.
Các bước xác minh Webhook
- Lấy Webhook Secret của bạn từ dashboard (Bạn có thể tìm thấy nó khi sửa hoặc tạo một webhook, và cũng có thể tùy chỉnh nó tại đó).

-
Tạo một endpoint mới trên máy chủ của bạn để nhận webhook.
-
So sánh chữ ký với chữ ký do máy chủ của bạn tạo ra để xác thực.
-
Nếu hai chữ ký khớp nhau, hãy xử lý webhook.
Ví dụ mã
import crypto from 'crypto'import express from 'express'const app = express()app.use(express.json())const WEBHOOK_SECRET = 'your-webhook-secret'function isVerifiedPayload(payload, signature, secret) {const hmac = crypto.createHmac('sha256', secret)const digest = hmac.update(JSON.stringify(payload)).digest('hex')return crypto.timingSafeEqual(Buffer.from(digest), Buffer.from(signature))}app.post('/endpoint/to/webhook', (req, res) => {const payload = req.bodyconst signature = req.header('x-instatus-webhook-signature')if (!signature) {return res.status(400).send('Signature missing')}if (!isVerifiedPayload(payload, signature, WEBHOOK_SECRET)) {return res.status(401).send('Invalid signature')}// Process the valid webhookres.status(200).send('Webhook received')})app.listen(3000, () => console.log('Server running on port 3000'))
Vì sao việc xác minh quan trọng
- Đảm bảo tính xác thực: Bảo đảm webhook thực sự đến từ nền tảng của chúng tôi.
- Ngăn chặn giả mạo: Phát hiện các thay đổi trong payload.
- Tăng cường bảo mật: Bảo vệ trước các cuộc tấn công phát lại và truy cập trái phép.