Rent Manager 12 WebAPI

Fully open, read/write WebAPI to allow our customers to interact with their data.

Overview

ASP.Net WebAPI, using REST patterns for the endpoint design. Supports over 80 API partners that build and sell extensions to our products. Currently handling around 2 million requests per day

Current Status

Released to customers, and further development handed off to another team.

Core Problems

  • Our customers couldn’t access their data directly except via a very locked down direct database connection that was read-only.
  • We had new products coming in the roadmap that needed a fast and robust API before they could be built

Lessons Learned

  • How to manage performance and caching for a very highly used WebAPI
  • How to use dependency injection effectively
  • How to build a consistent REST language that helped new developers and new partners get to work quickly (UX matters for APIs, too!)
  • How to host an internal NuGet server to manage shared code more effectively
  • How to hand off your baby when it's time to start a new project. I didn't cry, I swear.

Tools

  • C#
  • ASP.Net WebAPI
  • MySQL
  • Visual Studio
  • Perforce
  • JIRA