Sign Customiser

Delivered when Sign Customiser records a completed order for your organisation.

WEBHOOK order:created

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 string header required

Unix timestamp used when generating the delivery signature.

Example: 1704067200

x-webhook-signature string header required

SHA-256 HMAC signature for the order:created payload.

Example: YOUR_GENERATED_SIGNATURE

Payload

order object body

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
}