Webhook events
Product created
Use this as the product creation callback for custom integrations. When a customer finishes a design, Sign Customiser POSTs this payload to the create-product URL configured on your custom integration. Verify the signature, create the product in your own platform, then return a 200 JSON response containing the external_id you will later send in POST /api/v2/orders .
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
Unix timestamp used when generating the delivery signature.
Example: 1704067200
SHA-256 HMAC signature for the product:created payload.
Example: YOUR_GENERATED_SIGNATURE
Payload
Payload example
{
"product": {
"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,
"product_image_url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"uploads": [
{
"url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"type": "product_image"
}
],
"created_at": "2024-01-01T00:00:00.000000Z",
"updated_at": "2024-01-01T00:00:00.000000Z"
}
} 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 '{
"product": {
"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,
"product_image_url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"uploads": [
{
"url": "https://d1no4rdxmwcuog.cloudfront.net/default/app-images/demonstration_image_1.jpg",
"type": "product_image"
}
],
"created_at": "2024-01-01T00:00:00.000000Z",
"updated_at": "2024-01-01T00:00:00.000000Z"
}
}'{
"external_id": "your-product-id-123"
}