Contacts
Contacts methods allows you to manage contacts that are identified by an unique externalId. Using externalId you can add, update, delete contacts, create groups and more.
Use this method to get a list of all existing contacts.
The number of items omitted from the beginning of the list. Default ‘0’.
0
The maximum number of items returned by request. Default ‘100’. Maximum ‘1000’.
100
Get contacts from specified group id
Search for contact using contact id
The unique ID of the object you are looking for.
Search for contact using phone number
Search for contact using email address
Search for archived contacts
Date in YYYY-MM-DD hh:mm:ii format to search archived contacts
2025-01-03 00:00:00
Date in YYYY-MM-DD hh:mm:ii format to search archived contacts
2025-01-01 00:00:00
Search for unsubscribe contacts sms
Search for unsubscribe contacts email
Search for unsubscribe contacts push
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.messageflow.com/v2.1/contact?offset=0&limit=100&group=<integer>&id=<integer>&externalId=<string>&phoneNumber=<string>&email=<string>&inArchive=<bool>&archiveDateTo=2025-01-03 00:00:00&archiveDateFrom=2025-01-01 00:00:00&isUnsubscribeSms=<bool>&isUnsubscribeEmail=<bool>&isUnsubscribePush=<bool>");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
},
"data": [
{
"companyName": "Example company",
"createdAt": "2019-02-01 20:12:12",
"email": "[email protected]",
"externalId": "XXX-XXX-XXX",
"firstName": "First name",
"id": "1",
"lastName": "Last name",
"phoneNumber": "123123123",
"externalData": {
"test": "test",
"createdAt": "1989-09-28",
"isClient": false
},
"inArchive": "false",
"unsubscribeAllReason": "Last name",
"unsubscribeAllTime": "2019-02-01 20:12:12",
"unsubscribePushTime": "2019-02-01 20:12:12",
"unsubscribeEmailTime": "2019-02-01 20:12:12",
"unsubscribeSmsTime": "2019-02-01 20:12:12",
"isUnsubscribeSms": "false",
"isUnsubscribeEmail": "false",
"isUnsubscribePush": "false"
}
]
}
Use this method to create a new contact object.
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "[{\"addToGroup\":[0],\"companyName\":\"Example company\",\"createdAt\":\"2019-02-01 20:12:12\",\"email\":\"[email protected]\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"id\":\"1\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"inArchive\":\"false\"}]";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.messageflow.com/v2.1/contact");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
},
"data": [
{
"email": "[email protected]",
"externalId": "XXXX-XXXXX-XXXX",
"id": "123",
"phoneNumber": "0123123123"
}
]
}
Use this method to update details of certain contact.
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "[{\"externalId\":\"bfa0b1b1-e636-b8ab-aba4-78a913be0144\",\"data\":{\"companyName\":\"Example company\",\"email\":\"[email protected]\",\"externalId\":\"XXX-XXX-XXX\",\"firstName\":\"First name\",\"id\":\"1\",\"lastName\":\"Last name\",\"phoneNumber\":\"123123123\",\"externalData\":{\"test\":\"test\",\"createdAt\":\"1989-09-28\",\"isClient\":false},\"inArchive\":\"false\"}}]";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Put, "https://api.messageflow.com/v2.1/contact");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
}
}
Use this method to delete contact.
The id of a object
The id of a object
1
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "{\"id\":[1]}";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Delete, "https://api.messageflow.com/v2.1/contact");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
}
}
Use this method to resubscribe a contact from a single channel or all of them at once.
Set in url.
The id of a object
The id of a object
1
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "{\"id\":[1]}";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.messageflow.com/v2.1/contact/resubscribe/{channel}");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
}
}
Use this method to unsubscribe a contact from a single channel or all of them at once.
Set in url.
The id of a object
The id of a object
1
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "{\"id\":[1]}";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.messageflow.com/v2.1/contact/unsubscribe/{channel}");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
}
}
Use this method to list all groups that the contact belongs to.
The id of the contact.
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.messageflow.com/v2.1/contact/{id}/group");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
},
"data": []
}
Use this method to add contact to an existing group.
The id of the contact.
The id of a object
The id of a object
1
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "{\"id\":[1]}";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Post, "https://api.messageflow.com/v2.1/contact/{id}/group");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
}
}
Action allows to delete groups from contact
The id of the contact.
The id of a object
The id of a object
1
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "{\"id\":[1]}";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Delete, "https://api.messageflow.com/v2.1/contact/{id}/group");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
}
}
Use this method to list all additional fields added as externalData in ‘add contact’ method.
The number of items omitted from the beginning of the list. Default ‘0’.
0
The maximum number of items returned by request. Default ‘100’. Maximum ‘1000’.
100
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.messageflow.com/v2.1/contact/field?offset=0&limit=100");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
},
"data": [
{
"fieldName": "text",
"fieldType": "text"
}
]
}
Use this method to list all segments created in your account panel.
The number of items omitted from the beginning of the list. Default ‘0’.
0
The maximum number of items returned by request. Default ‘100’. Maximum ‘1000’.
100
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.messageflow.com/v2.1/contact/segment?offset=0&limit=100");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
},
"data": [
{
"id": "text",
"name": "text",
"createdTime": 1
}
]
}
Use this method to get count of all contacts in the segment.
using System.Threading.Tasks;
internal class Program
{
private static void Main(string[] args)
{
string requestBody = "";
try {
using var client = new HttpClient{};
using var request = new HttpRequestMessage(HttpMethod.Get, "https://api.messageflow.com/v2.1/contact/segment/{id}");
request.Headers.Add("Authorization", "YourAuthorizationKey");
request.Headers.Add("Application-Key", "YourApplicationKey");
request.Content = new StringContent(requestBody, null, "application/json");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
Console.WriteLine(content);
} catch (HttpRequestException e) {
Console.WriteLine("\n Exception Caught!\n Message :{0} ", e.Message);
}
}
}
{
"meta": {
"numberOfErrors": 0,
"numberOfData": 1,
"status": 200,
"uniqId": "00d928f759"
},
"data": [
{
"count": 1
}
]
}