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