π‘ Reseller WebhooksReseller webhooks deliver real-time tracking events from all your child organisations to a single endpoint β giving you a unified event stream across your entire reseller network.
π Overview
The Webhook page lets you configure webhook endpoints to receive tracking events from every organisation under your reseller account. It also includes a Live Desktop Event Feed β a real-time stream that lets you monitor incoming events directly in the dashboard without any external tooling. π Direct link: https://app.trackpilots.com/resellers/webhookβ Create a Webhook
- Go to Resellers β Webhook
- Click Add Webhook
- Fill in the form:
- Click Create Webhook
π HTTPS RequiredOnly public HTTPS URLs are accepted. Localhost, private IPs (10.x, 192.168.x, 172.16β31.x), and HTTP URLs are rejected for security reasons.
βοΈ Edit a Webhook
Click the edit icon (βοΈ) on any webhook card to open the edit modal. You can update the webhook name, URL, and subscribed events. Click Update Webhook to save changes.π‘ Supported Events
Subscribe to one or more of the following desktop tracking events:
Each event is delivered as a signed POST request to your webhook URL with the full event payload and security headers.
π Webhook Secret
Every webhook is assigned a unique secret key used to sign outgoing payloads. The secret is:- Partially masked in the UI (
first8charsβ’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’β’) - Copyable via the π copy button
- Used to verify the
x-webhook-signatureheader on incoming requests
π Webhook Card Fields
π§βπ» Sample Webhook Receiver (Node.js + Express)
Below is the exact receiver implementation for the reseller webhook endpoint.β οΈ Different from Standard WebhooksThe reseller webhook uses
express.json() (parsed JSON body) β not express.raw(). The signature is computed against JSON.stringify(req.body), not the raw buffer. Using the wrong body type will cause all signature checks to fail.π Signature Verification Formula
Store the secret in an environment variable β never hardcode it in your source code.
ποΈ Delete a Webhook
Click the delete icon (ποΈ) on a webhook card, then confirm in the modal. Deletion is immediate and permanent β no further events will be delivered to that endpoint.πΊ Live Desktop Event Feed
The Live Desktop Event Feed is a real-time dashboard panel that streams incoming tracking events from all your reseller organisations as they happen.β‘ Real-Time via Socket.IOEvents are pushed over a persistent WebSocket connection. No page refresh is needed β new events appear instantly as they arrive from employee desktops across your organisations.
π Connection Status
The top-right of the feed header shows:ποΈ Event Tabs
Tabs are shown only for event types you have subscribed to in your webhooks:
The badge on each tab shows the total number of events received in that session.
π Event Cards (Left Panel)
The left panel shows the latest 10 events for the selected tab. Each event card displays:
Every ID field has a π copy button for quick clipboard access.
New Event Highlight:
The most recently received card shows a βNew Eventβ badge (replacing the event type label) with a colored border highlight. Both disappear automatically after 3 seconds.
π Live Pool (Right Panel)
The Live Pool is a chronological log of all incoming events across all tabs (max 30 entries). Each entry shows:- Event type with color-coded dot
- Organisation name
- Timestamp + relative time
- βNew Eventβ badge on the far right for the most recent entry (disappears after 3 seconds)
π Toast Notifications
When a new event arrives, a toast notification appears in the top-right of the feed for 3 seconds showing:- Event type icon and name
- Organisation name
- Exact timestamp + relative time
β Summary
π§ͺ Test Your Webhook Before Going LiveUse the built-in Simulations tool to send a signed test payload to your endpoint and verify itβs responding correctly before processing real events.
π Reseller Simulations
