REST Email Marketing API DocumentationRecipients — AddManyAdd or update one or more recipients, 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. The demographics array must have email address as a minimum, and any other demographics provided will update the values for an existing recipient. Empty values do not override existing data. Recipients cannot be added or updated when using a Foreign Members table. HTTP VERBPost URL/API/Rest/Recipients/AddMany ARGUMENTS
To send a welcome document to the imported recipients, specify the culture, document, and documentOptions information. You can choose to send the document to only newly added recipient, or to all recipient in this import. Provide a fixed segment name to keep a record of the recipients imported from this operation. Required permissionCreateEditMember ERRORS
No Permission RETURNSAn array of results, one for each recipient in the import data. The data returned is the email address, the recipient ID in the system, and the status of the insert or update.
[{"emailAddress":"bob@aol.com","recipientId":67512,"importMessage":"Successfully updated."},
EXAMPLEAdd and update recipients. |
string message = "{'accountName':'acme','login':'ApiUser', 'password':'sdve4t3gfd', 'importType':'AddAndUpdate', 'topics':['Weekly','Daily'], 'culture':'en-US', 'demographics':[['EmailAddress','Name'], ['bob@aol.com','Bob Smith'], ['fred.smith@aol.com','Fred Smith']]}"; string url = "http://example.com/api/rest/Recipients/AddMany"; 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/AddMany' args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'sdf3w4tw', 'importType'=>'AddAndUpdate', 'topics'=>['Weekly','Daily'], 'culture'=>'en-US', 'demographics'=>[['EmailAddress','Name'], ['bob@aol.com','Bob Smith'], ['fred.smith@aol.com','Fred 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/AddMany"; args = {'accountName':'acme','login':'ApiUser', 'password':'f334f3fg3', 'importType':'AddAndUpdate', 'topics':['Weekly','Daily'], 'culture':'en-US', 'document':'', 'documentOptions':'', 'fixedSegmentName':'', 'demographics':[['EmailAddress','Name'], ['bob@aol.com','Bob Smith'], ['fred.smith@aol.com','Fred 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', 'importType':'AddAndUpdate', 'topics':['Weekly','Daily'], 'culture':'en-US', 'document':'', 'documentOptions':'', 'fixedSegmentName':'', 'demographics':[['EmailAddress','Name'], ['bob@aol.com','Bob Smith'], ['fred.smith@aol.com','Fred Smith']]}" http://www.example.com/API/Rest/Recipients/AddMany