Campaign Monitor REST API Client
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.