WS API design, build and integration

Use APIs to provide your products and services with a competitive advantage

APIs are a compelling business strategy

API means Application Programming Interface. It is the equivalent of a graphical user interface (GUI) for programmers. Users interact with a program using a GUI, and programmers interact using an API. An API can be something simple, such as a logging mechanism, or it can be complex, and provide even more functionality than a GUI.

An API can allow customers, suppliers and third parties to build their own products and service on top of your own. The value to a third party is to avoid recreating the functionality of the base product or service within their own system, but focus on providing value-added functionality.

Therefore, we can assume that if your product or service can be consumed by third parties via an API, you are building a competitive advantage. If your competitors already provide APIs, then you may struggle to obtain wider adoption if you do not follow suit. Often, companies with the best APIs can charge a premium for their services, which can be a revenue generating exercise in its own right.

An example of an API creating a new market

Within weeks of the original Lego Mindstorm debut, Kekao Proudfoot reverse engineered the RCX brick (hardware) and posted his findings online. Other engineers then used his findings to create Mindstorm tools, including an operating system and a C-like programming language. Lego had the ability to stop them but instead decided to let this community flourish. 'We came to understand that this is a great way to make the product more exciting,' Lego’s Nipper said - From Geeks in Toyland By Brendan I. Koerner - Wired Magazine February 2006.

In the case of Lego Mindstorm, a software API was created by third parties to interact with the hardware. The result was tremendous growth in that market because the product target audience was no longer only children. A large portion of people who bought Lego Mindstorm after the API was created were adults who were looking for a low cost entry into robotics.

Therefore, APIs promote consumer loyalty and can help create new markets for existing products and services

An API can also be used to extend the life of legacy systems. By creating an API in front of a legacy system, existing functionality can be exposed by the API in a standardised way. All third parties interacting with the API have no knowledge of what is behind the end point they are accessing. They simply see a standardised interface. This not only ensures a better return on existing investment, but allows the legacy system to be replaced in a more controlled manner, as the API exposed to third parties will not change when the switch over is made, it only needs to be re-configured to send data to the new system.

This API topology diagram describes where the API is positioned, in between the end users and the application

When designing and building an API, we consider the following
  • An API is a user interface for a developer, it must be simple and easy to understand
  • An API is only as good as its documentation. We created tools to auto generate documentation and provide testing tools based on the API code structure. Developers have access to a sandbox to try sample requests
  • RESTful URLs should be used to define actions. Resources are manipulated using HTTP requests (GET, POST, PUT, PATCH, DELETE). By adopting standards it ensures consumers of the API can make certain assumptions, which saves time
  • SSL encryption should be used everywhere, with no exceptions
  • Parameters which support advanced filtering, sorting and searching
  • Configuration options to limit which fields are returned from the API
  • Always return meaningful data as a response from POST, PUT and PATCH requests
  • JSON should be used where possible, XML only if there is a strict requirement
  • Provide an option to autoload related resource representations
  • Provide useful response headers for rate limiting
  • Use token based authentication, transported over OAuth2 where delegation is needed
  • Include response headers that facilitate caching
  • Define a consumable error payload
  • Effectively use HTTP status codes
API development experts

We have a long and successful history developing and supporting enterprise APIs and applications written in a variety of languages. We offer expertise in creating, extending and supporting APIs to meet any requirement.

If you're looking for a turnkey API solution, or need us to analyse and make recommendations about existing APIs, get in touch.

Contact Information

Speak to an expert on +44(0)1903 250250, email us at contact@buckhill.co.uk, or start a live chat, located in the bottom right

Alternatively, complete the form below

VMware Partner

We're happy to talk

Our offices are open 8.30am - 7pm GMT, Monday to Friday - but you can always contact us via email. When we receive your email during opening hours, we aim to respond within 30 minutes or less. Should your email reach us out of hours, we will contact you when the office re-opens.

You can contact us using live chat