Why RingCentral’s API Is a Developer Favorite Bill Doerrfeld December 4, 2018 What truly makes a usable API? We routinely discuss API best practices on the blog, but at times it helps to have a real-world model to follow. One such developer favorite API offering is the RingCentral Developer Progam. I recently sat down with Mike Stowe, Sr. Manager of Developer Product Marketing at RingCentral, as well as Byrne Reese, Sr. Product Manager of Developer Products at RingCentral, to learn a little more about the platform, their API strategy, and their history of development. Let’s see how this community-backed API has smartly crafted their program to engage with third-party developers. The Community Speaks: RingCentral Wins Best API of 2018 In case you missed it, our Best API of 2018 competition came to a close at the Platform Summit. We had many stunning public API nominees, each with impressive functionality and developer experiences. Out of this came one champion; crowdsourced voting made it a clear victory for RingCentral. We also took in motivations along with each community vote, some of which we’ve added below. “All around fantastic engineering and ease of use” – Anonymous Voter The RingCentral Developer Program RingCentral is using data, new communication means, and the cloud to disrupt a classic thing: the telephone. With their Voice API, for example, apps can now make or receive calls. The SMS API can be used to send text from directly within an app. Other web APIs enable team messaging, voice conferencing, fax, and other embeddable capabilities. As Mike describes it, RingCentral is: “The only API able to provide voice, SMS, team messaging, meetings, fax, real-time data, and on the fly system configuration for a full communication suite… in other words, a unified platform that marries CPaaS and UCaaS in a unique combination.:” Who Is Using the API? Many companies now use the RingCentral API to integrate a diverse range of communication functionality directly into their apps and operational workflows. For example, Precise is a firm using RingCentral to track the length of calls and inform sales with call data, helping customer reporting to generate better leads. 24 HR Lockouts is an Uber-like service for when you’re locked out of your car that utilizes RingCentral’s SMS API for easy, convenient communication even in the most stressful of situations. Insurion, a leading provider for business insurance, combines RingCentral’s APIs with artificial intelligence and machine learning to provide real-time, conversationally relevant information to their agents during the call, creating a more efficient process for addressing the customer’s needs, and creating a much better experience in the process. The use cases are varied, and their thousands of consumers tread in many industries. “Ability to implement SMS into my website in 20 minutes! It just works.” – Anonymous Voter API Design With such impressive adoption, we wondered what API design forethought the team had put in place. Mike describes a strong commitment to design for their HTTP web APIs. They use a pragmatic approach to REST, allowing for things like tunneling in circumstances that prescribe it and not fully adopting hypermedia (at least in terms of utilizing a standardized hypermedia specification, although it is a prospect for future evolution). It seems the RingCentral team is always attempting to understand and respond to the technical needs of their developer base. On technical acuity, Mike recognizes a potential gap in some developer’s understanding regarding content negotiation and advanced HTTP usage: “Some boundaries are methods like OPTIONS or TRACE, or utilizing boundaries in cURL. Some developers are already well-versed in these and have no problem, but others are making a call that advanced for the first time.” From advanced HTTP methods to error codes, rate limiting, authorization details, and more, the RingCentral documentation and ample support materials help to fill in misconceptions. “It allows communications from within a bunch of apps that Small Businesses and Enterprises use on a regular basis (like Google apps, Microsoft cloud apps, SalesForce, etc.). And they keep improving and adding more apps to their ecosystem.” – Anonymous Voter Developer Experience Mike describes how great usability and quick onboarding time are top priorities for their developer portal. They have a sandbox environment for testing purposes, a navigable API reference, flexible authorization types, and more. “We want to make it easier for developers to make applications” They have easily consumable getting started guides for each service, and the autofill for cURL requests is a nice touch in the documentation. And, with SDKs in 7 languages and 11 community supported libraries, you can tell that language accessibility is a top concern. This is accentuated by having a dedicated team member solely tasked with Developer Experience. Need RingCentral support? Well, there’s live chat, Twitter, tutorials, forum, Stack Overflow presence, GitHub… this list goes on. As a communications enabler, it’s fitting that RingCentral support is literally accessible by any means. While a wide developer community is a lot to navigate, it means no developer preference is left forgotten. “99.99 reliability” – Anonymous Voter RingCentral offers an analytics suite for sandboxes and production environments where you can browse endpoints and errors in nicely laid out visualizations — just another boost to DX. Trends And Future Momentum While Mike notes that GraphQL is a very interesting query language with a lot of potentials, he notes some limitations, such as caching, the limitation of client-server evolution, and the abolishment of REST constraints. He acknowledges the team is exploring it, but it rather may make more sense to explore Hypermedia or provide different alternatives for developers based on their specific use cases and unique needs. On documentation, theirs is currently is written in Markdown. Mike notes they are in the process of moving everything over to the OpenAPI Specification, and also transitioning to utilizing a spec-driven development approach to API design. Eventually, docs, as well as SDKs, will be driven by OpenAPI, allowing for even more powerful and dynamic tooling. They also have SCIM in beta testing, a powerful protocol for handling identity that we’ve featured previously on the blog. RingCentral Developer Program Deserves the Praise The phone was invented in 1876. Now in 2018, companies like RingCentral continue to “revolutionize communications,” in Mike’s words. We’re glad RingCentral was voted Nordic API’s Best Public API of 2018, but more importantly, we want to enable API practitioners to follow in the footprints of these trailblazers and revolutionize the way their business communicates for the better. Mike quotes a study that found 77% of today’s users rate a company’s service on how efficient they are at solving an issue. Naturally, community support for developers is given high priority. What it comes down to is that RingCentral is designed by developers thinking from the perspective of what developers need, a rewarding strategy for public APIs.