Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ruby gem for accessing the Campaign Monitor API with support for new API keys, hex IDs, and custom subscriber fields.
Ruby
branch: master

This branch is 41 commits ahead, 1 commit behind patientslikeme:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
support
test
.gitignore
MIT-LICENSE
README.rdoc
Rakefile
TODO
campaign_monitor.gemspec
init.rb
install.rb

README.rdoc

campaign_monitor

This RubyGem provides access to the Campaign Monitor API (www.campaignmonitor.com/api).

Campaign Monitor recently made some changes to their API.

patientslikeme's fork makes the following changes:

* host changed from http://app.campaignmonitor.com to http://api.createsend.com
* ID values are no longer sent #to_i because they are hex strings
* added support for subscribers with custom fields using SOAP API
* refactored gemspec to build on github
* misc. cleanup and refactoring

This fork integrates the following additional changes:

* updates Subscriber#is_subscribed? to work with the latest API. (from amiel)
* adds support for array values in custom_field_hash (from oferlin)
* API key cleanup (from yyyc514)
* added ability to get fetch lists by id using List#GetDetails or List#[] (from yyyc514)
* added support for adding and deleting clients (from yyyc514)
* added support for querying CM for countries and timezones (from yyyc514)
* added support for creating campaigns (from yyyc514)
* general test and api cleanup (from yyyc514)

Pre-requisites

An account with Campaign Monitor and the API Key. Accounts are free and can be created at www.campaignmonitor.com.

Resources

Install

gem install patientslikeme-campaign_monitor

Git Repository

github.com/patientslikeme/campaign_monitor

Usage

cm = CampaignMonitor.new # assumes you've set CAMPAIGN_MONITOR_API_KEY in your project

for client in cm.clients
  for list in client.lists
    client.name # => returns the name

    # modify a subscriber list
    list.add_subscriber(email, name, custom_fields_hash)
    list.remove_subscriber(email)
    list.add_and_resubscribe(email, name, custom_fields_hash)

    # get subscriber list details
    subscribers = list.active_subscribers(since_time)
    unsubscribed = list.unsubscribed(since_time)
    bounced = list.bounced(since_time)
  end

  for campaign in client.campaigns

  end
end
Something went wrong with that request. Please try again.