Order completion webhooks for Printie partners
Send every fulfilled order to your own stack with a structured webhook payload.
When we mark an order complete in Printie we can now push the full fulfillment payload to your webhook URL. That means tracking numbers, design files, SKU details, and costs land in your system instantly without polling.
Why this matters
- Automate post-fulfillment ops: Trigger CRM updates, warehouse notifications, or a custom customer email sequence as soon as tracking exists.
- Keep a single source of truth: Mirror Printie fulfillment events into your ERP, analytics layer, or a simple Google Sheet.
- Stay flexible: Any HTTPS endpoint works—serverless functions, Zapier, Make, or your own API.
How it works
- Open Account Settings → Order Completion Webhook.
- Paste an
https://(orhttp://for testing) endpoint up to 2000 characters. Leave it blank to turn the webhook off. - Click Send test to push a mocked payload (see below) to the saved URL. This is the fastest way to verify your endpoint before live orders trigger it.
- Every time we write a fulfillment record, we POST the payload below to your URL. Network failures are logged but do not block order completion.
Payload snapshot
Here is a trimmed example:
{
"event": "order.completed",
"version": "2025-11-20",
"fulfillmentId": "user-abc_1234",
"completedAt": "2025-11-20T18:45:00.000Z",
"order": {
"orderId": "1234",
"orderNumber": "A-1234",
"status": "Completed",
"customer": { "name": "Jane Doe", "email": "customer@example.com" },
"shipping": {
"carrier": "ups",
"trackingNumber": "1Z999",
"trackingUrl": "https://track/1Z999",
"labelUrl": "https://labels/label.pdf",
"cost": 12.5
},
"totals": {
"totalQuantity": 2,
"totalCost": 30
},
"items": [
{
"sku": "SKU-1",
"title": "Widget",
"quantity": 2,
"designFiles": [
{
"designId": "cfg-1",
"designName": "Cfg",
"quantity": 1,
"filamentType": "PLA",
"selectedFilaments": [],
"costData": { "totalCost": 15 }
}
]
}
]
},
"metadata": { "partner": null }
}Key fields to expect:
fulfillmentId: mirrors the fulfillment historyshipping.trackingUrl/shipping.trackingNumber: ready for customer notifications.items[].designFiles[]: the exact design files used, including filament selections.totals.totalCost: total fulfillment cost
Tips for consuming the webhook
- Verify quickly: Respond with
2xxto confirm receipt; non-2xx responses are logged but do not retry automatically. - Secure the endpoint: Add an allowlist for Printie IPs or a shared secret header on your side.
- Map to your stack: Turn the payload into a customer email, a CRM timeline event, or a row in your BI warehouse.
- Test fast: Use Send test on Account Settings or point to a request catcher (e.g., webhook.site) before live traffic hits your endpoint.
Want more automation ideas? Visit our How it works page to see where fulfillment fits in the broader Printie flow.