Skip to content

feat(notification): implement subscription webhook system with event filtering (#926) - #1081

Open
Steddy0 wants to merge 1 commit into
Smartdevs17:mainfrom
Steddy0:feat/subscription-webhook-event-filtering
Open

feat(notification): implement subscription webhook system with event filtering (#926)#1081
Steddy0 wants to merge 1 commit into
Smartdevs17:mainfrom
Steddy0:feat/subscription-webhook-event-filtering

Conversation

@Steddy0

@Steddy0 Steddy0 commented Aug 29, 2026

Copy link
Copy Markdown

Summary

Closes #926. Implements the subscription webhook delivery system with event filtering and wildcard subscription support across backend notification services and the developer portal.

Changes Made

  • Webhook Delivery Engine (backend/services/notification/webhook.ts): Complete webhook delivery pipeline with HMAC-SHA256 signature verification, exponential backoff retries, dead-letter queue (DLQ) support, 24-hour idempotency de-duplication, and auto-disabling on 410 Gone.
  • Event Filtering & Wildcards (backend/services/notification/webhooks.ts, backend/services/webhook/): Wildcard matching support (*, subscription.*, payment.*, etc.) enabling merchants to subscribe to broad categories or specific lifecycle events.
  • REST Management API (backend/services/notification/webhookManagementApi.ts): Unified CRUD endpoints for endpoint registration, updating, pausing/resuming, secret rotation with overlapping grace periods, testing, and delivery replay.
  • Developer Documentation & OpenAPI Specs (developer-portal/): Complete integration guide with HMAC verification examples, payload schema reference, testing tools, and OpenAPI 3.1.0 specifications.

Pull Request Checklist

Quality Gates (All must pass before merge)

  • Lint: Code passes ESLint checks cleanly
  • Type Check: TypeScript compilation verified
  • Tests: All unit and integration test suites pass (18 webhook tests, 35 developer portal tests)
  • Build: Project builds successfully

Additional Requirements

  • New code has appropriate TypeScript types
  • No hardcoded secrets or credentials
  • New features have corresponding tests
  • Documentation updated

Closes #926


This PR will not be mergeable until all quality gates pass.

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.

Build subscription webhook system with event filtering

1 participant