Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Campaign Monitor REST API Client

78 sites Security covered Drupal 8–11
View on drupal.org

This module provides a simple, reusable service for interacting with the Campaign Monitor REST API. It allows developers to easily send requests to Campaign Monitor, similar to how they would use Drupal's core HTTP client, but specifically tailored for Campaign Monitor's API.

This module provides a campaign_monitor_rest_client service that configures and wraps the super-simple Campaign Monitor REST API Client. It is intended for use by developers who need a very basic REST API client for the Campaign Monitor API.

It works just like the http_client service from core. In fact, it returns a client that is fully compatible with http_client, but tailored specifically for use with the Campaign Monitor API.

This module differs from other Campaign Monitor modules in that it only provides a service that facilitates API access to Campaign Monitor using a much simpler library than the official createsend-php package.

Usage

Enable the campaign_monitor_rest_client module and configure it at /admin/config/services/campaign_monitor_rest_client. At the moment, the only available authentication method is via an API key.

Once enabled and configured, you can use the campaign_monitor_rest_client service as you would any other service. E.g.:

$client = \Drupal::service('campaign_monitor_rest_client');

Or via injection in a class that implements ContainerInjectionInterface:

/**
 * {@inheritdoc}
 */
public static function create(ContainerInterface $container) {
  return new static(
    $container->get('campaign_monitor_rest_client')
  );
}

Or injection into a service class:

services:
  custom_campaigns.course_notifications:
    class: Drupal\custom_campaigns\CourseNotificationHelper
    arguments: ['@campaign_monitor_rest_client', '@entity_type.manager', '@config.factory']

Once you've assigned the service to a variable, usage is very similar to Guzzle:

$client_response = $client->get('clients.json');

See the Campaign Monitor REST API Client readme for more information on how to use the client.

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 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Core Release date
1.0.3 Stable 8–11 Aug 27, 2025