Recently, there has been a lot of talk about the API economy. Unfortunately, the term has been used in such a manner as to exclude the average man on street from the conversation. The concept of API, including a time tracking API, is quite simple. The acronym stands for Application Programming Interface, a set of programming instructions that allow one piece of software to communicate with and access the resources and services of another.
The history of APIs dates back to the year 200 when eBay announced the launch of an API that allowed third party vendors to display eBay listings on their own websites. Amazon quickly followed and since then, many large companies have followed suit. Some of the most popular APIs today are social media APIs such as Facebook’s Graph, Twitter’s embedded tweets, YouTube’s data API and the Google+ API.
We will be discussing the benefits of APIs and how you can use Hubstaff’s time tracking API to integrate with your favorite application in this article.
What Are The Benefits of APIs?
The following are just some of the benefits:-
Providing API access allows for content to be created once and automatically published or made available to many channels. Content is ready for easy sharing and redistribution to the mission directly to more people.
By allowing anyone to create a new presentation layer—like an app, a website, or a widget—APIs can be used to distribute services and information to new audiences and in specific contexts that can be customized to provide tailored user experiences. People who have never checked out your website/app can get information or services about it from apps or other websites that they regularly visit.
APIs allow machines to handle the workload, which would otherwise require the manual work of a human. This can be as simple as having one content update propagate to multiple sections of a site (or multiple websites) at once. More broadly, though, APIs enable not a team to update workflows so that they can be done with fewer steps and greater productivity.
Providing API access to information or a service sets up the use of that information or service in mobile apps. Whether the goal is to support in-house apps or third-party apps, the first step is enabling API access to the components that would go into a mobile app, thus providing flexibility in delivering information and services. This is especially critical when building more than one app—because the API is a shortcut to the second, third, and fourth apps.
APIs allow content to be more easily embedded or interwoven throughout a site or other applications. Thus, you can ensure a smooth and integrated user experience, and relevant and up-to-date information for the user. The information is delivered wherever it can be useful to them, not just in those places where your team has had time to update the content.
The users of your website, businesses and non-profits benefit from the ability to personalize sessions with the information and services that are most useful to them.
Mashups allow the public to better understand your information in the context of other sources of information.
As needs change, APIs help to support unanticipated future uses. Making data available via API can support faster and easier data migration and improved data quality review and cleanup. APIs can provide greater flexibility in delivering services; for example, using a service that accesses a back-end system to power a new product.
OK, how do we do it?
The technical solutions for implementing good APIs have long been available, and there are many mature examples of tried and tested API implementations to learn from. What is required in addition to this is the correct approach to implementing an appropriate solution, investment in the right people and skills, and the understanding that the successful use of APIs is fast becoming a fundamental best practice for successful and efficient business in the modern knowledge economy.
In order to reap the benefits of APIs, Hubstaff has created its own time tracking API. The API can be used to retrieve most of its resources and reports, and the developers continue to add more capabilities everyday.
The Hubstaff API is intended for 3rd parties wishing to integrate their applications with Hubstaff’s time tracking application. This feature has enabled Hubstaff to become one of a few time tracking applications that integrates with a large number of popular project management software. Some of the software applications that integrate with Hubstaff include:
- Pivotal Tracker
- Teamwork PM
The following are some of the main features of the Hubstaff time tracking API.
- RESTful – The Hubstaff time tracking API makes use of REST principles to create a standard and familiar interface.
- HTTPS – A secure HTTPS connection (SSL) is mandatory to make requests to the server. Requests made over HTTP (port 80) are redirected to HTTPS (port 443).
- JSON and XML – The Hubstaff time tracking API supports both the JSON and XML formats.
- Read-only – The Hubstaff time tracking API only allows the retrieval of data. It is currently being evaluated to determine the need to create, update and delete resources programmatically and plan to expand into these capabilities in the future.
- Rate limit – In order to protect against excessive use of the API and ensure availability to all consumers the API is rate limited.
- Number of requests – Each authenticated user is allowed to make 1000 requests per hour per app to ensure the system suffers no downtime and is available to everyone
- Authentication requests – Authentication requests (/auth) have a lower limit for security reasons. Only 10 requests are allowed per hour per app.
- Result set limits – As a best practice the API has limits on how much data it returns in a response. The limits are noted on each endpoint. In some cases an offset paramter is used to paginate through the result set. In other cases, such as with date ranges, the dates can be adjusted with each requset to get the complete result set.
To get started using Hubstaff’s time tracking API, simply create an app and copy the app token from your new app. Next, retrieve your user auth token from the auth endpoint (within our API reference) and make your first API request (within our API reference)
For more information on how to use Hubstaff’s time tracking API, please see our developer page.