Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Views Bootstrap 5.5.4 — Minor update available for module views_bootstrap (5.5.4). Release: Rightup theme 1.0.3 — Minor update available for theme vartheme_bs5_rightup (1.0.3). Release: CommentOn 1.0.6 — Minor update available for module commenton (1.0.6). Release: ChatGPT Ads 1.0.3 — Minor update available for module chatgpt_ads (1.0.3). Release: Opensolr Search 5.1.3 — Minor update available for module opensolr_search (5.1.3). Release: ServiceM8 Webform Integration 1.2.1 — Minor update available for module servicem8_webform (1.2.1). Release: PostfixAdmin 1.0.0 — Initial release available for module postfix_admin (1.0.0)! Release: ip_analyser 1.0.3 — Minor update available for module ip_analyser (1.0.3). Module Revived: Swagger-PHP OpenAPI 3 documentation generator 1.0.0 — Module swagger_php updated after 10 months of inactivity (1.0.0). Security Coverage: Microsoft Azure AI — Module ai_provider_azure now has official Drupal security advisory coverage.

This module is for connecting via OAuth to the Blackbaud SKY API. That is all this does, but it gives you a method and a class to work with to call the API to get results.

Drupal 8

No requirements needed to use this module. Works out of the box.

Drupal 7

This module require Composer Manager & Xautoload (version >5.0).

After you install these module and configure Composer Manager, then run this in the composer directory:

composer require guzzlehttp/guzzle

How to Use

Once you setup and authorize the module here: /admin/config/services/blackbaud

In your files do this:

use Drupal\blackbaud_sky_api\BlackbaudAPI;

function whatever() {
  $bb = new BlackbaudAPI();

  // This will return an object on success or NULL if it fails
  // Endpoints defined here: https://developer.sky.blackbaud.com/docs/services/
  $api = $bb->callAPI('endpoint');
}

All API calls default to GET. If you wanted to POST, PATCH or DELETE, do this instead:

use Drupal\blackbaud_sky_api\BlackbaudAPI;

function whatever() {
  $bb = new BlackbaudAPI();

  // This will return an object on success or NULL if it fails
  // Endpoints defined here: https://developer.sky.blackbaud.com/docs/services/
  $api = $bb->callAPI('endpoint', 'POST');
}

Extending the Class

You can do this if you need to add more magic, etc

namespace Drupal\YOURMODULE;

use Drupal\blackbaud_sky_api\BlackbaudAPI;

YOURCLASS extends BlackbaudAPI {
 // codez
}

D7 Variable

I added a variable called blackbaud_sky_api_quota_reached to basically handle 403 based responses for daily quote limit reached (typically 25,000 on free accounts). This is useful in a batch situation when you need to exit early. It also sends a watchdog message telling when you can hit the API again.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Aug 2023
Latest release
3 years ago
Releases (12 mo)
0
Maintenance
Dormant

Releases

Version Type Core Release date
8.x-1.2 Stable Aug 3, 2023