Search for recipients based on demographics or topic subscriptions. Combine multiple piece of criteria to filter the results to get just those recipients you want. All demographics are returned.
Post
/API/Rest/Recipients/Search
| topicName | (Optional) Only return recipients marked as subscribed to this topic |
| searchDemographics | (Optional) An array of demographic fields to use for searching |
| searchCriterias | (Optional) An array of criteria for the searching of the demographic fields |
| searchValues | (Optional) An array of values to match against the search fields |
ViewMember
No Permission
The search criteria fields must have an equal number of entries in each array
Invalid topic name
Cannot find demographic
Unknown search criteria
Invalid demographic operator for column
Cannot convert column '' to money type
Cannot convert column '' to decimal type
Cannot convert column '' to boolean type
Cannot convert column '' to datetime type
Cannot convert column '' to char type
Cannot convert column '' to int type
Row not found
Too many API calls
Database error
Unknown error
Recipients in the large data format with the addition of an array providing the column names that are part of the data set, since these are user-defined.
{"downloadGuid":"2b0df9a2-bf30-4905-b6ba-4f8a782209a4","totalRows":4,
"columns":["Email Address", "Name", "Age", "LastName", "Title", "Language", "Salutation", "Company", "Territory_Region", "Mailing_Country", "FirstName"],
"userData":[["joe.example@example.com","Joe Example","33","Example","President","English","Mr.","Example.com","USA West","United States","Joe"],
["sam.example@example.com","Sam Example","45","Example","vp","English","Mr.","Acme","USA East","United States","Sam"],
["Linda@example.com","Linda Example","43","Example","VP Marketing","English","Ms.","IBM","USA East","United States","Linda"]]}
Query for recipients with an email address that starts with 'Joe'.
using System;
using System.Net.Http;
using System.Text;
string url = "https://example.com/API/Rest/Recipients/Search";
string message = "{\"accountName\":\"acme\",\"login\":\"ApiUser\",\"password\":\"YOUR_PASSWORD\",\"searchDemographics\":[\"EmailAddress\"],\"searchCriterias\":[\"StartsWith\"],\"searchValues\":[\"Joe\"]}";
// 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/Recipients/Search'
args = {'accountName'=>'acme', 'login'=>'ApiUser', 'password'=>'YOUR_PASSWORD', 'searchDemographics':['EmailAddress'],'searchCriterias':['StartsWith'],'searchValues':['Joe']}
response = RestClient.post(url, args.to_json, :content_type => "application/json;charset=utf-8")
puts response
import requests
url = "https://example.com/API/Rest/Recipients/Search"
args = {'accountName':'acme','login':'ApiUser','password':'YOUR_PASSWORD','searchDemographics':['EmailAddress'],'searchCriterias':['StartsWith'],'searchValues':['Joe']}
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", "searchDemographics":["EmailAddress"],"searchCriterias":["StartsWith"],"searchValues":["Joe"]}' "https://example.com/API/Rest/Recipients/Search"