Alter the subscriptions for a recipient.
Post
/API/Rest/Subscriptions/Change
| 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.
CreateEditMember
No Permission
Invalid topic:
Recipient is not in the database
Too many API calls
Database error
Unknown error
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"]
Update the topic subscriptions.
using System;
using System.Net.Http;
using System.Text;
string url = "https://example.com/API/Rest/Subscriptions/Change";
string message = "{\"accountName\":\"acme\",\"login\":\"ApiUser\",\"password\":\"YOUR_PASSWORD\",\"emailAddress\":\"joe@example.com\",\"unsubscribedTopics\":[\"API Email\",\"Example Mailings\"],\"subscribedTopics\":[\"Corporate Mailings\",\"MARKETPLACE\"]}";
// Reuse HttpClient for multiple requests in production code.
using (var client = new HttpClient())
using (var request = new HttpRequestMessage(HttpMethod.Post, url))
{
request.Content = new StringContent(message, Encoding.UTF8, "application/json");
using (HttpResponseMessage response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}
# encoding: utf-8
require 'rest-client'
require 'json'
url = 'https://example.com/API/Rest/Subscriptions/Change'
args = {'accountName'=>'acme','login'=>'ApiUser',
'password'=>'YOUR_PASSWORD','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 = "https://example.com/API/Rest/Subscriptions/Change"
args = {'accountName':'acme','login':'ApiUser', 'password':'YOUR_PASSWORD', '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 --request POST --header "Content-Type: application/json" --data '{"accountName":"acme","login":"ApiUser", "password":"YOUR_PASSWORD", "emailAddress":"joe@example.com", "unsubscribedTopics":["API Email","Example Mailings"], "subscribedTopics":["Corporate Mailings","MARKETPLACE"]}' "https://example.com/API/Rest/Subscriptions/Change"