Tag Archives: API

API Dynamic Documentation

Writing documentation for any software product is a significant challenge.  There’s the obvious of course, how each function works targeted at end-users.  For TimeControl that’s quite straightforward.  Our User Guide is about 100 pages (a little longer for TimeControl Industrial as it has to cover the use of Crew Timesheets and Materials).  It’s under the covers that Documentation takes on more significance.

With a product like TimeControl, the level of flexibility and configuration that is possible with the product makes those elements of documentation much longer.  No client needs to know everything about how to configure every element of TimeControl as clients only need to focus on that functionality and those processes that are specific to their needs.  But there’s still a lot of it.  The TimeControl Industrial Reference Guide is over 600 pages long.  There’s also the TimeControl Report Designer Guide that is a little over 200 pages, the soon to be defunct legacy guide at 48 pages, the Installation Guide for on-premise clients at 90 pages and the TimeControl Project Guide at 44 pages so far.  It’s a lot.  There are variations on those guides to accommodate TimeControl on-premise vs. TimeControl Online and TimeControl vs. TimeControl Industrial.

There’s more of course.  The website has numerous white papers and other collateral like videos and webcasts to talk more about specific solutions and processes.  And, there is this blog where we try to add detail to things that need to be showcased or clarified for specific circumstance.

While all of that may seem like a lot, there is another category of documentation we haven’t talked about and that is the API Guide.   The TimeControl API is the Application Programming Interface that lets you write programming code directly to the TimeControl  Server service to allow it to integrate with actions from other applications.

The API Guide is not an indexed PDF like the other guides.  It is dynamic.  The API Guide includes static elements which HMS has created to show how to authenticate, how to initiate code to access the API and more.  Topics include Authentication, Security, Errors, how to scale, versioning, rate limiting, OData support along with Examples and a complete list of Endpoints.  For each EndPoint you can see all possible operations and for each operation, there is example code.  Any changes to the API cause automatic updates to the API Guide so it is impossible for it to be out of date.

Taking advantage of the API requires expertise in both programming and TimeControl operations and the API Guide itself has the potential to execute code directly on TimeControl.  This can and should be prevented for most users by not giving API security authentication to most User Profiles.

Creating API code and executing it should be done in a sandbox first to make sure it will deliver the functionality you expect.  It’s a powerful tool for integration with other systems to extend functionality but should be used with care and caution.

This is the most flexible type of documentation we’ve ever included in TimeControl and it’s worth a look.

API – the Ultimate in integration

TimeControl has long been known as one of the most flexible and integrate-able timesheet systems in the industry.

In virtually every TimeControl deployment we are called upon to weave the timesheet data into a much larger business process.  At one time we focused more on doing this from database to database but as more and more systems (including TimeControl) became available as in-the-cloud subscription services, we had to broaden our approach. In 2017 we released a full service RESTful API included with all TimeControl versions.

The ultimate in TimeControl integration is almost certainly the Application Programming Interface (API) which is included with both TimeControl Online and TimeControl on-premise.  This module allows data and processes to be access both for pulling information out of TimeControl and for putting information into TimeControl.  Within the API we have defined numerous end-points for accessing data and processes allowing literally hundreds of functions and objects to be accessed.

Using the TimeControl API lets you create a blended corporate environment where data from one system can be updated into another completely in the background without user intervention.

What can you do?

The API has a remarkable range of possible methods to access.  Data from all the tables holding your TImeControl data can be pushed or pulled at any time and the API will ensure that all of TimeControl’s data control rules are followed.  The API has extensive messaging and we provide numerous examples and startup code to get you started quickly.

Is it secure?

The API carries all the same security measures that TimeControl is famous for.  The API can be turned on and off for the entire instance in the System Preferences and then access is controlled through a TimeControl User Profile.  Typically a single user profile is created for API interactions and the data that is made available to the API or data which can be updated by the API can be controlled right in that User Profile definition.  That’s quite an advanced structure as it allows as much API access as you define regardless of what the programmer writes in code that access the API.

For an on-premise deployment you can even elect not to install the API at all though this means that not only the API but also the free TimeControl Mobile App will be disabled.

How is it accessed?

We provide dynamic API documentation that is actually generated by the API itself whenever you ask for it in the help menu.

The result is an always up-to-date exactly for the version you are in with information on each method as well as example code on how to connect to TimeControl and guidance on how to get your project started.

We’ve not eliminated any of the other methods of integrating TimeControl with your corporate systems but the TimeControl API represents the ultimate in blended system integration.

For more information on how the TimeControl API can help you create an integrated business environment, contact HMS at: TimeControl.com/contact.