PackageTrack
Sign in Get early access

campaignmonitor/createsend-php

A php library which implements the complete functionality of the Campaign Monitor API.

v7.1.1 6.2M downloads/mo #2750 most downloaded on Packagist campaignmonitor/createsend-php

What this package is like to depend on

Last release 1 years ago

18 Jun 2025

Ships fairly regularly

a new release about every 10 months

Nearly every release is documented

notes for 29 of 30 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

30 releases · first in 2012

0 releases in the last 12 months

see the full history below

Release timeline

30 releases · Oct 2012 to Jun 2025
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 30
  1. v7.1.1 18 Jun 2025
    Release notes
    • Removed now redundant parameter MarkupOnDesignSpamTest from client.set_payg_billing
    Open source →
  2. v7.1.0 28 May 2024
    Release notes
    • Update simpletest/simpletest package to verison 1.2.0
    • Update test suite to support PHP 7
    • Update package to support PHP 8
    Open source →
  3. v7.0.0 11 Feb 2022
    Release notes
    • Upgrades to Createsend API v3.3 which includes new breaking changes
    • Breaking: client sent campaigns endpoint is now paginated and filtered
    • Added new client tags endpoint
    • Added support for returning campaign tags as part of sent, draft and scheduled campaign endpoints
    • Added support for returning campaign name as part of campaign summary endpoint
    • Added sample script for get client tags endpoint
    • Adding support for returning ListJoinedDate for each subscriber.
      • List.Active()
      • List.Bounced()
      • List.Unsubscribed()
      • List.Unconfirmed()
      • List.Deleted()
      • Segment.Subscribers()
      • Subscriber.Get()
    Open source →
  4. v6.1.2 02 Oct 2021
    Release notes

    Increase default timeout to 120secs.
    Minor updates.

    Open source →
    Release notes
    • Changed local API timeout from 20 secs to 120 secs to cater for changes on get segment subscribers API endpoint.
    Open source →
  5. v6.1.1 06 May 2020
    Release notes
    • Add PHP 7.4 Support
    Open source →
  6. v6.1.0 04 Sep 2019
    Release notes
    • Added support for Journeys API
    Open source →
    Release notes
    • Added support for the Journeys API (https://www.campaignmonitor.com/api/journeys/)
    Open source →
  7. v6.0.2 31 Jul 2019

    Nothing published for this version

  8. v6.0.1 24 Jul 2019
    Release notes

    Updated to use standard agent string prefix format.

    Open source →
  9. v6.0.0 25 May 2018
    Release notes

    Updated to use Campaign Monitor API v3.2
    This contains breaking changes, see https://www.campaignmonitor.com/api/ for further details and check the HISTORY.md file

    Open source →
    Release notes
    • Upgrades to Createsend API v3.2 which includes new breaking changes
    • Breaking: 'Consent to track' field is now mandatory for sending smart and classic transactionl emails
    • Breaking: 'Consent to track' field is now mandatory when adding or updating subscribers
    • Optional 'Include tracking preference' field when retrieving lists of subscribers
    Open source →
  10. v5.1.3 20 Apr 2018
    Release notes
    • Changed local API timeout from 10 sec to 20 sec
    Open source →
  11. 5.1.2 15 May 2017
    Release notes
    • Added support for Behavioral Event data
    Open source →
  12. v5.0.2 19 Jul 2016
    Release notes
    • Prevent definition re-declarations
    Open source →
  13. v5.0.1 14 Dec 2015
    Release notes
    • Changed the fatal error thrown when unable to communicate with the API into a catchable Exception
    Open source →
  14. v5.0.0 08 Dec 2015
    Release notes
    • Added PHP7 support
    Open source →
  15. v4.1.1 09 Sep 2015
    Release notes
    • Fixed the transactional smart email call for get_list() so it now passes the client id
    Open source →
  16. v4.1.0 05 Aug 2015
    Release notes
    • Added support for Transactional Email
    Open source →
  17. v4.0.2 29 Oct 2014
    Release notes
    • Updated constant definitions so PHP Notices aren't raised
    Open source →
  18. v4.0.1 30 May 2014
    Release notes
    • Updated the class_exists check to no longer call __autoload
    Open source →
  19. v4.0.0 06 Feb 2014
    Release notes
    • Updated to v3.1 API
    • Added support for new segments structure
      • Segment now includes a new RuleGroups member, instead of a Rules member.

        So for example, when you _previously_ would have created a segment like so:
        
        ```php
        $result = $wrap->create('Segments List ID', array(
        	'Title' => 'Segment Title',
        	'Rules' => array(
        		array(
        			'Subject' => 'EmailAddress',
        			'Clauses' => array(
        				'CONTAINS example.com'
        			)
        		) ,
        		array(
        			'Subject' => '[customfield]',
        			'Clauses' => array(
        				'PROVIDED',
        				'EQUALS 1'
        			)
        		)
        	)
        ));
        ```
        
        You would _now_ do this:
        
        ```php
        $result = $wrap->create('Segments List ID', array(
        	'Title' => 'Segment Title',
        	'RuleGroups' => array(
        		array(
        			'Rules' => array(
        				array(
        					'RuleType' => 'EmailAddress',
        					'Clause' => 'CONTAINS example.com'
        				)
        			)
        		) ,
        		array(
        			'Rules' => array(
        				array(
        					'RuleType' => '[customfield]',
        					'Clause' => 'PROVIDED'
        				) ,
        				array(
        					'RuleType' => '[customfield]',
        					'Clause' => 'EQUALS 1'
        				)
        			)
        		)
        	)
        ));
        
        
        
      • The Add Rule call is now Add Rule Group, taking a ruleGroup argument instead of a rule argument.

        function CS_REST_Segments->add_rulegroup($rulegroup)
        

        So for example, when you previously would have added a rule like so:

        $wrap = new CS_REST_Segments('Segment ID', $auth);
        $result = $wrap->add_rule(array(
            'Subject' => 'EmailAddress',
            'Clauses' => array('CONTAINS example.com')
        ));
        

        You would now do this:

        $wrap = new CS_REST_Segments('Segment ID', $auth);
        $result = $wrap->add_rulegroup(array(
            'Rules' => array(
                array(
                    'RuleType' => 'EmailAddress',
                    'Clause' => 'CONTAINS example.com'
                )
            )
        ));
        
    • Removed the get_apikey method to promote usage of oAuth authentication
    Open source →
  20. v3.1.3 09 Dec 2013
    Release notes
    • Fixed a notice that was raised when unscheduling a campaign.
    Open source →
  21. v3.1.2 28 Oct 2013
    Release notes
    • Only set the CURLOPT_CAINFO option if not already set globally via the ini system.
    Open source →
  22. v3.1.1 02 Oct 2013
    Release notes
    • Made it harder to accidentally email your subscribers when using the example code
    Open source →
  23. v3.1.0 15 Apr 2013
    Release notes
    • Added support for single sign on which allows initiation of external login sessions to Campaign Monitor.
    Open source →
  24. v3.0.0 25 Mar 2013
    Release notes
    • Added support for authenticating using OAuth. See the README for full usage instructions.
      • This introduces some changes to how you authenticate using this library. You now authenticate by passing an $auth array as the first argument when creating instances of any classes which inherit from the CS_REST_Wrapper_Base class.

        So in existing code, when you previously would have authenticated using an API key as follows:

        $wrap = new CS_REST_General('Your API Key');
        $result = $wrap->get_clients();
        

        If you want to authenticate using an API key, you should now do this:

        $wrap = new CS_REST_General(array('api_key' => 'Your API Key'));
        $result = $wrap->get_clients();
        
    Open source →
  25. v2.5.2 19 Dec 2012
    Release notes
    • Removed simpletest source files, and added simpletest as a dev dependency.
    • Fixed autoloading with composer, so that only necessary classes are loaded.
    Open source →
  26. v2.5.1 14 Dec 2012
    Release notes
    • Use CURLOPT_TIMEOUT and CURLOPT_CONNECTTIMEOUT constants instead of CURLOPT_TIMEOUT_MS and CURLOPT_CONNECTTIMEOUT_MS.
    • Added autoloading support when using Composer (PHP dependency management).
    Open source →
  27. v2.5.0 11 Dec 2012
    Release notes
    • Added support for including from name, from email, and reply to email in drafts, scheduled, and sent campaigns.
    • Added support for campaign text version urls.
    • Added support for transferring credits to/from a client.
    • Added support for getting account billing details as well as client credits.
    • Made all date fields optional when getting paged results.
    Open source →
  28. v2.4.0 05 Nov 2012
    Release notes
    • Added CS_REST_Campaigns.get_email_client_usage().
    • Added support for ReadsEmailWith field on subscriber objects.
    • Added support for retrieving unconfirmed subscribers for a list.
    • Added support for suppressing email addresses.
    • Added support for retrieving spam complaints for a campaign, as well as adding SpamComplaints field to campaign summary output.
    • Added VisibleInPreferenceCenter field to custom field output.
    • Added support for setting preference center visibility when creating custom fields.
    • Added the ability to update a custom field name and preference visibility.
    • Added documentation explaining that TextUrl is now optional when creating a campaign.
    Open source →
  29. v2.3.2 23 Oct 2012
    Release notes
    • Fixed timeout issue by setting CS_REST_SOCKET_TIMEOUT to 10 seconds.
    Open source →
  30. v2.3.1 19 Oct 2012
    Release notes
    • Fixed #13. Load services_json.php only if Services_JSON class doesn't already exist.
    • Fixed issue with curl calls hangs hanging on proxy failure.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive