June 12, 2019 David Hallinan Connectors, Engineering, Guides Learn From Our Struggles: 4 API Pitfalls We Encountered While Building Our Unified APIs. “If you light a lamp for somebody, it will also brighten your path.”Buddha Here at Kloudless, tens of thousands of hours have been spent learning the intricacies of the APIs that we provide connections with. Our developers have toiled long days and nights in the pursuit of a deep understanding of the services we allow applications to integrate with, not only in the aim of bolstering our own product but also for the self-betterment that comes with the true comprehension of an outside service. They say that mastery of a subject or profession comes with 10,000 hours of practice. If that much is true, we like to think we’ve mastered a couple of APIs at this point. In the vein of the quote that preceded this piece, we’d like to light the metaphorical lamp of API integrations for the others that come after us. In this article, we will walk you through the trials and tribulations that we went through when integrating four of our most popular API offerings, in the hope that you can be prepared for the development speedbumps you might encounter while incorporating these cloud services into your application. DropBox Edition Boasting more than 500 million users, DropBox has been a bona fide giant of the cloud-based file storage world since its release in 2008. DropBox became the first of the ‘folder sync’ storage applications to become a household name, having been originally conceived when one of its co-founders left his USB flash drive at home and was stuck with no way to access his necessary files for a college class. As a result, DropBox has become ubiquitous with users looking to manage their files and documents in the cloud, and heavily utilized by applications looking to provide their users with storage integrations. Our engineers ran into problems with DropBox’s API when a change occurred in their official Events API. Because Kloudless was also in the midst of upgrading our own Events API from v1 to v2, the entire connection had to be reassessed when it came to tracking and relaying information regarding the creation, modification, or deletion of files and documents. Read all about our experience with fixing this necessary piece of functionality in our connections with DropBox here. Google Drive Edition Google Drive has cemented itself as one of the industry leaders in file storage and synchronization. Originally launched in 2012, Google Drive allows users to store files on their cloud servers, synchronize files across devices, and share files across its vast ecosystem of cloud applications. As one of the more robust offerings in the Google Suite of apps, Google Drive encompasses Google Docs, Google Sheets, and Google Slides. A major selling point of the Google Drive service is its ability to save files created and edited through other Google Suite applications, like the apps mentioned above. Google Drive has firmly made its name as an indispensable tool when it comes to cloud file storage services, and as a result, boasts almost a billion active users and over one million paying organizational users. A necessary part of our Google Drive functionality is in the storage provider’s file synchronization monitoring. Essentially, every time a user updates a file or places a new file in their online drive, Google Drive records and relays that information as event info to stay in sync with the changes reflected in the cloud drive. However, when Google Drive changed the way their API returned event data, our engineers were caught with needing to implement a fix and implement it quickly. Read all out our experience with tailoring our code to accommodate Google Drive’s API changes here. HubSpot Edition HubSpot primarily creates powerful software products to manage inbound marketing and sales. Besides offering tools for social media marketing, content management, web analytics, and search engine optimization, HubSpot also offers integration with a host of popular CRM platforms like Salesforce, SugarCRM, and more. HubSpot has also been referred to as “a prolific creator of content,” based on the sheer amount of blog posts, social media posts, webinars, and white papers they have published. HubSpot has cemented itself as a major player in marketing software, bringing in over half a billion dollars in revenue each year. As a result, HubSpot continues to be one of our most utilized API connectors here at Kloudless. Our engineers ran into some major issues with our HubSpot connection when posed with incorporating functionality to filter resources. We needed to be able to filter both contacts and deals based on their associated company ID, but many of the returned data formats didn’t correspond to the information that we needed to extract. After intense testing and scouring documentation, we were finally able to access the data that we needed thanks to some intuitive thinking on the part of our developers. Read all about our time spent implementing HubSpot filtering in out article here. SharePoint Edition SharePoint Online is a web-based collaborative platform created by the Microsoft Corporation to interface with Microsoft Office, the industry-leading text and document editor. SharePoint was released in 2001, and primarily is used for document management and storage, although the platform has come a long way in its 18 years since it’s release and provides a wide scope of unique functionality to the massive amount of companies that utilize it. As of today, SharePoint Online boasts more than 190 million users across over 200,000 customer organizations. We initially expected to be able to implement SharePoint functionality relatively quickly, but ran into some major issues when our engineers encountered discrepancies between the documentation and the response objects we were actually obtaining. To add on to that, we ran into undocumented differences between the REST APIs docs and the Microsoft Graph API, another Microsoft API that our integrations needed to access to implement all of the functionality we needed from SharePoint. Read about how our engineers went about solving their problems with Microsoft’s powerful platform here. Going forward, hopefully, you’ve learned something from our stumbles and problems that we encountered that will aid you in your future integrations. Often, updating functionality in API integrations is not exactly what you would call a “glamorous process.” There are a profound amount of things that can break when an API changes anything about the format of their returns and dealing with the ensuing chaos of broken functionality can be enough to make some developers throw in the towel. As a result, some developers and product managers choose to go with a unified API, such as Kloudless, for their integrations to save themselves the time and stress that goes along with updating functionality after an API update or versioning change. We would love to hear from you about any pitfalls you’ve had while integrating with any of the APIs covered in this series. Please write to us at firstname.lastname@example.org and let us know any and all of the problems you may have encountered while wading through the swamp of API integrations!