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.

Supporting organizations: 

Project information

Releases