Skip to content

Webhook subscribers

Insight, then Webhook subscribers. A subscriber is a URL of yours that receives an HTTP POST when something happens in your shop.

Webhook subscribers

Creating one

FieldMeaning
NameWhat it is, for your reference
URLWhere to POST, https://example.com/webhook
CustomerScope to one customer, or leave blank for all events
EventsWhich events to receive
ActiveOff stops deliveries without deleting the subscriber

Events

EventFires when
order.stage_changedAn order moves stage
order.dispatchedAn order reaches Dispatched
invoice.issuedAn invoice is issued
invoice.paidAn invoice is paid
artwork.approvedA customer approves artwork
*All of the above

Verifying a delivery

Each POST carries:

HeaderValue
X-PF-EventThe event name
X-PF-Signaturesha256= plus an HMAC-SHA256 of the raw body, keyed with your subscriber's secret

Compute the HMAC over the raw request body and compare in constant time. Reject anything that does not match: an unverified webhook endpoint is an open door.

Retries

Failed deliveries retry 5 times with backoff of 1 minute, 5 minutes, 15 minutes, 1 hour and 4 hours. Design your endpoint to be idempotent: the same event can arrive more than once, and treating a duplicate as new is how you end up with double records.

Return a 2xx quickly. Do the work asynchronously on your side rather than holding the connection open; deliveries time out after 10 seconds.

Plan gate

Webhooks need Premium or above. On a lower plan your subscribers stay saved and deliveries stop, with the reason logged rather than silently dropped. Nothing is deleted, and moving back up resumes them.

Full reference

Payload shapes and a worked verification example are in webhook events.

Printer's Friend - software for apparel print shops