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"}
using System;
using System.Net.Http;
using System.Text;

string url = "https://example.com/API/Rest/Referrals/Create";
string message = "{\"accountName\":\"acme\",\"login\":\"ApiUser\",\"password\":\"YOUR_PASSWORD\",\"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}";

// 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/Referrals/Create'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'YOUR_PASSWORD', 
					'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 = "https://example.com/API/Rest/Referrals/Create"
args = {'accountName':'acme','login':'ApiUser', 'password':'YOUR_PASSWORD', 
					'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 --request POST --header "Content-Type: application/json" --data '{"accountName":"acme","login":"ApiUser", "password":"YOUR_PASSWORD", "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}' "https://example.com/API/Rest/Referrals/Create"