Skip to content

feat: Build comprehensive webhook notification system for event-driven integrations#435

Open
kokobutter-web wants to merge 1 commit into
Smartdevs17:mainfrom
kokobutter-web:feat/webhook-notification-system
Open

feat: Build comprehensive webhook notification system for event-driven integrations#435
kokobutter-web wants to merge 1 commit into
Smartdevs17:mainfrom
kokobutter-web:feat/webhook-notification-system

Conversation

@kokobutter-web
Copy link
Copy Markdown
Contributor

Summary

Implements #337 - Build comprehensive webhook notification system for event-driven integrations

Changes

Backend - Delivery Analytics

  • Added getWebhookAnalytics() to backend/src/services/webhooks.ts computing success rate, average latency, average payload size, and per-status breakdowns from delivery logs.
  • Added GET /webhooks/analytics route.

Backend - Webhook Testing Endpoint

  • Added sendWebhookTest() and getSamplePayloads() functions with sample payloads for payment.completed, payment.failed, and payment.disputed events.
  • Added POST /webhooks/test and GET /webhooks/test/payloads routes.

Backend - Per-endpoint Rate Limiting

  • Added rate-limit map keyed by webhook config URL (60 events/min per endpoint) enforced in enqueueWebhookEvent().
  • Added GET /webhooks/rate-limits route exposing current rate limit status.

Frontend

  • Added analytics dashboard to frontend/app/dashboard/webhooks/page.tsx showing success rate, avg latency, delivered count, avg payload size, and pending/failed/dead-letter counts.
  • Added "Send Test" dialog allowing merchants to send test webhooks with selectable event types.
  • Added getAnalytics, sendTest, getSamplePayloads, and getRateLimits methods to the frontend API client.

Acceptance Criteria Coverage

  • Webhook registration with secret token generation (existing)
  • HMAC-SHA256 signature for payload integrity (existing)
  • Retry queue with exponential backoff, max 5 retries (existing)
  • Delivery analytics (success rate, latency, payload size)
  • Webhook testing endpoint with sample payloads
  • Rate limiting per webhook endpoint

…grations

- Add delivery analytics (success rate, avg latency, avg payload size)
- Add per-endpoint rate limiting with configurable quotas
- Add webhook testing endpoint with sample payloads (payment.completed/failed/disputed)
- Add GET /analytics, POST /test, GET /rate-limits routes
- Update frontend webhooks page with analytics dashboard and Send Test dialog
- Update frontend API client with analytics, test, and rate-limit methods

Closes Smartdevs17#337
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 1, 2026

Someone is attempting to deploy a commit to the smartdevs17's projects Team on Vercel.

A member of the Team first needs to authorize it.

@Smartdevs17
Copy link
Copy Markdown
Owner

⚠️ Merge failed — check CI status.

🤖 Drips Wave Merge Agent

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants