Subscribe to navigation updates
When you have obtained a navigation id
through the startNavigation mutation, you can start a navigation subscription to get the turn-by-turn instructions and other subscription details. As the vehicle is approaching a charge station, a lot can happen. Therefore, we recommend subscribing to a navigation session to push updates to the navigation app when necessary. Updates can be triggered, for example, when all connectors are occupied at the planned charge stop or if the end-user takes a wrong exit. In both cases, a reroute will be triggered.
By subscribing to a navigation session, updates are pushed to the navigation app when necessary.
Subscription
The subscription service needs to be initiated with a navigation ID
. From there on it will start a navigation session and provide you with updates.
Listen to the route id
When starting the subscription always include the route_id
field. Whenever this value changes the navigation application needs to re-render the polyline. This id is updated when, for example, a wrong exit is taken and the recalculateNavigation
mutation is called.
Supported turn-by-turn providers
The instructions
field accepts three field arguments. The instructions_format
accepts two values: MapboxV5
which returns the turn-by-turn instructions mapped for the latest Mapbox SDK and Chargetrip
which can be used to map the instructions to a mapping provider that we do not yet officially support. Official support for more providers is on its way. The language
argument currently accepts English and precision
will encode the polyline with coordinates that either have 5 or 6 decimals.
For more information about upcoming providers and languages get in touch!
Arguments
id • non_null • ID
Frequently used fields
route_id • scalar • String
The current route used for navigation
state • enum • NavigationState
The state of a navigation session. The status can be driving, charging, finished, or error
state_of_charge • scalar • Float
State of charge at the last known location
next_station • object • NavigationStation
Next charging station
alternative_stations • list • NavigationStation
A set of alternative charging stations to next station
instructions • scalar • JSON
Navigation instructions
Show arguments
Other fields
id • non_null • ID
ID of the navigation session
route_id • scalar • String
The current route used for navigation
route_alternative_id • scalar • String
The current route alternative used for navigation
state • enum • NavigationState
The state of a navigation session. The status can be driving, charging, finished, or error
state_of_charge • scalar • Float
State of charge at the last known location
last_known_location • object • Point
Last known location
next_station • object • NavigationStation
Next charging station
alternative_stations • list • NavigationStation
A set of alternative charging stations to next station
instructions • scalar • JSON
Navigation instructions
Show arguments
Response
If successful, the HTTP status code in the response header is 200 and the response body contains the attributes you requested.
If unsuccessful, the header status code is an error code and the response body contains an error response object. The error response object can be any of the ones below.
Errors and warnings
NAVIGATION_INVALID_MAPPING_LANGUAGE
Mapping language is not valid
NAVIGATION_INVALID_MAPPING_PROVIDER
Mapping provider is not valid
NAVIGATION_INVALID_ROUTE_STATUS
Cannot generate instructions mapping for route with status '$ROUTESTATUS'
NAVIGATION_NOT_FOUND
No navigation session was found with the provided ID
NAVIGATION_TRANSLATOR_NOT_FOUND
Translator for language "$LANGUAGE" was not found or loaded in the translators list
ROUTE_POLYLINE_INVALID_DECIMALS
Value for decimals number is not valid. Allowed values are 5 or 6