إنتقل إلى المحتوى الرئيسي

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:

FieldTypeDescription
eventstringEvent name
timestampstringISO 8601 timestamp
dataobjectEvent-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)
);
}