Campaign management resource#
Required API Scopes: account_management
List campaigns#
The resource results can be filtered using the optional querystring parameters:
filter: -
all, campaign, transactionaldefault allstate_filter
all, new, scheduled, sending, sent, cancelleddefault allcontact_list_filter:
all, $contactlist_iddefault allorderby:
name, cdate, total, opened, openedratio, clicked, clickedratiodefault cdateoffset default:0
limit default:20
Request
GET /campaigns
Response
{
"campaign": [
{
"campaign_id": 0,
"name": "Campaign Name",
"cdate": "2023-01-01T00:00:00Z",
"mdate": "2023-01-01T00:00:00Z",
"autocreated": false,
"state": "new",
"body_html": "<p>Hello, this is a test campaign.</p>",
"schedule": "2023-01-01T00:00:00Z",
"archived": false
}
],
"total": 2,
}
Create campaign#
Request
POST /create campaign
Request Body
{
"name": "Campaign name",
"subject": "Campaign subject",
"sender_email": "sender@example.com",
"sender_name": "Sender Name",
"replyto": "replyto@example.com",
"contactlist_id": 123,
"segment_id": 0,
"ga_tracking": false,
"personalize_to": "",
"body_html": "<p>Hello, this is a test campaign.</p>",
"template_id": 0
}
Response
{
"status",
"id"
}
Get campaign by id#
Request
GET /campaigns/{campaign_id}
Response
{
"campaign": {
"campaign_id": 0,
"name": "Campaign Name",
"cdate": "2023-01-01T00:00:00Z",
"mdate": "2023-01-01T00:00:00Z",
"autocreated": false,
"subject": "Campaign Subject",
"sender_name": "Sender Name",
"replyto": "replyto@example.com",
"schedule": "2023-01-01T00:00:00Z",
"state": "new",
"archived": false,
"contactlist_id": 123,
"segment_id": 0,
"ga_tracking": false,
"personalize_to": "",
"contactlist_name": "Contact List Name",
"sender_email": "sender@example.com"
}
}
Update campaign#
Request
POST /campaigns/{campaign_id}
Request Body
{
"name": "Campaign Name",
"subject": "Campaign Subject",
"sender_email": "sender@example.com",
"sender_name": "Sender Name",
"replyto": "replyto@example.com",
"contactlist_id": 123,
"segment_id": 0,
"ga_tracking": false,
"personalize_to": "",
"body_html": "<p>Hello, this is a test campaign.</p>",
"template_id": 0
}
Note
A campaign can be updated ONLY IF it’s status is ‘new’ (meaning that the requested campaign wasn’t started)
Response
{
"status"
}
Schedule campaign#
Request
POST /campaigns/schedule/{campaign_id}
Request Body
{
"date": "2023-01-01T00:00:00Z"
}
Response
{
"status"
}
Unschedule previously scheduled campaign#
Request
DELETE: /campaigns/schedule/{campaign_id}
Response
{
"status"
}
Send campaign test email#
Request
POST: /campaigns/test/{campaign_id}
Request Body
{
"addresses": "address1@example.com,address2@example.com"
}
Response
{
"status"
}
Send campaign#
Request
POST: /campaigns/send/{campaign_id}
Response
{
"status"
}
Archive campaign#
Request
POST: /campaigns/archive/{campaign_id}
Response
{
"status"
}
Unarchive campaign#
Request
DELETE: /campaigns/archive/{campaign_id}
Response
{
"status"
}
Ready to send campaign#
Request
GET: /campaigns/ready/{campaign_id}
Response
{
"status"
}
- Status::
ok
editing_no_longer_allowed
campaign_no_unsublink
campaign_bad_rating
campaign_sending_disabled
not_enough_credits
zero_contacts
Duplicate campaign#
Request
POST: /campaigns/duplicate/{campaign_id}
Response
{
"status",
"new_id"
}
Get campaign content#
Request
GET: /campaigns/content/{campaign_id}
Response
{
"body_text",
"body_html"
}
Errors:#
denied (401) - you do not have access to that resource
error (500) - server error
bad_request (400) - required data was not sent
not_found (404) - resource not found
Error codes:#
200: success
201: request has ben fulfilled, new resource created
400: request cannot be fulfilled due to bad syntax (one ore more arguments are missing or midpelling)
401: not alowed here
403: the server understood the request, but is refusing to fulfill it (reason in response status)
404: Resource not found
500: Server error