Working with Blackbaud’s SKY Developer API
We at Storyware have developed a specialty for serving the digital needs of several non-profit organizations. One skill we continue to hone is integrating Blackbaud’s SKY API to connect a marketing site with Blackbaud’s top-tier donation management system.
Storyware built and continues to maintain a custom Raiser’s Edge NXT integration for The High Line, a uniquely beautiful public park in Manhattan. Raiser’s Edge NXT (“RE NXT”) is a fundraising management system used to maintain a database of donors. The SKY API offers several endpoints for interacting with RE NXT. This allows The High Line’ to take donations on their website and send donation data to the RE NXT-powered donor database.
I was introduced to this integration when I began working for Storyware in 2022 and have worked to maintain it over the last couple of years. What follows are my reflections on working with the SKY API.
Documentation
The SKY API offers several helpful documentation guides and a detailed API reference with an interactive console that allows you to make realtime API calls. This ability to interact with the API inline with the documentation has come in very handy for debugging issues with certain API calls.
One area where APIs often suffer is OAuth 2.0, which is the open standard used by top tech companies for managing authorization for internet services. While it is highly secure and the current best practice, it is notoriously hard to use when developing an API client and has caused many a web developer to pull out their hair and question their career choice. Thankfully, the SKY API offers a thorough step-by-step guide on how to clear authorization, as well as a helpful video tutorial.
While the documentation and API reference are extensive, there are so many products Blackbaud offers that it is hard to know what to look for sometimes or what to ask about when contacting support.
For example, RE NXT offers several tools centered around a database of donors, but the database service is separate from the RE NXT service itself, and that has caused confusion for us when a certain test database existed, but for some reason was not connected to RE NXT.
Furthermore, as a developer, I am not an expert in fundraising, accounting, and the many other areas of expertise needed to run a non-profit. It would be nice if the documentation for developers offered more context around how these tools are used. I am hoping Blackbaud University may help in this area, but I really need something aimed more for developers.
App management
The SKY API offers a handy portal to manage all of your apps and see what environments and services they are connected to. An “app” in this context is essentially your code’s doorway to the API. It provides the authorization tokens needed by your code (in our case, a website server) to interact with RE NXT or any of the other services in use by your organization.
In the world of web development, it is common to host a second version of a website on a “staging server” accessible only to certain people for testing new code and new features. We connect The High Line’s staging site to a separate SKY API app in order to allow us to safely test updates to our integration. .
Be warned that a dedicated staging environment is not included with your production environment. You have to pay Blackbaud for that separately.
Blackbaud does offer a SKY Developer Cohort, to which you can request access, but the cohort environment’s data is shared among all developers with access to it, representing a danger for sensitive data to be leaked if used incorrectly. Furthermore, it is often necessary to set up a staging environment with a duplicate of real-world data to fully test certain features, such as code that interacts with your organization’s custom fields for gifts managed in RE NXT.
Customer support
I have contacted customer support a few times to inquire about certain issues we were having. The support chat and telephone support have both helped me resolve issues, usually with a turnaround of about one business day.
As much as the support has been helpful in some areas, we had a more complex issue arise involving our staging environment that was an edge case issue. Thankfully, we got to the bottom of it, but only after months of back and forth with several representatives from Blackbaud. Ultimately, it was related to the lack of context in their documentation. There are so many services Blackbaud offers, their support staff would often make certain assumptions about our use case that were not true.
Conclusion
Overall, I have enjoyed working with Blackbaud’s developer API and have been impressed with their wide array of services and clear-cut documentation. API integrations always present a peculiar set of technical challenges, but Blackbaud sets up developers for success by anticipating many of the most common difficulties. However, more tools for testing/staging environments would be a great improvement to see in the future, as well as more contextual documentation for developers.
Matt is Storyware’s Lead Web Developer. He loves working on full-stack applications and making things as easy as possible for developers and users alike. Outside of web development, Matt has a love of languages and a master’s degree in Spanish.