0. Sign Up - Getting Started

If you are already a Smartlane user, you can start right away with the following section. Otherwise, our sales team is looking forward to your request: c

Your registered email address is used as your user name and in combination with your private password, you're ready for authentication with our API.


Data privacy and security

All API calls are secured by SSL via HTTPS, so you don't have to worry about anybody intercepting your data via the Internet. All supplied data are stored securely on professionally operated servers in Germany and they are only accessible by the API itself - they cannot be accessed by anyone outside the application. The API itself is secured by a user name and password, which are supplied only to you during the registration process. Of course, passwords are always stored as encrypted hashes and thus are never readable by anybody.


Next to being accessible exclusively via https, all API calls (exceptions aside) are secured by JWT tokens. That means you always need to provide an authorization header with a security token.

The token is generated via a POST request to the API endpoint /auth, with your registered email address and password information in the body:

curl --request POST \
     --url 'https://dispatch.smartlane.io/your_company_name/auth' \
     --header 'Content-Type: application/json' \
     --data '{"email": "[email protected]", 
              "password": "your_choosen_password"}'
import requests

url = "https://dispatch.smartlane.io/your_company_name/auth"
login = {'email': '[email protected]', 'password': 'your_choosen_password'}

response = requests.post(url, json=login)
jQuery, yet to be added

If done successfully, this responds with a JSON body containing the access_token,

{'access_token': 'your.Long_Randomfghxlcnebem.Secure_AccessToken'}

which can - and must - be used for all further API calls in the request header in the following form as a JSON object:

{'Authorization': 'JWT your.Long_Randomfghxlcnebem.Secure_AccessToken'}

Please make sure that you don't miss the mandatory JWT prefix!


API Endpoint URLs

All URLs of the API requests are composed of the the base url https://dispatch.smartlane.io/your_company_name plus /api and the /name of the API endpoint. The only exception is the call to /auth, where /api is absent.

Basic API Requests

Now that we've got our JWT access token, we can actually try making the first call to our API. As an example, it may serve a request to the /company endpoint,
which contains the data you provided with your registration.

curl --request GET \
     "https://dispatch.smartlane.io/your_company_name/api/company" \
     --header "Authorization: JWT your.Long_Randomfghxlcnebem.Secure_AccessToken"
import requests

api_url = "https://dispatch.smartlane.io/your_company_name/api/company"

auth_header = {'Authorization': 'JWT your.Long_Randomfghxlcnebem.Secure_AccessToken'}

response = requests.get(url, headers=auth_header)

If everything goes right, the response is a HTTP status code 200 containing a body similar to

{'num_results': 1,
 'objects': [{'companyname': 'Your_company_name',
              'id': 1,
              'location_id': 1,
              'pricing_package': 500,
              'test_phase': True}],
 'page': 1,
 'total_pages': 1}

Yay, now you know what your companyname is! Great success, but there are also some other bits of information, like the location_id, so check out the first chapter on geocoding addresses to figure out whats up with that, or jump directly to chapter 3 if you don't care about all those details and start optimizing your first tour right away.


It's all JSON

All request bodies and headers, as well as the produced responses, are exclusively of the type application/json.


Request limit

There is a general limit of 200 API requests per second. If more requests are called, the response will be 429 Too Many Requests. If you need a higher request frequency, please let us know at [email protected]