This application cannot run in the current viewer. It requires a full browser environment with JavaScript and network access.
To use this tool:
index.html file to your computerThe file is fully self-contained — no installation or server required.
Manage license keys, map installation IDs, and send routes to registered PTV Navigator devices.
Quick reference for creating routes and pushing them to PTV Navigator G2 devices. For the full integration guide — including route calculation parameters, file formats, error handling, and polling logic — download the Markdown file below.
Refer to the official PTV Developer documentation for detailed information:
The following results parameters are required when requesting a route calculation. They define what data the API response includes:
Predefined vehicle profile names from the PTV Data API are used for routing. The profile determines routing constraints such as vehicle dimensions, weight limits, and road restrictions. For example:
EUR_TRAILER_TRUCK — A standard European trailer truck profile commonly used for long-haul transport routing.
OnRoadWaypoint — A waypoint that snaps to the nearest road segment.
OffRoadWaypoint — A waypoint used to manipulate the route so it goes a different way. Unlike OnRoadWaypoints, OffRoadWaypoints do not snap to a road. By placing an OffRoadWaypoint with a radius, you force the route through a specific area, effectively changing the path the route takes. This is useful when you want to influence the routing to use a particular road or passage.
The following example shows a complete GET request combining the API endpoint, waypoints (including an OffRoadWaypoint to manipulate the route), vehicle profile, and results parameters:
Note: The second waypoint uses ;radius=20 making it an OffRoadWaypoint that manipulates the route to pass through that area.
Routes are pushed to PTV Navigator G2 with the full route geometry (GuidedNavigation) so the device follows the exact path your back-end calculated.
The route response must include all of the following:
POLYLINE,TOLL_COSTS,ROUTE_ID,LEGS,LEGS_POLYLINE,WAYPOINT_EVENTShttps://api.myptv.com/routing/v1/routesapiKey HTTP headerGEToptions[currency]=EURwaypoints query parameters. OnRoadWaypoint: latitude,longitude — OffRoadWaypoint: latitude,longitude;radius=20profile query parameter when using a predefined profile nameThe PTV Navigator Push Service lets your system send a calculated route directly to a PTV Navigator G2 device. The driver sees a notification and can accept or decline it. Your system polls a status endpoint to find out what happened. There is no callback or webhook — your system is responsible for polling until a final result is available.
Before a device can receive pushed routes, the Push Service must be enabled on that device. This feature is available with PTV Navigator G2 app version 1.7.0 and newer, and it is turned off by default.
You activate it through the device's preferences file, which is managed via remote configuration in the licensing portal:
Once the preferences file is applied, the device will accept pushed routes. If the Push Service is not enabled on the device, push requests will not reach the driver.
requestId.requestId until it gets a final status (accepted, declined, error, or timeout). You are waiting for a drivers response. Polling frequency should be >30 seconds.For guided, turn-by-turn navigation (action=navigateRoute or calcRoute), JSON is strongly recommended — it's the native output of the PTV Developer Routing API and gives PTV Navigator G2 the best route quality. BCR is a legacy format and should be treated as a fallback.
Routes are pushed as Guided Navigation: the full route JSON including polyline and legs[].polyline is sent. The device follows the pre-calculated path with turn-by-turn instructions. This requires POLYLINE and LEGS_POLYLINE in the results parameters.
Base URL: https://api.myptv.com/navigator/v1/push
All calls require ?apiKey=YOUR_LICENSE_KEY
Sent as multipart/form-data:
routeJson or routeBcr (required)calcRoute or navigateRoute (required)Poll get-result/{requestId} every 30 seconds. A response with errorTypeId: null means "not yet answered — keep polling." Any other value is final:
Pushed data is discarded automatically after 7 days regardless of outcome.
A license key groups one or more device installations. Each installation ID uniquely identifies a single PTV Navigator G2 device within a license key. When sending a route, you first select the license key to narrow down the available devices, then choose the specific installation ID of the target device.
The JSON route format is the complete Routing API response obtained with all required Results Parameters. This response is sent to PTV Navigator G2 devices without any transformation — the full JSON payload as returned by the API is the file transferred to the device.
The following example shows a complete POST request to send a route JSON file to a device. Replace YOUR_LICENSE_KEY with your license key and INSTALLATION_ID with the target device UUID:
Response: { "requestId": "91b73204-6902-4450-adcc-519bc7742183" } — save this ID for polling.
After pushing, poll the result endpoint every 10 seconds until errorTypeId is no longer null:
Pending response: { "requestId": "...", "errorTypeId": null, "params": null, "date": null }
Final response (accepted): { "requestId": "...", "errorTypeId": 0, "params": null, "date": "2026-07-20T14:35:22Z" }