REST Email Marketing API Documentation

Referrals — Check

Check the email addresses proposed for adding as referrals.

HTTP VERB

Post

URL

/API/Rest/Referrals/Check

ARGUMENTS

referrerEmailAddress The email address of the existing recipient who is referring new email addresses.
referrees A structure of two fields, emailAddress and name, which represent the people who are being referred. The name field is optional.
mailQueueId (Optional) The MailQueueId of the message received by the referrer that lead to this sign-up. Required to implement the per-message referral limits.

Required permission

CreateEditMember

ERRORS

No Permission
Too many API calls
Database error
Unknown error

RETURNS

A dictionary of the email address and a message about their status. The status message includes:

No issues
Referrer is banned from creating new referrals
Recipient is already in the database
Recipient has already been referred
Recipient email is banned
Recipient is globally unsubscribed
Invalid email address
Recipient is on a suppression list
Referral limit reached


EXAMPLE

Check if there are issues with several email addresses:


{"j.smith@aol.com":"Recipient has already been referred","joe@example.com":"Recipient is already in the database","error@com":"Invalid email address","Jane.Smith@aol.com":"No issues"}

string message = "{'accountName':'acme','login':'ApiUser', 'password':'sdve4t3gfd', 
'referrees':['sam@example.com', 'fred@aol.com', 'george@aol.com'], 
'referrerEmailAddress':'fred@example.com', 'mailQueueId': 262524}";
string url = "http://example.com/api/rest/Referrals/Check";
								
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/Referrals/Check'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'sdf3w4tw', 
					'referrees'=>['sam@example.com', 'fred@aol.com', 'george@aol.com'],
					'referrerEmailAddress':'fred@example.com', 'mailQueueId': 262524}
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/Referrals/Check";
args = {'accountName':'acme','login':'ApiUser', 'password':'f334f3fg3', 
					'referrerEmailAddress':'fred@example.com', 'mailQueueId': 262524,
					'referrees':['sam@example.com', 'fred@aol.com', 'george@aol.com']}
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', 'referrerEmailAddress':'fred@example.com', 'mailQueueId': 262524, 'referrees':['sam@example.com', 'fred@aol.com', 'george@aol.com']}" http://www.example.com/API/Rest/Referrals/Check

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.