Webhook events
Order created
Delivered when Sign Customiser records a completed order for your organisation.
Verification
Sign Customiser delivers this webhook to your own endpoint and signs the payload with
x-webhook-timestamp
and
x-webhook-signature.
Validate both values before processing the payload.
Delivery headers
x-webhook-timestamp required
Unix timestamp used when generating the delivery signature.
Example: 1704067200
x-webhook-signature required
SHA-256 HMAC signature for the order:created payload.
Example: YOUR_GENERATED_SIGNATURE
Payload
order
Payload example
application/json
{
"order": {
"order_id": 1,
"order_number": 4,
"external_order_number": "SIGN-12345",
"external_id": "12345",
"order_total": 120000,
"app_total": 100000,
"currency": "USD",
"shipping_line": "ground",
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"company": "Acme",
"address_1": "123 Fake Street",
"address_2": "Unit 456",
"city": "Brisbane",
"state": "Queensland",
"postcode": "4000",
"country": "Australia",
"phone": "123456789",
"email": "john@example.com",
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
},
"shipping_address": {
"first_name": "John",
"last_name": "Doe",
"company": "Acme",
"address_1": "123 Fake Street",
"address_2": "Unit 456",
"city": "Brisbane",
"state": "Queensland",
"postcode": "4000",
"country": "Australia",
"phone": "123456789",
"email": "john@example.com",
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
},
"customer": {
"first_name": "John",
"last_name": "Doe",
"phone": "123456789",
"email": "john@example.com",
"external_id": "1234",
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
},
"products": [
{
"product_image_url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"product_id": 1,
"title": "Custom Neon: Hello World",
"description": "Text: Hello World\nColour: Red\nFont: Comics",
"description_html": "<p>Text: Hello World</p>\n<p>Colour: Red</p>\n<p>Font: Comics</p>",
"external_id": "1234",
"external_data": [],
"price": 10000,
"compare_price": 15000,
"customiser_id": 1,
"logo_upload_id": null,
"uploads": [
{
"url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"path": "app-images/demonstration_image_1.jpg",
"type": "product_image"
}
],
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
}
],
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
}
} Order created
curl https://your-app.example.com/sign-customiser/webhooks \
--request POST \
--header 'Content-Type: application/json' \
--header 'x-webhook-timestamp: 1704067200' \
--header 'x-webhook-signature: YOUR_GENERATED_SIGNATURE' \
--data '{
"order": {
"order_id": 1,
"order_number": 4,
"external_order_number": "SIGN-12345",
"external_id": "12345",
"order_total": 120000,
"app_total": 100000,
"currency": "USD",
"shipping_line": "ground",
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"company": "Acme",
"address_1": "123 Fake Street",
"address_2": "Unit 456",
"city": "Brisbane",
"state": "Queensland",
"postcode": "4000",
"country": "Australia",
"phone": "123456789",
"email": "john@example.com",
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
},
"shipping_address": {
"first_name": "John",
"last_name": "Doe",
"company": "Acme",
"address_1": "123 Fake Street",
"address_2": "Unit 456",
"city": "Brisbane",
"state": "Queensland",
"postcode": "4000",
"country": "Australia",
"phone": "123456789",
"email": "john@example.com",
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
},
"customer": {
"first_name": "John",
"last_name": "Doe",
"phone": "123456789",
"email": "john@example.com",
"external_id": "1234",
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
},
"products": [
{
"product_image_url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"product_id": 1,
"title": "Custom Neon: Hello World",
"description": "Text: Hello World\nColour: Red\nFont: Comics",
"description_html": "<p>Text: Hello World</p>\n<p>Colour: Red</p>\n<p>Font: Comics</p>",
"external_id": "1234",
"external_data": [],
"price": 10000,
"compare_price": 15000,
"customiser_id": 1,
"logo_upload_id": null,
"uploads": [
{
"url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"path": "app-images/demonstration_image_1.jpg",
"type": "product_image"
}
],
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
}
],
"created_at": "2025-10-22T00:55:09+00:00",
"updated_at": "2025-10-22T00:55:09+00:00"
}
}' Response to return 200
{
"ok": true
}