Overview
Pluggable Routing provides you with the ability to compute routes on demand using your navigation engine of choice. You can deliver these computed routes directly to your users for display in Trip Planner and for turn-by-turn navigation within the mobile app.
You can choose to use Pluggable Routing on a per-load basis via the router property within the Loads response. The user must use the load’s configured routing engine within the mobile app, and cannot choose to instead use the built-in Platform router.
NOTE: To allow users to view or edit pluggable routing options before navigating, you must enable the route options form and develop a routing schema to ensure the form displays the correct attributes. To opt in to this new route options form, you must contact support@eleostech.com.
How It Works
The Platform manages Pluggable Routing by synchronizing schema data between your routing web service and the mobile app. The process follows a specific lifecycle to ensure your routes compute correctly and validate against your engine requirements.
When you build your pluggable routing integration, your server performs two distinct roles:
Providing Configuration Rules
Your services supply the Platform with your available routers and specific options. The Platform uses this data to understand the rules and constraints for a specific load. The Platform calls this service when you request a schema synchronization to update its cached copy of your routing requirements.
Computing the Route
The Platform sends a POST request to your server to actively process the routing data. Your engine then calculates the path and returns the route geometry for the mobile app to display. The routing options you provide to this endpoint match the routing option schema provided by your routing schemas response, alongside any specified global options.
The authorization mechanism for computing a route differs from other platform client integration services because this service facilitates third-party routing integrations. You must configure the authorization header value for this endpoint using your routing schemas endpoint.
NOTE: The Platform does not currently provide a user interface in App Manager for configuring Pluggable Routing schemas. You must use the router schema and synchronization services to configure these schemas.
Validation and Fallback
The Platform validates the options you provide in the loads operation against your cached schema. If the options fail to validate, the Platform disables trip planning and navigation for that load. You can monitor these validation errors in the Error Console within App Manager.
You can enable a fallback mechanism to the default HERE navigation engine. If you do not enable this fallback and the custom route calculation fails, the route fails completely for the user.
Load Integration
To activate your configured router, you must modify your Loads response by completing the following steps:
Set the
router.engineproperty on each load to match a name you identify in your routing schema response.Set the
router.optionsproperty on each stop to define your specific route parameters.
WARNING: Road network data can differ between navigation providers. Test your routes to ensure that the road network used by your server matches the mobile app navigation experience. This discrepancy is most likely to present an issue if your business regularly operates in remote areas with unmarked roads.