Quick Guide: Fullstack Devs

DIMO Check-in

DIMO fullstack dev refers to developers that utilize the entire stack of the DIMO protocol, from vehicle creation to onboarding users to providing services. A typical DIMO fullstack would be the DIMO Mobile App.

If you are looking to get access to vehicles that are already connected to the network or prefer using the DIMO mobile app to onboard your customers, please refer to the quick guide in Data Devs instead.

Getting Started

To start exploring in the DIMO Network, the DIMO GraphQL is your best bet. This GraphQL API contains publicly-available data for every single connected vehicles in the DIMO Network. These public data are stored onto the blockchain and readily available via the GraphQL layer that DIMO has built.

You can simply build stuff using this publicly available API or offer more detailed vehicle data by going through the next set of steps.


Authentication

User Authentication

(Optional) To implement a user login flow, developers can simply surface a Login to DIMO (aka Code Exchange Flow) that redirects the user to https://auth.dimo.zone/auth with your set of client_id, redirect_uri, and other URL parameters.


API Authentication

(Optional) In cases where you wish to handle your own user login and not use the Login with DIMO redirect, you should learn how to build a wallet-based authentication flow into your application.


User Initiation & Creation

DIMO Check-in

🗣️ After you finish interacting with the auth server, you will have gained an access_token. Regardless of the authenticated method, you should use the access_token to hit Get Authenticated User first. The response will tell you what you should be doing next - either attaching a wallet or confirming an email.

There are two routes of user creation, depending on whether you've implemented User Login redirect or API authentication with your application.

For users created using the Web2 OAuth (Apple or Google SSO), developers will need to attach a Web3 0x wallet address to the user created. To do so, you will need to call Update Authenticated User and update the user appropriately.

When using the API authentication method, you will need to provide your end users a way to connect their Web3 0x wallet (e.g. WalletConnect integration) and use the wallet to perform the steps in the wallet-based authentication flow. Once authentication completes, your application should perform these set of actions:

  1. Send a Confirmation Email to initiate a 2FA verification email.

  2. Submit an Email Confirmation Key to conclude the 2FA confirmation.

Vehicle Onboarding Flow


Last updated