REST Email Marketing API Documentation

DEMOGRAPHICS — ADD

Add a new demographic. If you are using a foreign member table, the column must already exist in your SQL view.

HTTP VERB

POST

URL

/API/Rest/Demographics

ARGUMENTS

columnName The name of the demographic.
dataType The type of data that can be stored in the column
exportWithReports Boolean value of whether this column should be exported with other data for reports.
displayInSearchResults Display this column in the web interface when searching for recipients.

Here are the possible demographic types:
• Boolean: (Two possible choices – Yes/No, True/False, etc.)
• DateTime: (A date and a time, such as the specific date and time a webinar begins)
• Money: (Numbers including decimal points)
• Decimal: (Positive or negative number with up to 4 digits to the right of the period)
• Integer: (Positive or negative numbers without decimals. Numbers up to +-2,147,483,648 are supported)
• String10: Text with up to 10 characters
• String25: Text with up to 25 characters
• String50: Text with up to 50 characters
• String100: Text with up to 100 characters
• String250: Text with up to 250 characters
• Date: (with no time, such as an anniversary)
• Time: (with no date, like the time work begins)
• Char: One character (Such as M/F for gender)

Required permission

CreateEditDemographic

ERRORS

No Permission
That column name already exists
The column does not yet exist in the view used by Symphonie as the foreign member table
Invalid datatype
Database error
Unknown error

RETURNS

Success

EXAMPLE

Add a new demographic.

using System;
using System.Net.Http;
using System.Text;

string url = "https://example.com/API/Rest/Demographics";
string message = "{\"accountName\":\"acme\",\"login\":\"ApiUser\",\"password\":\"YOUR_PASSWORD\",\"columnName\":\"age\",\"dataType\":\"integer\",\"displayInSearchResults\":false,\"exportWithReports\":true}";

// 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/Demographics'
args = {'accountName'=>'acme','login'=>'ApiUser', 'password'=>'YOUR_PASSWORD', 'columnName'=>'age', 'dataType'=>'integer', 'displayInSearchResults'=>false, 'exportWithReports'=>true}
response = RestClient.post(url, args.to_json, :content_type => "application/json;charset=utf-8")
puts response
						
import requests
url = "https://example.com/API/Rest/Demographics"
args = {'accountName':'acme', 'login':'ApiUser', 'password':'YOUR_PASSWORD', 'columnName':'age', 'dataType':'integer', 'displayInSearchResults':False, 'exportWithReports':True}
headers = {'password':'YOUR_PASSWORD'}
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", "columnName":"age", "dataType":"integer", "displayInSearchResults":false, "exportWithReports":true}' "https://example.com/API/Rest/Demographics"