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 -
allorderby - one of
name, total, lastsenttolistoffset
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, unsubscribedorderby - one of
email, addedoffset
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"
}