ShareThis powers the social web through sharing, touching the lives of 95 percent of U.S. Internet users across 2 million publisher sites and 120+ social media channels. In order to harness that power and increase its sharing capabilities on any device, ShareThis is opening its APIs through Mashery. The goal of its open API program is to engage and foster a developer community around the ShareThis APIs, integrating sharing features in new and exciting ways. Read the ShareThis blog post below about how the company integrated with the Mashery solution and is primed for accelerated adoption and growth. Check out the full blog post here.
ShareThis' Transition into Mashery
By Alexey Karapetov
Nowadays APIs are the glue that allows for different services to benefit from each other, synergistically creating what we call the Internet. Now your business has grown ten or one hundred times, and you realize that you are spending too much time managing API users, adjusting throttling and authorization settings, supporting several different versions of API. And you have JSON dialect for a VIP partner A while keeping XML for partner B and so on. But what makes you feel bad most of all is that all those tasks are done by engineers. So instead of developing new features, engineers are busy with managerial tasks. Not very efficient, is it? How do you return the control to the managers? Either you can create your own API administration interface (further involving your engineers) or outsource this to a company like Mashery. We chose the second option.
How does this process look in engineering perspective? As we have a lot of APIs, a decision has been made to do the transition step by step:
1. Create services on Mashery, describing APIs we migrated first. We created a separate entry point for Mashery on our side to avoid our own throttling. The new services have been set up to use that entry point.
2. Setting up the Catch-All service. To make the transition smooth and seamless we wanted to eventually cname our rest.sharethis.com to Mashery servers. In order to do so we needed to forward all calls, which did not belong to APIs from step 1, to our servers, like there had been no additional Mashery layer at all. And this is what a special Catch-All service has been designed for. It does not require a user to have a Mashery account, so every API consumer, after the cnaming is done, could use the service like nothing has ever happened.