API Broking to drive innovation and new revenue opportunities in the Digital world with an API first approach
Api development sdk

Client

Client is leading stock broking company providing services like stock broking, financial products distribution, wealth management, and investment banking. They are serving customers ranging from the retail & institutional investors, corporates and High Net-worth Individuals (HNIs)


Problem Statement / Opportunity

The client wanted to make API Broking available more widely to their third party partner network in effect to create a new revenue channel for themselves and improve straight through processing between internal and external systems for quick turnaround time, high scalability and throughput, and seamless customer experience.

While client has an extensive web and mobile application UI being used by millions of users, they have multiple APIs behind the scenes that do a lot of the heavy lifting. There is a growing population of tech savvy investors who wish to personalise their investment experience beyond the current capabilities of client’s offerings in terms of:

  • Live streaming of 'market data' for instruments such as equities, commodities, derivatives, currencies etc
  • Ability to 'transact' at their convenience from an interface of their choice

Our client was looking for a technology partner who could conceptualize and build a highly scalable new OpenAPI architecture, in a cost-effective manner. The solution should allow internal and external partners to consume services for their requirements.


Oneture's Role

Oneture put in place a team of engineers including a Solution Architect along with full stack developers. Based on our principle to "show rather than tell" - we first provided comparison report of standard API signature vs competitors APIs to showcase the benefits of standardizing the APIs. Then we built a PoC to automate documentation pipeline which usually is a manual effort. As a joint effort, we have been involved with client right from conceptualizing the idea, to product management, to design, development and testing, benchmarking and so forth.


Major Features

This APIfication and SDKisation effort was broken down into standardizing REST API endpoints, automating API documentation, creating webhook services and providing client SDK in multiple languages.

1) API Standardization

It’s important to make sure that these trading related APIs are as developer-friendly as possible i.e. they should be semantically consistent and predictable. Standardization helps your users avoid bugs and code debt.

We standardized the following elements:

  • API Structure - header and body
  • HTTP methods
  • Variable renaming to make it semantically consistent
  • Merging common API endpoints
  • API versioning
  • API Responses
  • Error reporting
  • Postman collection for testing
  • Open API compliance - Added Swagger UI support

2) API Documentation

We built API documentation which can become a single point of reference guide for developers. This documentation is based on a custom developed content management system that any user can use and dynamically change the description on the fly. The documentation does not need any manual efforts apart from adding description. It takes postman collection as input and dynamically generates code snippets in multiple languages while updating the UI. 

 

3) Webhooks for real time order notifications

We developed websocket based platform for seamless communication between exchange to user via our client i.e broker's channel. We integrated order feeds in same platform so that user can utilize same bridge to receive both - ticker data i.e stock market real time feeds as well as user's order status.

Now our client has few partners who are not always online on client's web or mobile app to receive data via websocket. Instead they have their own custom web application while leveraging client's APIs. We developed webhooks so that these partners can receive a postback request for order notifications. Below diagram shows  end to end arechitecture of the platform.

4) Client SDK

It contains wrapper classes that you can use to call the API from user's application without having to deal with HTTP requests and responses. We added support for encoding and decoding stock symbols and relevant payload information in SDK to reduce network egress cost and providing users the best way to fetch latest market values of subscribed stocks covering close to 25k unique stock symbols which includes Equity, F&O, Commodities, Currency of both exchanges - NSE and BSE.


Value Delivered
  1. Consistent design of core APIs ensures the smoothest possible experience for developers using client's platform.
  2. Automated API Documentation
    1. Clean/intuitive single page design which includes code snippet samples in multiple language for each API
    2. Fully automated documentation which just requires postman collection as input and custom description can be added/modified and published on the go
  3. Third party partners are now able to easily integrate with the platform and build own custom platform using client SDK and webhooks