Mastercard API enhancement

The goal of this project was to reduce the amount of time necessary for 3rd party developers to start using APIs, reduce the number of support requests, and increase adoption of the APIs.

Project outline

Mastercard owns several APIs and accompanying documentation and is very interested in making them as accessible as possible. Mastercard and Quintagroup had agreed to work on improving resources for 3rd party developers for Mastercard APIs.

Mastercard mockup

The technical solution presented by Quintagroup

The goal of this project was to reduce the amount of time necessary for 3rd party developers to start using APIs, reduce the number of support requests, and increase adoption of the APIs.

Quintagroup has a long history of developing APIs and incorporating them into complex solutions. The main features that we strive for while planning and designing APIs are their simplicity, discoverability, and consistency. Also, we pay significant attention to the accompanying documentation, trying to make it a self-describing access point that will allow a novice to easily become productive using this API.

Having an extensive experience in developing and supporting APIs, Quintagroup team was very enthusiastic in applying this expertise for API assessing and enhancing too. API enhancement usually is focused on answering the following questions:

  • Does API conform to the official standards (if there are any)?
  • Is the API as easy as possible to use?
  • Is the API as flexible and reusable as it can be?
  • Is the technical documentation accurate and as intuitive as it could be?
  • Does the support documentation and tooling facilitate self-service?
  • What additional resources (e.g. tutorials, reference implementations, demos) could be built to facilitate API incorporation?

As a result, we outlined a plan that could be applied in assessing and improving any API. At first, we focused on auditing the APIs and redlining the documentation. Secondly, we improved API REST protocol specifications and updated API reference/Swagger. Swagger is the largest framework for designing APIs using a common language and enabling the development across the whole API lifecycle, including documentation, design, testing, and deployment.

Its benefits include:

  • using a common language that everyone can understand, it’s easily comprehensible for both developers and non-developers.
  • providing a set of tools that help programmers generate client or server code and install self-generated documentation for web services.
  • being easily adjustable, it can be successfully used for API testing and bug fixing, as well as for accelerating various API-dependent processes.

We developed several simple use case tutorials that would cover the basic guidelines in working with the API. For Python tutorials, we usually use bravado, codegen, SDK (if there are any) or simple requests, depending on the client’s preferences. We also developed several more complex tutorials that illustrate high-level use cases or demonstrate cross-linking to 3rd-party resources.

Another improvement that we implemented was building a reference implementation and demo (that could be embedded into the API documentation or shared in a repository). It included an application with user interface (VueJS), automated testing (robot tests), and containers (docker) for easy deployment. Such applications allow developers to showcase (or proof the concept) how the APIs are intended to be used.

Connect with our experts Let's talk