Contact list management resource¶
The contact list resource handles creation, editing, deletion of contact lists and of individual contacts contained within.
Also see: Contact list resource PHP code samples
Get all contact lists¶
The resource results can be filtered using the optional querystring parameters:
filter -
all
orderby - one of
name, total, lastsenttolist
offset
limit
Request:
GET /contact/list?filter=all&orderby=email
Response
{
"contacts": [
{
"list_id": 0,
"name": "all",
"lastsenttolist": null,
"total": "2"
},
{
"list_id": "1",
"name": "test1",
"lastsenttolist": "0000-00-00 00:00:00",
"total": "13"
}
]
"total": 2,
"filters": {
"filter": "all",
"orderby": "email",
"offset": 0,
"limit": 1000
}
}
Get a single contact list with its recipients¶
The resource results can be filtered using the optional querystring parameters:
filter - one of
all, subscribed, unsubscribed
orderby - one of
email, added
offset
limit
Request:
GET /contact/list/{LIST_HASH}?filter=all&orderby=email
Response
{
"contacts": [
{
"recipient_id": "13328313",
"email": "test1@example.org",
"added": "2012-10-11 18:03:41"
},
{
"recipient_id": "13134105",
"email": "test2@example.org",
"added": "2012-09-05 12:06:13"
},
],
"name": "all",
"total": "2",
"stats": {
"total": 2,
"unsubscribed": 0,
"subscribed": 2
},
"filters": {
"filter": "all",
"orderby": "email",
"offset": 0,
"limit": 1000
}
}
Get a single contact list in CSV format¶
May change in the future to use the `Accept` header
The resource results can be filtered using the optional querystring parameters:
filter - one of
all, subscribed, unsubscribed
Request:
GET /contact/csv/{LIST_HASH}
Response:
Content-type: text/csv
Content-disposition: attachment; filename=listname-filter.csv
email,firstname,lastname,added
email@example.org,John,Doe,2013-01-01 10:00:00
email2@example.org,Jane,Doe,2013-01-01 10:00:00
Get a single recipient from a contact list¶
Request:
GET /contact/list/{LIST_HASH}/rcpt/{EMAIL}
Response
{
"contacts": [
{
"email": "email@example.org",
"added": "2012-06-24 07:10:42"
}
]
}
Add contacts with custom fields to contactlist¶
If you want to add contacts with custom fields, the contacts
can be given as a map of key-value pairs:
Request
POST /contact/list/{LIST_HASH}
{
"name": "Contact list name",
"contacts": [
{
"email": "email@example.org",
"firstname": "John",
"lastname": "Doe"
},
{
"email": "email2@example.org",
"firstname": "Jane",
"lastname": "Doe"
}
]
}
Response
Status: 201
{
"status": "created",
"columns": "3",
"id": "1"
}
A more compact format which we support is using a definition
list. The input can be significantly smaller for large lists.
Request
POST /contact/list
{
"name": "Contact list name",
"definition": ["email", "name"],
"contacts": [
["email@example.org", "John"],
["email2@example.org", "Jane"]
]
}
Response
Status: 201
{
"status": "created",
"columns": "2",
"id": "1"
}
Edit an existing contact list¶
Add new contacts to an existing contact list. The contacts
map supports the same format used for contact list creation, including custom fields. If the contact already exists, the custom fields will be overridden.
Possible action
values are:
subscribe
resubscribe
unsubscribe
Request
POST /contact/list/{LIST_HASH}
{
"contacts": ["email@example.org", "email2@example.org"],
"action": "subscribe"
}
Response
{"status": "saved"}
Manage a single recipient from a contact list¶
Edit a contact’s subscription. Possible status
values are:
subscribe
unsubscribe
Request
POST /contact/list/{LIST_HASH}/rcpt/{EMAIL}
{
"status": "unsubscribe"
}
Response
{
"status": "modified"
}