Recipients — AddOne
Add or update one recipient, optionally providing demographic fields. Existing recipients will have their demographics
undated, but their unsubscribe status will not be changed so you don't need to fear re-subscribing someone based on this import. Empty
demographic values do not override existing data. Recipients cannot be added or updated when using a Foreign Members table. Provide the
topics that the person should be subscribed to. If the recipient already exists, they will not be unsubscribed from topics that are not
listed.
HTTP VERB
Post
URL
/API/Rest/Recipients/AddOne
ARGUMENTS
topics
|
(Optional) An array of the topics that this recipients should be marked as subscribed to
|
emailAddress
|
The email address of the new or updated recipient.
|
demographics
|
(optional) A dictionary of keys and values to be imported. The key is the demographic name, the value is the data to add or replace.
|
Required permission
CreateEditMember
ERRORS
No Permission
Using a foreign members table
Email address is banned.
Invalid email address
Topic: is not valid
Demographic: is not a valid demographic
Too many API calls
Database error
Unknown error
RETURNS
Recipient added or Recipient updated
EXAMPLE
Add a new recipient.
string message = "{'accountName':'acme','login':'ApiUser', 'password':'sdve4t3gfd', 'topics':['Daily','Weekly'], 'emailAddress':'fjfdhfh@aol.com', 'demographics':{'firstname':'Fred', 'lastName':'Smith'}}";
string url = "http://example.com/api/rest/Recipients/AddOne";
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/Recipients/AddOne'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'sdf3w4tw', 'topics'=>['Daily','Weekly'], 'emailAddress'=>'fjfdhfh@aol.com', 'demographics'=>{'firstname'=>'Fred', 'lastName'=>'Smith'}}
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/Recipients/AddOne";
args = {'accountName':'acme', 'login':'ApiUser', 'password':'f334f3fg3', 'topics':['Daily','Weekly'], 'emailAddress':'fjfdhfh@aol.com', 'demographics':{'firstname':'Fred', 'lastName':'Smith'}}
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', 'topics':['Daily','Weekly'], 'emailAddress':'fjfdhfh@aol.com', 'demographics':{'firstname':'Fred', 'lastName':'Smith'}}" http://www.example.com/API/Rest/Recipients/AddOne