REST Email Marketing API Documentation

Subscriptions — Change

Alter the subscriptions for a recipient.

HTTP VERB

Post

URL

/API/Rest/Subscriptions/Change

ARGUMENTS

emailAddress The email address to modify the topic subscriptions.
subscribedTopics (Optional) Array of topic names that the recipient should be subscribed to
unsubscribedTopics (Optional) Array of topic names that the recipient should be unsubscribed from

One of the arrays must be provided.


Required permission

CreateEditMember

ERRORS

No Permission
Invalid topic:
Recipient is not in the database
Too many API calls
Database error
Unknown error

RETURNS

An array of string descriptions, one for each change.


["Corporate Mailings: Subscribed",
"MARKETPLACE: Resubscribed",
"API Email: Unsubscribed",
"Business News: No changes",
"Example Mailings: Re-unsubscribed"]


EXAMPLE

Update the topic subscriptions.

string message = "{'accountName':'acme','login':'ApiUser', 'password':'sdve4t3gfd', 'emailAddress':'joe@example.com', 'unsubscribedTopics':['API Email','Example Mailings'], 'subscribedTopics':['Corporate Mailings','MARKETPLACE']}";
string url = "http://example.com/api/rest/Confirmations/Send";
								
try
{
	System.Net.HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
	request.Method = "POST";
	request.ContentType = "application/json";
	request.ContentLength = message.Length;
	using (Stream webStream = request.GetRequestStream())
		using (StreamWriter requestWriter = new StreamWriter(webStream, System.Text.Encoding.ASCII))
			requestWriter.Write(message);
								
	System.Net.WebResponse webResponse = request.GetResponse();
	using (Stream webStream = webResponse.GetResponseStream())
		using (StreamReader responseReader = new StreamReader(webStream))
			Console.Out.WriteLine(responseReader.ReadToEnd());
}
catch (Exception e)
{
	System.Diagnostics.Debug.Fail(e.Message);
}
							
# encoding: utf-8
require 'rest-client'
require 'json'
							
url = 'http://www.acme.com/api/rest/Confirmations/Send'
args = {'accountName'=>'acme','login'=>'ApiUser',
'password'=>'sdf3w4tw','emailAddress'=>'joe@example.com', 'unsubscribedTopics'=>['API Email', 'Example Mailings'], 'subscribedTopics'=>['Corporate Mailings', 'MARKETPLACE']}
response = RestClient.post(url, args.to_json, :content_type => "application/json;charset=utf-8")
puts response
						
import requests
url = "http://www.example.com/api/rest/Subscriptions/Change";
args = {'accountName':'acme','login':'ApiUser', 'password':'f334f3fg3', 'emailAddress':'joe@example.com', 'unsubscribedTopics':['API Email','Example Mailings'], 'subscribedTopics':['Corporate Mailings','MARKETPLACE']}
headers = {'Content-Type': 'application/json'}
resp = requests.post(url, json=args, headers=headers)
if resp.status_code == 200:
	print resp.text
							

curl -X POST -H "Content-Type: application/json" -d "{'accountName':'acme','login':'ApiUser', 'password':'f334f3fg3', 'emailAddress':'joe@example.com', 'unsubscribedTopics':['API Email','Example Mailings'], 'subscribedTopics':['Corporate Mailings','MARKETPLACE']}" http://www.example.com/API/Rest/Subscriptions/Change

As a user of Goolara Symphonie, the REST API is free and included in the latest version of the software. If you have any questions about using Symphonie’s REST API, feel free to contact us.