Groups
Phonebook API enables you to use our blacklisting feature and manage contacts and groups.
Overview
Every contact in the Phonebook may belong to one or many Groups, which makes it easy to send targeted messages just by selecting the Groups you want.
You can think of Groups also as Labels that each Contacts can have.
When sending message to multiple groups, Messente only sends one message per Contact. This means you can send messages without having to worry about duplicate messages being sent.
Using the Phonebook API you can:
- List all Groups
- Retrieve a specific Group
- Create a new Group
- Update an existing Group
- Delete a Group
info
Bear in mind, that when deleting a Group, all the Contacts remain in the Phonebook.
Retrieve a group
Using a library
- Python
- Node
- PHP
- Java
- Ruby
- .NET
- cURL
from messente_api import GroupsApi, ApiClient, Configuration
from messente_api.rest import ApiException
configuration = Configuration()
configuration.username = "YOUR_MESSENTE_API_USERNAME"
configuration.password = "YOUR_MESSENTE_API_PASSWORD"
api = GroupsApi(ApiClient(configuration))
try:
response = api.fetch_group("5792a02a-e5c2-422b-a0a0-0ae65d814663")
print(response)
except ApiException as e:
print("Exception when calling fetch_group: %s\n" % e)
const MessenteApi = require("messente_api");
const defaultClient = MessenteApi.ApiClient.instance;
const basicAuth = defaultClient.authentications["basicAuth"];
basicAuth.username = "YOUR_MESSENTE_API_USERNAME";
basicAuth.password = "YOUR_MESSENTE_API_PASSWORD";
const api = new MessenteApi.GroupsApi();
api.fetchGroup(
"5792a02a-e5c2-422b-a0a0-0ae65d814663",
(error, data, response) => {
if (error) {
console.error(error.response.body);
} else {
console.log("API called successfully. \n", response.body);
}
}
);
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Messente\Api\Configuration;
use GuzzleHttp\Client;
use Messente\Api\Api\GroupsApi;
$config = Configuration::getDefaultConfiguration();
$config->setUsername('YOUR_MESSENTE_API_USERNAME');
$config->setPassword('YOUR_MESSENTE_API_PASSWORD');
$api = new GroupsApi(new Client(), $config);
try {
$response = $api->fetchGroup('5792a02a-e5c2-422b-a0a0-0ae65d814663');
echo $response . PHP_EOL;
} catch (Exception $e) {
echo 'Exception when calling fetchGroup: ', $e->getMessage(), PHP_EOL;
}
?>
import com.messente.ApiClient;
import com.messente.ApiException;
import com.messente.api.GroupEnvelope;
import com.messente.api.GroupsApi;
import com.messente.auth.HttpBasicAuth;
public class FetchGroupExample {
public static void main(String[] args) {
ApiClient apiClient = new ApiClient();
HttpBasicAuth basicAuth = (HttpBasicAuth) apiClient.getAuthentication("basicAuth");
basicAuth.setUsername("YOUR_MESSENTE_API_USERNAME");
basicAuth.setPassword("YOUR_MESSENTE_API_PASSWORD");
GroupsApi api = new GroupsApi(apiClient);
try {
GroupEnvelope response = api.fetchGroup("5792a02a-e5c2-422b-a0a0-0ae65d814663");
System.out.println(response);
} catch (ApiException e) {
System.err.println("Exception when calling fetchGroup");
e.printStackTrace();
}
}
}
require 'messente_api'
MessenteApi.configure do |config|
config.username = 'YOUR_MESSENTE_API_USERNAME'
config.password = 'YOUR_MESSENTE_API_PASSWORD'
end
api = MessenteApi::GroupsApi.new
begin
result = api.fetch_group('5792a02a-e5c2-422b-a0a0-0ae65d814663')
p result.group
rescue MessenteApi::ApiError => e
p "Exception when calling fetch_group: #{e.response_body}"
end
using System;
using com.Messente.Api.Api;
using com.Messente.Api.Client;
using com.Messente.Api.Model;
namespace Example
{
public class FetchGroupExample
{
static void Main(string[] args)
{
Configuration.Default.Username = "YOUR_MESSENTE_API_USERNAME";
Configuration.Default.Password = "YOUR_MESSENTE_API_PASSWORD";
var api = new GroupsApi();
try
{
GroupEnvelope result = api.FetchGroup(
"5792a02a-e5c2-422b-a0a0-0ae65d814663"
);
Console.WriteLine(result.ToJson());
}
catch (Exception e)
{
Console.WriteLine("Exception when calling FetchGroups: " + e.Message);
}
}
}
}
curl https://api.messente.com/v1/phonebook/groups/5792a02a-e5c2-422b-a0a0-0ae65d814663 \
-u YOUR_MESSENTE_API_USERNAME:YOUR_MESSENTE_API_PASSWORD
Delete a group
Using a library
- Python
- Node
- PHP
- Java
- Ruby
- .NET
- cURL
from messente_api import GroupsApi, ApiClient, Configuration
from messente_api.rest import ApiException
configuration = Configuration()
configuration.username = "YOUR_MESSENTE_API_USERNAME"
configuration.password = "YOUR_MESSENTE_API_PASSWORD"
api = GroupsApi(ApiClient(configuration))
try:
api.delete_group("5792a02a-e5c2-422b-a0a0-0ae65d814663")
print("API called successfully.")
except ApiException as e:
print("Exception when calling delete_group: %s\n" % e)
const MessenteApi = require("messente_api");
const defaultClient = MessenteApi.ApiClient.instance;
const basicAuth = defaultClient.authentications["basicAuth"];
basicAuth.username = "YOUR_MESSENTE_API_USERNAME";
basicAuth.password = "YOUR_MESSENTE_API_PASSWORD";
const api = new MessenteApi.GroupsApi();
api.deleteGroup(
"5792a02a-e5c2-422b-a0a0-0ae65d814663",
(error, data, response) => {
if (error) {
console.error(error.response.body);
} else {
console.log("API called successfully.");
}
}
);
<?php
require_once __DIR__ . '/vendor/autoload.php';
use GuzzleHttp\Client;
use Messente\Api\Configuration;
use Messente\Api\Api\GroupsApi;
$config = Configuration::getDefaultConfiguration();
$config->setUsername('YOUR_MESSENTE_API_USERNAME');
$config->setPassword('YOUR_MESSENTE_API_PASSWORD');
$api = new GroupsApi(new Client(), $config);
try {
$api->deleteGroup('5792a02a-e5c2-422b-a0a0-0ae65d814663');
echo 'API called successfully.' . PHP_EOL;
} catch (Exception $e) {
echo 'Exception when calling deleteGroup: ', $e->getMessage(), PHP_EOL;
}
?>
import com.messente.ApiClient;
import com.messente.ApiException;
import com.messente.api.GroupsApi;
import com.messente.auth.HttpBasicAuth;
public class DeleteGroupExample {
public static void main(String[] args) {
ApiClient apiClient = new ApiClient();
HttpBasicAuth basicAuth = (HttpBasicAuth) apiClient.getAuthentication("basicAuth");
basicAuth.setUsername("YOUR_MESSENTE_API_USERNAME");
basicAuth.setPassword("YOUR_MESSENTE_API_PASSWORD");
GroupsApi api = new GroupsApi(apiClient);
try {
api.deleteGroup("5792a02a-e5c2-422b-a0a0-0ae65d814663");
System.out.println("API called successfully.");
} catch (ApiException e) {
System.err.println("Exception when calling deleteGroup");
e.printStackTrace();
}
}
}
require 'messente_api'
MessenteApi.configure do |config|
config.username = 'YOUR_MESSENTE_API_USERNAME'
config.password = 'YOUR_MESSENTE_API_PASSWORD'
end
api = MessenteApi::GroupsApi.new
begin
api.delete_group('5792a02a-e5c2-422b-a0a0-0ae65d814663')
p 'API called successfully.'
rescue MessenteApi::ApiError => e
p "Exception when calling delete_group: #{e.response_body}"
end
using System;
using com.Messente.Api.Api;
using com.Messente.Api.Client;
using com.Messente.Api.Model;
namespace Example
{
public class DeleteGroupExample
{
static void Main(string[] args)
{
Configuration.Default.Username = "YOUR_MESSENTE_API_USERNAME";
Configuration.Default.Password = "YOUR_MESSENTE_API_PASSWORD";
var api = new GroupsApi();
try
{
api.DeleteGroup("5792a02a-e5c2-422b-a0a0-0ae65d814663");
Console.WriteLine("API called successfully.");
}
catch (Exception e)
{
Console.WriteLine("Exception when calling DeleteGroup: " + e.Message);
}
}
}
}
curl -X DELETE \
https://api.messente.com/v1/phonebook/groups/5792a02a-e5c2-422b-a0a0-0ae65d814663 \
-u YOUR_MESSENTE_API_USERNAME:YOUR_MESSENTE_API_PASSWORD
Update a group with the provided name
Endpoint
PUT https://api.messente.com/v1/phonebook/groups/{groupId}
Parameters
groupId=5792a02a-e5c2-422b-a0a0-0ae65d814663
Request Body
{
"name": "Any group name"
}
Successful Response
HTTP 200
{
"group": {
"contactsCount": 1,
"name": "Any group name",
"id": "5792a02a-e5c2-422b-a0a0-0ae65d814663",
"createdOn": "2019-04-22T11:46:23.753613Z"
}
}
Using a library
- Python
- Node
- PHP
- Java
- Ruby
- .NET
- cURL
from messente_api import GroupsApi, ApiClient, Configuration
from messente_api.rest import ApiException
configuration = Configuration()
configuration.username = "YOUR_MESSENTE_API_USERNAME"
configuration.password = "YOUR_MESSENTE_API_PASSWORD"
api = GroupsApi(ApiClient(configuration))
try:
response = api.update_group(
"5792a02a-e5c2-422b-a0a0-0ae65d814663", {"name": "Any group name"}
)
print(response)
except ApiException as e:
print("Exception when calling update_group: %s\n" % e)
const MessenteApi = require("messente_api");
const defaultClient = MessenteApi.ApiClient.instance;
const basicAuth = defaultClient.authentications["basicAuth"];
basicAuth.username = "YOUR_MESSENTE_API_USERNAME";
basicAuth.password = "YOUR_MESSENTE_API_PASSWORD";
const api = new MessenteApi.GroupsApi();
api.updateGroup(
"5792a02a-e5c2-422b-a0a0-0ae65d814663",
{ name: "Any group name" },
(error, data, response) => {
if (error) {
console.error(error.response.body);
} else {
console.log("API called successfully. \n", response.body);
}
}
);
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Messente\Api\Configuration;
use GuzzleHttp\Client;
use Messente\Api\Api\GroupsApi;
$config = Configuration::getDefaultConfiguration();
$config->setUsername('YOUR_MESSENTE_API_USERNAME');
$config->setPassword('YOUR_MESSENTE_API_PASSWORD');
$api = new GroupsApi(new Client(), $config);
try {
$response = $api->updateGroup('5792a02a-e5c2-422b-a0a0-0ae65d814663', [
'name' => 'Any group name'
]);
echo $response . PHP_EOL;
} catch (Exception $e) {
echo 'Exception when calling updateGroup: ', $e->getMessage(), PHP_EOL;
}
?>
import com.messente.ApiClient;
import com.messente.ApiException;
import com.messente.api.GroupEnvelope;
import com.messente.api.GroupName;
import com.messente.api.GroupsApi;
import com.messente.auth.HttpBasicAuth;
public class UpdateGroupExample {
public static void main(String[] args) {
ApiClient apiClient = new ApiClient();
HttpBasicAuth basicAuth = (HttpBasicAuth) apiClient.getAuthentication("basicAuth");
basicAuth.setUsername("YOUR_MESSENTE_API_USERNAME");
basicAuth.setPassword("YOUR_MESSENTE_API_PASSWORD");
GroupsApi api = new GroupsApi(apiClient);
try {
GroupEnvelope response = api.updateGroup("5792a02a-e5c2-422b-a0a0-0ae65d814663",
new GroupName().name("Any group name"));
System.out.println(response);
} catch (ApiException e) {
System.err.println("Exception when calling updateGroup");
e.printStackTrace();
}
}
}
require 'messente_api'
MessenteApi.configure do |config|
config.username = 'YOUR_MESSENTE_API_USERNAME'
config.password = 'YOUR_MESSENTE_API_PASSWORD'
end
api = MessenteApi::GroupsApi.new
begin
result = api.update_group(
'5792a02a-e5c2-422b-a0a0-0ae65d814663',
'name': 'Any group name'
)
p result.group
rescue MessenteApi::ApiError => e
p "Exception when calling update_group: #{e.response_body}"
end
using System;
using com.Messente.Api.Api;
using com.Messente.Api.Client;
using com.Messente.Api.Model;
namespace Example
{
public class UpdateGroupExample
{
static void Main(string[] args)
{
Configuration.Default.Username = "YOUR_MESSENTE_API_USERNAME";
Configuration.Default.Password = "YOUR_MESSENTE_API_PASSWORD";
var api = new GroupsApi();
try
{
GroupEnvelope result = api.UpdateGroup(
"5792a02a-e5c2-422b-a0a0-0ae65d814663",
new GroupName("Any group name")
);
Console.WriteLine(result.ToJson());
}
catch (Exception e)
{
Console.WriteLine("Exception when calling UpdateGroup: " + e.Message);
}
}
}
}
curl -X PUT \
https://api.messente.com/v1/phonebook/groups/5792a02a-e5c2-422b-a0a0-0ae65d814663 \
-u YOUR_MESSENTE_API_USERNAME:YOUR_MESSENTE_API_PASSWORD \
-H 'Content-Type: application/json' \
-d '{
"name": "Any group name"
}'
List all groups
Using a library
- Python
- Node
- PHP
- Java
- Ruby
- .NET
- cURL
from messente_api import GroupsApi, ApiClient, Configuration
from messente_api.rest import ApiException
configuration = Configuration()
configuration.username = "YOUR_MESSENTE_API_USERNAME"
configuration.password = "YOUR_MESSENTE_API_PASSWORD"
api = GroupsApi(ApiClient(configuration))
try:
response = api.fetch_groups()
print(response)
except ApiException as e:
print("Exception when calling fetch_groups: %s\n" % e)
const MessenteApi = require("messente_api");
const defaultClient = MessenteApi.ApiClient.instance;
const basicAuth = defaultClient.authentications["basicAuth"];
basicAuth.username = "YOUR_MESSENTE_API_USERNAME";
basicAuth.password = "YOUR_MESSENTE_API_PASSWORD";
const api = new MessenteApi.GroupsApi();
api.fetchGroups((error, data, response) => {
if (error) {
console.error(error.response.body);
} else {
console.log("API called successfully. \n", response.body);
}
});
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Messente\Api\Configuration;
use GuzzleHttp\Client;
use Messente\Api\Api\GroupsApi;
$config = Configuration::getDefaultConfiguration();
$config->setUsername('YOUR_MESSENTE_API_USERNAME');
$config->setPassword('YOUR_MESSENTE_API_PASSWORD');
$api = new GroupsApi(new Client(), $config);
try {
$response = $api->fetchGroups();
echo $response . PHP_EOL;
} catch (Exception $e) {
echo 'Exception when calling fetchGroups: ', $e->getMessage(), PHP_EOL;
}
?>
import com.messente.ApiClient;
import com.messente.ApiException;
import com.messente.api.GroupsApi;
import com.messente.api.GroupListEnvelope;
import com.messente.auth.HttpBasicAuth;
public class FetchGroupsExample {
public static void main(String[] args) {
ApiClient apiClient = new ApiClient();
HttpBasicAuth basicAuth = (HttpBasicAuth) apiClient.getAuthentication("basicAuth");
basicAuth.setUsername("YOUR_MESSENTE_API_USERNAME");
basicAuth.setPassword("YOUR_MESSENTE_API_PASSWORD");
GroupsApi api = new GroupsApi(apiClient);
try {
GroupListEnvelope response = api.fetchGroups();
System.out.println(response);
} catch (ApiException e) {
System.err.println("Exception when calling fetchGroups");
e.printStackTrace();
}
}
}
require 'messente_api'
MessenteApi.configure do |config|
config.username = 'YOUR_MESSENTE_API_USERNAME'
config.password = 'YOUR_MESSENTE_API_PASSWORD'
end
api = MessenteApi::GroupsApi.new
begin
result = api.fetch_groups
p result.groups
rescue MessenteApi::ApiError => e
p "Exception when calling fetch_groups: #{e.response_body}"
end
using System;
using com.Messente.Api.Api;
using com.Messente.Api.Client;
using com.Messente.Api.Model;
namespace Example
{
public class FetchGroupsExample
{
static void Main(string[] args)
{
Configuration.Default.Username = "YOUR_MESSENTE_API_USERNAME";
Configuration.Default.Password = "YOUR_MESSENTE_API_PASSWORD";
var api = new GroupsApi();
try
{
GroupListEnvelope result = api.FetchGroups();
Console.WriteLine(result.ToJson());
}
catch (Exception e)
{
Console.WriteLine("Exception when calling FetchGroups: " + e.Message);
}
}
}
}
curl https://api.messente.com/v1/phonebook/groups \
-u YOUR_MESSENTE_API_USERNAME:YOUR_MESSENTE_API_PASSWORD
Create a new group with the provided name
Using a library
- Python
- Node
- PHP
- Java
- Ruby
- .NET
- cURL
from messente_api import GroupsApi, ApiClient, Configuration
from messente_api.rest import ApiException
configuration = Configuration()
configuration.username = "YOUR_MESSENTE_API_USERNAME"
configuration.password = "YOUR_MESSENTE_API_PASSWORD"
api = GroupsApi(ApiClient(configuration))
try:
response = api.create_group({"name": "Any group name"})
print(response)
except ApiException as e:
print("Exception when calling create_group: %s\n" % e)
const MessenteApi = require("messente_api");
const defaultClient = MessenteApi.ApiClient.instance;
const basicAuth = defaultClient.authentications["basicAuth"];
basicAuth.username = "YOUR_MESSENTE_API_USERNAME";
basicAuth.password = "YOUR_MESSENTE_API_PASSWORD";
const api = new MessenteApi.GroupsApi();
api.createGroup({ name: "Any group name" }, (error, data, response) => {
if (error) {
console.error(error.response.body);
} else {
console.log("API called successfully. \n", response.body);
}
});
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Messente\Api\Configuration;
use Messente\Api\Api\GroupsApi;
use GuzzleHttp\Client;
$config = Configuration::getDefaultConfiguration();
$config->setUsername('YOUR_MESSENTE_API_USERNAME');
$config->setPassword('YOUR_MESSENTE_API_PASSWORD');
$api = new GroupsApi(new Client(), $config);
try {
$response = $api->createGroup([
'name' => 'Any group name'
]);
echo $response . PHP_EOL;
} catch (Exception $e) {
echo 'Exception when calling createGroup: ', $e->getMessage(), PHP_EOL;
}
?>
import com.messente.ApiClient;
import com.messente.ApiException;
import com.messente.api.GroupEnvelope;
import com.messente.api.GroupName;
import com.messente.api.GroupsApi;
import com.messente.auth.HttpBasicAuth;
public class CreateGroupExample {
public static void main(String[] args) {
ApiClient apiClient = new ApiClient();
HttpBasicAuth basicAuth = (HttpBasicAuth) apiClient.getAuthentication("basicAuth");
basicAuth.setUsername("YOUR_MESSENTE_API_USERNAME");
basicAuth.setPassword("YOUR_MESSENTE_API_PASSWORD");
GroupsApi api = new GroupsApi(apiClient);
try {
GroupEnvelope response = api.createGroup(new GroupName().name("Any group name"));
System.out.println(response);
} catch (ApiException e) {
System.err.println("Exception when calling createGroup");
e.printStackTrace();
}
}
}
require 'messente_api'
MessenteApi.configure do |config|
config.username = 'YOUR_MESSENTE_API_USERNAME'
config.password = 'YOUR_MESSENTE_API_PASSWORD'
end
api = MessenteApi::GroupsApi.new
begin
result = api.create_group('name': 'Any group name')
p result.group
rescue MessenteApi::ApiError => e
p "Exception when calling create_group: #{e.response_body}"
end
using System;
using com.Messente.Api.Api;
using com.Messente.Api.Client;
using com.Messente.Api.Model;
namespace Example
{
public class CreateGroupExample
{
static void Main(string[] args)
{
Configuration.Default.Username = "YOUR_MESSENTE_API_USERNAME";
Configuration.Default.Password = "YOUR_MESSENTE_API_PASSWORD";
var api = new GroupsApi();
try
{
GroupEnvelope result = api.CreateGroup(new GroupName("Any group name"));
Console.WriteLine(result.ToJson());
}
catch (Exception e)
{
Console.WriteLine("Exception when calling CreateGroup: " + e.Message);
}
}
}
}
curl -X POST \
https://api.messente.com/v1/phonebook/groups \
-u YOUR_MESSENTE_API_USERNAME:YOUR_MESSENTE_API_PASSWORD \
-H 'Content-Type: application/json' \
-d '{
"name": "Any group name"
}'