E-commerce
Etsy Webhooks
Handmade and vintage marketplace. Receive events for shop receipts, listings, and transactions.
Connecting Etsy to Hookbase
Create a source in Hookbase first โ it gives you an ingest URL to paste into Etsy. Then:
- 1Go to Etsy Developer Portal โ Your App
- 2Register a webhook endpoint with your Hookbase ingest URL
- 3Select the event types to subscribe to
- 4Copy the signing key and add it to your Hookbase source
Signature verification
Etsy signs its webhooks with HMAC-SHA256 in X-Etsy-Signature, and Hookbase has no verifier for that combination today. We would rather say so here than let a source report every event as verified while nothing was checked.
What you can do:
- Receive them on a
customsource with no signing secret. Hookbase still dedupes, retries, transforms, routes and replays them; it just does not vouch for the sender. - Set a signing secret anyway if Etsy can be configured to send a hex HMAC-SHA256 of the raw body in
X-Signature,X-Webhook-SignatureorX-Hub-Signature-256โ that is the one scheme the custom verifier implements. - Verify downstream: the original headers travel with the event, so your own service or a transform can check the signature itself. The key is at Etsy Developer Portal โ Your App โ Webhook signing key.
- Narrow the blast radius with an IP allowlist and a hard-to-guess source slug.
Etsy event types
6 of the events people route most often. Hookbase accepts every event Etsy sends, whether or not it is listed here.
receipt.created
A new order receipt was created
receipt.updated
An order receipt was updated
listing.created
A listing was created
listing.updated
A listing was updated
listing.deactivated
A listing was deactivated
transaction.created
A transaction was completed
What a Etsy webhook looks like
A receipt.created payload. Hookbase stores the raw body exactly as it arrived, so this is also what you get back on a replay.
{
"type": "receipt.created",
"shop_id": 12345678,
"receipt_id": 2345678901,
"data": {
"receipt_id": 2345678901,
"buyer_email": "buyer@example.com",
"name": "Jane Buyer",
"total_price": {
"amount": 4500,
"divisor": 100,
"currency_code": "USD"
},
"transactions": [
{
"title": "Handmade Mug",
"quantity": 1,
"price": {
"amount": 4500,
"divisor": 100,
"currency_code": "USD"
}
}
],
"create_timestamp": 1678901234
}
}Start receiving Etsy webhooks
Create a source, paste the URL into Etsy, and watch the first event arrive. The free tier includes 1,000 events a month.
Get Started Free