API & SDKs
Enterprise subscribers can access their API key by clicking “My Account” → “API”.
Route4Me has multiple SDK’s which connect to our server-side service. Each Route4Me SDK contains all the necessary code samples and tools for you to use when planning optimal routes or managing your Route4Me account.
Typically Route4Me SDK’s reflect all the capabilities of our server-side RESTful API. This means that they are broken up into sections that are outlined in Route4Me’s API Documentation.
The main sections at the time of this article are:
-
Optimizations
-
Routes
-
Orders
-
Addresses
-
Geocoding
-
Tracking
-
Members
-
Notes
-
Vehicles
-
Activity Feed
-
Address Book
-
Avoidance Zones
-
Territories
Each of these sections or API groups are accessible through the SDK.
For example, to create a new route, you would create an optimization, then get back a series of optimized routes. Subsequently, you could manage all the routes and their corresponding information by using the Routes API.
When you make an API call to Route4Me with a valid API key, we store your API request and all the data that is associated with your transaction. As your route progresses in its lifecycle from planned, in-progress, and completed, additional information may accumulate about your route.
This data is also stored in our system, this may include GPS coordinates gathered from a smartphone device, notes input by a driver, or notes sent to the route from a 3rd party system. At any time, you can retrieve information about a route and take a backup copy of it for use inside your own system. Once you are done, you can erase one specific route or all of your routes.
This means that your desktop application, mobile application, or any other form of software client can connect to our system using the HTTPS protocol. Once you connect to our system directly to the API or using our SDKs, you can create, read, update, or remove data associated with your API key from our system.
We store all data associated with your routes, addresses, their coordinates, information gathered from the field, etc.
Once the big data processing is completed in Route4Me, we leave it up to our SDK users to decide how to display or render the information. For example, our response is a JSON data object for each API request.
It is up to the developer to decide how to display the information to their customer. Some developers may want to show the list of addresses in a table, others may want to use a gantt chart, others may want to show it on a table, gantt chart, and a map.
Route4Me uses maps, navigation, and routing extensively behind the scenes. However, Route4Me’s maps cannot be embedded into your application unless you use an iframe to embed Route4Me’s own Route Viewer.
The Route Viewer is our proprietary embeddable and portable way of showing a route, route destinations, and route map inside one container that you can easily insert inside your web-enabled desktop or mobile application.
However, if you want complete customization of how your route looks on a map, such as route colors, alignment changes, the look and feel, etc. then the developer must embed their own copy of Google Maps or similar service.
The cURL SDK is actually a collection of examples in raw HTTP format of how you interact with our API. cURL is used on virtually every Linux server and is also Windows compatible. It is unlikely that you would ever use cURL in production because you would incorporate one of our SDKs. However, it is extremely helpful to understand the low-level API’s and how the system works.
The cURL SDK is not required and is for reference purposes only, especially when you are using any of the other language’s SDK.
We tried to capture the most commonly asked about example methods inside our SDK examples. They are a subset of all our current capabilities but represent a strong set of tools that you can use to build almost any application using our API.
Command line and console format are the simplest types of applications to minimally demonstrate the capabilities of a program and its functionality. You can disable the command line output at any time and incorporate 100% of our functionality into a desktop or mobile application that has a GUI.