Documentation Index
Fetch the complete documentation index at: https://developer.trackpilots.com/llms.txt
Use this file to discover all available pages before exploring further.
π§ͺ Beta FeatureReseller Webhook Simulations is currently in beta. The core functionality is stable, but additional event types and options will be added in future releases.
π Overview
The Simulations page lets you send a realistic, cryptographically signed test payload to your reseller webhook endpoint β without waiting for a real employee desktop event to fire. Use simulations to:- Verify your endpoint URL is reachable
- Confirm your HMAC signature verification logic is correct
- Inspect the exact payload structure for each event type
- Debug response errors before going live
π Real SignaturesSimulation payloads are signed with the same HMAC SHA256 algorithm as live events. Your serverβs signature verification code will work identically for both.
π How to Run a Simulation
- Go to Resellers β Simulations
- Select a Webhook from the dropdown β lists all configured reseller webhooks with their URLs
- Select an Event Type β only events subscribed to on the selected webhook are shown:
desktop.app_tracking.captureddesktop.screenshot_tracking.captureddesktop.activity_tracking.captured
- Review the Request Payload Preview (right panel) to see the exact JSON that will be sent
- Click Send Test Event
- View the Simulation Result panel for the full response details
π¦ Request Payload Preview
Before sending, the right panel shows a formatted preview of the payload that will be delivered to your endpoint. The preview updates automatically when you change the webhook or event selection. All simulation payloads include"simulation": true so you can distinguish them from live events in your server logs.
π¨ Payload Structures
App Tracking Event β desktop.app_tracking.captured
Screenshot Tracking Event β desktop.screenshot_tracking.captured
πΌοΈ imageBuffer in SimulationsIn simulation payloads,
imageBuffer contains a placeholder string instead of a real binary image. In live events, this field carries the actual screenshot binary. Make sure your server handles both gracefully.Activity Tracking Event β desktop.activity_tracking.captured
Fired when an employee switches between Work Mode and Privacy Mode on their desktop app.
workMode: trueβ Employee switched to Work Mode (tracking active)workMode: falseβ Employee switched to Privacy Mode (tracking paused)
π Simulation Result Panel
After sending, the result panel shows:| Field | Description |
|---|---|
| HTTP Status | Response code from your server (2xx = success, 4xx/5xx = error) |
| Latency | Round-trip time in milliseconds |
| Result | β Delivered or β Failed |
| Delivery Headers | The x-webhook-signature and x-webhook-timestamp headers sent with the request |
| Sent Payload | The full JSON body that was POSTed to your endpoint |
| Endpoint Response | The raw response body your server returned |
π Signature Verification
The simulation sends the same headers as a live webhook:| Header | Description |
|---|---|
x-webhook-signature | HMAC SHA256 of timestamp.body signed with your webhook secret |
x-webhook-timestamp | Unix timestamp in milliseconds when the request was sent |
β Error Reference
| HTTP Status | Error Shown | Meaning |
|---|---|---|
404 | Webhook not found | The webhook was deleted after selection |
400 | Event type not registered | The selected event is not in this webhookβs subscribed events |
503 | Service unavailable | Simulation service is temporarily down β retry in a moment |
| Network error | Network error | Your endpoint is unreachable from Trackpilots servers |
| Other | Simulation failed | Unexpected error β check your endpoint logs |
π§ͺ Test Locally with ngrok
To test simulations against a local server:- Start your local webhook server (e.g. on port
3000) - Run ngrok to expose it:
- Copy the generated HTTPS URL (e.g.
https://abc123.ngrok.io) - Create or edit a reseller webhook with this URL
- Run a simulation β your local server will receive the signed payload
β οΈ ngrok URLs are Temporaryngrok URLs change each session (on the free plan). Update your webhook URL each time you restart ngrok.
β Summary
| Step | Action |
|---|---|
| 1 | Select a configured reseller webhook |
| 2 | Choose an event type to simulate |
| 3 | Preview the request payload |
| 4 | Click Send Test Event |
| 5 | Inspect status, latency, headers, payload, and response |
π No webhooks yet?You need at least one reseller webhook configured before running simulations.
π Create a Reseller Webhook
