With demand for services from connected car users at an all-time high, it’s time for app developers and third party services to connect to cars on the road, making use of connected car APIs to gather personalised car data.
At HIGH MOBILITY we have designed our platform to make the transition from development to production as seamless as possible. Here is a guide to connecting to — and reading car data from — vehicles on the road today.
In this post we’ll be looking at:
- The differences between Develop and Production
- Making a production application
- The consent flow
- Pricing for API access
- Accessing data from multiple vehicles
Put simply, in this article you’ll find everything you need to know once you’ve finished experimenting with the emulators and simulations and you’re ready to launch your first app with access to car data.
Development vs. Production
Until now, our site has featured the Develop and Pilot sections. In the Develop section, it’s possible to create and test applications using our vehicle emulators, which respond to API commands the same way real vehicles do.
The Develop section features dozens of “concept” APIs. These APIs are not yet available in production, but are being considered by manufacturers for future vehicles; this permits the creation and testing of apps for cars which are not yet on the road today.
If an app makes use of concept APIs, it can be submitted as a Pilot. Pilots are prototype applications which are reviewed by and receive special attention from connected car manufacturers.
Now that car data is accessible, we are proud to announce the introduction of the new Production section. Because they connect to real cars, apps created in the Production tab have access to live APIs only. Also, bear in mind that not all car manufacturers offer access to every live API.
What it’s also important to be aware of is that although the APIs in the emulators respond instantly to changes in the vehicle state, vehicle data is sometimes updated more sporadically. For instance, a vehicle might only send data every time its doors are locked or unlocked — but not during a trip. In any case, HIGH MOBILITY’s APIs always provide the latest vehicle data available from the manufacturer.
For further reading, please see our article about the field test we conducted with BMW CarData. We‘ll be performing more field tests with a variety of other manufacturers and publishing our findings here over the coming months.
Creating and submitting a production application
Once an application has been tested in the Develop section — using the APIs which are currently live — it is ready to go into Production.
The first steps to create an application are the same in the Production part of the platform as they are in the Develop section: create an app and then select the desired permissions.
After selecting the desired permissions, hover over the ‘permissions available” column for each car maker to see which of the selected permissions they currently offer.
Once an app has been submitted for production, HIGH MOBILITY will review it and confirm that it conforms to the guidelines passed down from the car makers.
Changing OAuth Credentials
Now the magic happens! Once the app has been approved, moving to Production is as simple as using the new OAuth parameters, which point toward the production server rather than to the vehicle emulator.
(As soon as a production app is created, even when it’s a draft, the OAuth credentials are available and you should use them before submitting the app. The HIGH MOBILITY team can then test the app with a “verification emulator” when needed. Once the app is approved by the team here, the credentials are released for the Production environment and are ready to be used with connected vehicles.)
When the app calls the API using these new credentials, the data provided in the response will correspond to an actual car.
It’s important to us as a company, as well as to the third parties who use our platform and the car makers that the car owner decides for themselves which data they wish to share with third parties. For this consent flow we use an OAuth2 flow — which will be detailed in an upcoming post. Though there are subtle differences between the flow depending on the car maker in question, our platform ensures that the differences are transparent to you, the developer. Here are the steps in the authentication flow:
- The third party service redirects the end-user to our platform in the browser so they can select the car brand
- The end-user follows the authorisation sequence, approving requested permissions and verifying car ownership with the car maker
- The end-user is redirected to the app’s redirect_uri with the authorisation code
- The app exchanges the authorisation code for the access token, which is used to call the API
With the access token, it is possible to get the latest car data from the end-user’s vehicle. For fleet management, please contact us.
For more information on the consent flow, please visit our Learn Pages.
Pricing and Request Limits
Data access specifics vary according to each car maker. You’ll see on our pricing pages we provide you with an estimator to help you calculate how much your data access is likely to cost. However don’t forget this is just an estimator, not an exact price. You’ll be given the final price in the Production section, when you have selected the permissions. You will also be presented with the final checkout summary at the end of the whole process before you commit to purchasing.
For more information — and a pricing estimator, please see our pricing page.
With our universal Auto API, accessing car data from multiple car manufacturers has never been easier. With a single integration, it is now possible to access data from BMW, Mini, and Mercedes-Benz vehicles — with more manufacturers coming soon. As you’ve seen in this post, this latest platform development ensures that the transition from development to production is streamlined and transparent. All you need to do is fill out a short application, use the new credentials and point your app toward the production server — it really is as simple as that!
When you are ready to move an app from Develop into Production, don’t be afraid to reach out to us: we are always here to help. Drop us a message on our Slack channel with any questions or feedback you may have.
Thanks for reading! Don’t forget to come back to read our next article, It’s Not Either/Or: Making Use of Multiple Data Sources. In it we’ll be looking at how the use of other APIs can enable the creation of new types of apps and services. In the meantime, check out Develop and Production over on the HIGH MOBILITY platform now!