Webhooks API
Webhooks are the first API capability available in Scrollengine. See the full Webhooks Integration Guide for setup and configuration.
Event reference
order.created
Fired when a new delivery/pickup order is placed.
{
"event": "order.created",
"timestamp": "2026-03-13T10:00:00Z",
"data": {
"order_id": "se-12345",
"shopify_order_id": "98765",
"delivery_method": "local_delivery",
"scheduled_date": "2026-03-14",
"time_slot": "09:00-12:00",
"customer": {
"name": "Jane Smith",
"email": "jane@example.com",
"phone": "+1234567890",
"address": "123 Main St, City, State 10001"
},
"items": [
{
"name": "Product A",
"quantity": 2,
"sku": "PROD-A-001"
}
]
}
}
order.updated
Fired when order details or status change.
order.delivered
Fired when a delivery is marked as complete.
route.created
Fired when a new route is built.
route.completed
Fired when all stops on a route are finished.
Payload structure
All webhook payloads follow this structure:
| Field | Type | Description |
|---|---|---|
event | string | Event name |
timestamp | string | ISO 8601 timestamp |
data | object | Event-specific data |
Signature verification
Verify webhook authenticity using the X-Scrollengine-Signature header:
const crypto = require('crypto');
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac('sha256', secret)
.update(payload)
.digest('hex');
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}