- Added support for rate limiting errors
- Upgrades to Createsend API v3.3 which includes new breaking changes
- New client tags() returns the list of tags
- Client draftCampaigns() now return Tags
- Client scheduledCampaigns() now returns Tags
- Breaking: Revamped client sentCampaigns() includes these improvements:
- The method returns a PagedResult of SentCampaign.
- Entries can be fetched using the Page parameter.
- Up to 1000 entries are returned per method call. A different amount can be returned by setting the PageSize value.
- Campaigns can be sorted by their Sent Date using OrderDirection
- Campaigns can be filtered by Sent Date using sentFromDate and sentToDate in YYYY-MM-DD format
- Campaigns can be filtered by their tags.
- Campaign summary() now returns Name
- Adding support for returning ListJoinedDate for each subscriber.
- List active()
- List bounce()
- List unsubscribe()
- List unconfirmed()
- List deleted()
- Segment active()
- Subscriber details()
- Fix Security Vulnerability
- Inreased minor version to add support for Journey API
- Added support for Journey API
- Fixed JavaDoc generation
- Changed API endpoint to use https by default
- Upgrades to Createsend API v3.2 which includes new breaking changes
- Breaking: 'Consent to track' field is now mandatory for sending smart and classic transactional emails
- Breaking: 'Consent to track' field is now mandatory when adding or updating subscribers
- Optional 'Include tracking preference' field when retrieving lists of subscribers
- Fix 'Add recipient to list ID' field when sending classic transactional emails
- Undo v5.1.2; instead configure JavaDoc generation to not fail on errors. Sonatype insists on JavaDoc :-P
- Disable JavaDoc generation for release, for now, as it's failing with Java 8.
- Fix date format in
JsonProvider.ApiDateFormat
- Fix NPE in
JerseyClientImpl
- Fix incorrect List
deactivateWebhook
endpoint.
- Transactional API
- Updated to v3.1 API
- Added support for new segments structure
-
Segment now includes a new
RuleGroup[] RuleGroups
member, instead of aRule[] Rules
member.public RuleGroup[] RuleGroups;
So for example, when you previously would have created a segment like so:
segment.Rules = new Rule[] {new Rule()}; segment.Rules[0].Subject = "EmailAddress"; segment.Rules[0].Clauses = new String[] {"CONTAINS example.com"};
You would now do this:
segment.RuleGroups = new RuleGroup[] {new RuleGroup()}; segment.RuleGroups[0].Rules = new Rule[] {new Rule()}; segment.RuleGroups[0].Rules[0].RuleType = "EmailAddress"; segment.RuleGroups[0].Rules[0].Clause = "CONTAINS example.com";
-
The Add Rule call is now Add Rule Group, taking a
RuleGroup
in aruleGroup
argument instead of a rule argument.public void Segment.addRuleGroup(RuleGroup ruleGroup)
So for example, when you previously would have added a rule like so:
Rule rule = new Rule(); rule.Subject = "EmailAddress"; rule.Clauses = new String[] {"CONTAINS @hello.com"}; segmentAPI.addRule(rule);
You would now do this:
RuleGroup extraRuleGroup = new RuleGroup(); extraRuleGroup.Rules = new Rule[] {new Rule()}; extraRuleGroup.Rules[0].RuleType = "EmailAddress"; extraRuleGroup.Rules[0].Clause = "CONTAINS @hello.com"; segmentAPI.addRuleGroup(extraRuleGroup);
-
- Removed the getAPIKey method to promote usage of oAuth authentication
- Removed jersey-apache-client reference due to vulnerability. See #20.
-
Campaign bounces should include Reason and BounceType. This introduces a breaking change to the return type of
com.createsend.Campaigns.bounces
fromcom.createsend.models.PagedResult<com.createsend.models.subscribers.Subscriber>
tocom.createsend.models.PagedResult<com.createsend.models.subscribers.BouncedSubscriber>
.- If you're using this method, upgrading to this version will require you to update any code to use the new signature. For example
PagedResult<Subscriber> bouncedSubscribers = campaigns.bounces();
would need to be updated to
PagedResult<BouncedSubscriber> bouncedSubscribers = campaigns.bounces();
- Improve error handling and determination of generic error handling.
- Correctly configure the date format used by our JsonProvider. See #16.
- Updated
com.sun.jersey
andorg.codehaus.jackson
dependencies to the latest versions.
- Added support for single sign on which allows initiation of external login sessions to Campaign Monitor.
- Added support for authenticating using OAuth. See the README for full usage instructions.
- Refactored authentication so that it is always done at the instance level. This introduces some breaking changes, which are clearly explained below.
-
Authentication using an API key is no longer supported using the
config.properties
orcreatesend.properties
files.So if you previously entered your API key into a properties file as follows:
createsend.apikey = your api key
If you want to authenticate with an API key, you should now always authenticate at the instance level. For example, as follows:
import com.createsend.Clients; import com.createsend.models.campaigns.SentCampaign; import com.createsend.util.ApiKeyAuthenticationDetails; import com.createsend.util.exceptions.CreateSendException; public class Tester { public static void main(String[] args) throws CreateSendException { ApiKeyAuthenticationDetails auth = new ApiKeyAuthenticationDetails( "your api key"); Clients clients = new Clients(auth, "your client id"); SentCampaign[] campaigns = clients.sentCampaigns(); } }
-
- Added support for instantiating JerseyClientImpl using a specific API key.
- 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.
- Added EmailClient class and Campaigns.emailClientUsage().
- 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 may be provided as null or as an empty string when creating a campaign.
- Added support for creating campaigns from templates.
- Added support for unsuppressing an email address.
- Added WorldviewURL field to com.createsend.models.campaigns.CampaignSummary.
- Introduced CampaignEventWithGeoData, CampaignOpen, and CampaignClick to support correct retrieval of open and click data.
- Added support for basic / unlimited pricing.
- Removed com.createsend.Clients.setAccess() and removed all other parts of the library which were allowing calls to the API in a deprecated manner.
- Added support for UnsubscribeSetting field when creating, updating and getting list details.
- Added support for AddUnsubscribesToSuppList and ScrubActiveWithSuppList fields when updating a list.
- Added com.createsend.Clients.listsForEmailAddress() to support finding all client lists to which a subscriber with a specific email address belongs.
- Added support for specifying whether subscription-based autoresponders should be restarted when adding or updating subscribers.
- Added support for team management.
- Added Travis CI support
- Added support for new APIs.
- Fixed field names to be consistent with fields returned by API.
- Fixed #3. Removed TemplateScreenshotURL from the sample for creating a template.
- Initial release which supports current Campaign Monitor API.