Smartcar is an API that allows mobile and web applications to communicate with vehicles across brands (think “check odometer” or “unlock doors.”). This tutorial will help you get up and running with the Smartcar API.

In this tutorial, we will use the Node SDK and Express to create a simple server-side rendered web application that displays your car’s information.

How Smartcar works with server-side rendered applications

Server-Side Rendered Application Architecture with Smartcar’s API.

  1. The Application redirects the user to Smartcar Connect to request access to the user’s vehicle. In Connect, the user logs in with their vehicle credentials and grants the Application access to their vehicle.
  2. The user’s browser is redirected to a specified redirect_uri. The Application Server, which is listening at the redirect_uri, will retrieve the authorization code from query parameters sent to the redirect_uri.
  3. The Application sends a request to the Smartcar API. This request contains the authorization code along with the Application’s client id and client secret.
  4. In response, Smartcar returns an access_token and a refresh_token.
  5. Using the access_token, the Application can now send requests to the Smartcar API. It can access protected resources and send commands from and to the user’s vehicle, such as retrieve the location and unlock the doors.

How this tutorial is structured

Follow along with our integration tutorial to build our simple web application.

This tutorial is split into three sections:

  1. Setup - Set up your environment to develop on Smartcar
  2. Authorization flow - Learn about Smartcar Connect and how to get an authorization code
  3. Send a request - Learn how to exchange an authorization code for an access_token required to send a request to Smartcar

Let’s get building!