REST Email Marketing API Documentation

Referrals — Create

Create a refer-a-friend invitation to one or more new email addresses.

HTTP VERB

Post

URL

/API/Rest/Referrals/Create

ARGUMENTS

referrerEmailAddress The email address of the existing recipient who is referring new email addresses.
referrerComment (Optional) If a document is sent to the referrees (not recommended), some text to mail merge into the document to personalize the message.
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. Allows for tracking of which messages lead to the most referrals.
documentName (Optional) If a document is sent to the referrees (not recommended), the name of that document of type refer-a-friend.

Required permission

CreateEditMember

ERRORS

No Permission
Invalid document name
Invalid document type - must be a refer-a-friend type
Invalid mailQueueId
Invalid referrer
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:

Referral added
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
Document failed to queue


EXAMPLE

Add several new referrals.


{"Lisa.Baker@aol.com":"Recipient has already been referred", "info@sears.com":"Recipient email is banned", "Pilot@tdn.com":"Recipient has already been referred", "Daeshona.hill@doctors.edu":"Referral added"}

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

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.