Build Etsy webhook receiver (endpoint + signature verification) #25

Open
opened 2026-08-20 23:30:12 -06:00 by angel · 0 comments
Owner

Etsy now supports webhooks for order.paid, order.canceled, order.shipped, and order.delivered (https://developers.etsy.com/documentation/essentials/webhooks/#available-events) - no inventory webhook yet, but order events are real.

Nothing like a webhook receiver exists yet in domains/platforms/etsy - only the OAuth connection flow is built. Add:

  • an HTTP endpoint (alongside the existing OAuth callback in server/api/webhooks/etsy) that accepts POSTed webhook deliveries
  • HMAC-SHA256 signature verification using the webhook-id/webhook-timestamp/webhook-signature headers and a signing secret retrieved from Etsy's Webhook Portal
  • parsing the {event_type, resource_url, shop_id} payload and dispatching by event_type

This is the foundation both the webhook-based order sync ticket (#8) and the event-driven inventory refresh ticket (#27) build on. See also #26 for subscribing to these events.

Etsy now supports webhooks for `order.paid`, `order.canceled`, `order.shipped`, and `order.delivered` (https://developers.etsy.com/documentation/essentials/webhooks/#available-events) - no inventory webhook yet, but order events are real. Nothing like a webhook receiver exists yet in `domains/platforms/etsy` - only the OAuth connection flow is built. Add: - an HTTP endpoint (alongside the existing OAuth callback in `server/api/webhooks/etsy`) that accepts POSTed webhook deliveries - HMAC-SHA256 signature verification using the `webhook-id`/`webhook-timestamp`/`webhook-signature` headers and a signing secret retrieved from Etsy's Webhook Portal - parsing the `{event_type, resource_url, shop_id}` payload and dispatching by `event_type` This is the foundation both the webhook-based order sync ticket (#8) and the event-driven inventory refresh ticket (#27) build on. See also #26 for subscribing to these events.
angel added this to the Etsy Integration milestone 2026-08-20 23:30:12 -06:00
angel added this to the MVP project 2026-08-20 23:49:47 -06:00
Sign in to join this conversation.