Từ webhook đến thông báo push chỉ trong một cuộc gọi HTTP

Bạn đã nhận webhook từ GitHub, Supabase hoặc backend của riêng bạn. Chuyển tiếp các trường quan trọng tới LogsNinja và cùng payload đó trở thành cảnh báo gốc và một điểm trên biểu đồ.

Workflow thất bại#deploys ·

Một webhook bạn đã nhận

Stripe, GitHub, Supabase và hầu hết các công cụ SaaS đã đẩy một payload JSON tới endpoint bạn kiểm soát ngay khi có gì đó xảy ra. Payload đó thường chỉ được ghi log, hoặc bị bỏ qua âm thầm cho đến khi có gì đó hỏng. Các trường bạn cần cho một cảnh báo đã có sẵn trong đó – bạn chỉ cần chuyển tiếp chúng.

Ba bước bên trong trình xử lý bạn đã có

Xác minh chữ ký
Ánh xạ các trường
Gửi sự kiện
TỪ WEBHOOK ĐẾN SỰ KIỆN

Một payload GitHub Actions, được chuyển tiếp thành sự kiện

Xác minh chữ ký, lấy kết luận và tên kho lưu trữ ra khỏi payload, sau đó gửi một cuộc gọi HTTP – nguyên tắc tương tự áp dụng cho Supabase, Stripe hoặc backend của riêng bạn.

$ curl -X POST https://api.logsninja.com/v1/events \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{
    "project": "YOUR_PROJECT_ID",
    "stream":  "deploys",
    "title":   "Workflow failed",
    "content": "deploy.yml on main",
    "emoji":    "🚨",
    "metadata": {"repo": "org/app"},
    "notify":   true
  }'

✓ Event received
✓ Push sent to 2 devices
# feed and chart updated

Các nguồn webhook phổ biến

Stripe

Thanh toán, hóa đơn và thay đổi đăng ký.

GitHub

Triển khai, pull request và lỗi workflow.

Supabase

Thay đổi cơ sở dữ liệu và sự kiện xác thực.

Backend của riêng bạn

Bất kỳ sự kiện nội bộ nào bạn đã phát ra dưới dạng webhook.

Triển khai an toàn

Xác minh trước khi tin tưởng

  • Kiểm tra tiêu đề chữ ký của nhà cung cấp trước khi xử lý bất cứ điều gì – GitHub, Stripe và Supabase đều ký payload của họ.
  • Giữ bí mật ký webhook và token API LogsNinja của bạn ngoài code phía client.
  • Chỉ chuyển tiếp các trường bạn thực sự cần cho cảnh báo hoặc biểu đồ, không phải toàn bộ payload.

Xử lý thử lại

  • Hầu hết các nhà cung cấp sẽ thử lại các webhook chưa gửi được – trả về 200 nhanh chóng và xử lý bất đồng bộ nếu cần.
  • Sử dụng ID gửi của nhà cung cấp làm khóa idempotency để một webhook thử lại không tạo ra cảnh báo trùng lặp.
  • Đặt notify thành false cho các sự kiện khối lượng lớn bạn chỉ muốn hiện trên biểu đồ, không phải dưới dạng push.

Xây dựng những thứ này trên bảng điều khiển của bạn

Mỗi widget dưới đây đọc cùng các sự kiện bạn vừa bắt đầu gửi – không cần tích hợp lần hai.

14
Triển khai hôm nayĐã cập nhật
1
Workflow thất bạiĐã cập nhật
3
Di chuyển cơ sở dữ liệuĐã cập nhật

Giá trị ví dụ chỉ mang tính minh họa.

Câu hỏi thường gặp

Tôi có cần một endpoint mới cho việc này không?

Không. Thêm một cuộc gọi HTTP tới LogsNinja bên trong trình xử lý đã nhận webhook, sau khi bạn xác minh chữ ký của nó.

Việc này có hoạt động với các webhook khác ngoài GitHub không?

Có. Cùng ba bước đó – xác minh, ánh xạ các trường, gửi sự kiện – áp dụng cho Stripe, Supabase hoặc bất kỳ nhà cung cấp nào gửi payload JSON đã ký.

Nếu tôi chỉ muốn một số sự kiện webhook gửi cảnh báo, không phải tất cả thì sao?

Đặt notify thành false cho những sự kiện bạn chỉ muốn hiện trên biểu đồ, và true cho những sự kiện xứng đáng có push – cả hai đều đọc cùng một payload.

Biến webhook tiếp theo của bạn thành cảnh báo.

Xem đầy đủ tính năng thông báo webhook và kết nối nhà cung cấp đầu tiên của bạn.