Generate an Access Token

After Motive associates your application to the master fleet, you must generate an access token for your company.

πŸ“˜

NOTE

You must implement an event listener that must capture the authorization code generated by Motive. This code is critical for generating the access token.

You must take the following two steps for generating your access token.

Step 1: Trigger the initial OAuth call

  1. Log in to your fleet on the Motive platform.
  2. Paste the following link. Ensure to add your own parameters for the variables.
    1. https://gomotive.com/oauth/authorize?client_id=<YOUR_CLIENT_ID>&redirect_uri=<YOUR_RE
      DIRECT_URI
      >&response_type=<code>&scope=<freight_visibility.manage>
VariableDescription
client_idEnter your client_id that is generated by Motive.
redirect_uriEnter the redirect URI that you enter when creating your company.
response_typeEnter the code of the response type.
scopeSet the scope as "freight_visibility.manage"

The platform will redirect you to the corresponding URL, and prompt you to install the app.

  1. Click Install.
    You will be redirected to the provided URI. The Motive platform will also generate an authorization code and append the same to the URL.
  2. Make a note of the authorization code that is captured by your listener.

Step 2: Generate an access token

  1. Call the following endpoint:
  2. curl -X POST 'https://keeptruckin.com/oauth/token' -d
    'grant_type=authorization_code&code=<AUTH_CODE>&redirect_uri=<REDIRECT_URI>&client_id=
    <CLIENT_ID>&client_secret=<CLIENT_SECRET>’
    
    Ensure to add the following variables:
VariablesDescription
grant_typeMention the grant type as "authorization_code".
codeSpecify the authroization code that is generated by Motive and capture by your listener.
redirect_uriSpecify the redirect_uri that you mention during the creation of your application.
client_idSpecify your client_id
client_secretSpecify your client_secret

After you make the POST call, you will receive from the platform with the following info:

{
"access_token": "YOUR ACCESS TOKEN",
"token_type": "Bearer",
"expires_in": 7200,
"refresh_token": "YOUR REFRESH TOKEN"
}

Now you have successfully generated your access token.

πŸ“˜

NOTE

The access token is only valid for a period of 2 hours, prior to which the access token will expire. If you want to generate a new access token, you must repeat Step 2 and make a POST call again with the following modifications:

curl -X POST 'https://keeptruckin.com/oauth/token' -d
'grant_type=refresh_token&refresh_token=YOUR_REFRESH_TOKEN_HERE&redirect_uri=RE
DIRECT_URI&client_id=CLIENT_ID&client_secret=CLIENT_SECRET’
VariablesDescription
grant_typeSpecify the grant type as refresh_token.
refresh_tokenEnter the refresh token to generate a new access token,
redirect_uriSpecify the redirect_uri that you mention during the creation of your application.
client_idSpecify your client ID.
client_secretSpecify the client secret.

πŸ“˜

NOTE

The TTL for the access token is time based, and the TTL for the refresh token is based on the usage. Access token expires after 2 hours of it's generation where as the refresh token expires as soon as it is used.