A/B Mailing Campaigns

General info

Data format

application/json

Response format

application/json

Authorization

The Server-to-Server API verifies the client’s authorization and API address. The login and secret are passed using Basic HTTP Authorization in the Authorization header Authorization: Basic base64('login:secret') The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

GET /api/v2/posts/ab/

Get the list of A/B mail campaigns

POST /api/v2/posts/ab

Create an A/B mailing campaign

Parameters
Parameter Type Required Description
messages_type char Yes Mailing campaign message type ('L' - email)
message_id int Yes Message id
source_type char Yes Source type (‘U’ - loadable, ‘S’ - segmented, ‘A’ - API source)
source_id int No Source id, not transmitted on file load
source_uploaded_csv datafile No Address list file
config JSON No Description below
tags string No Tags
priority int No Mailing campaign priority
planned_at datetime No The campaign start time
send_during_hours int No Send over a number of hours
ab_percent int No test base percentage
win_parameter char No WIN_PARAMETER_OPEN = 'O', WIN_PARAMETER_CLICK = 'C', WIN_PARAMETER_CLICK_TO_OPEN = 'U'
test_planned_at datetime No Test start time
main_planned_at datetime No start time of the main database campaign
additional_source_file datafile No File with additional parameters
start_immediately bool No Launch the campaign immediately after creation

GET /api/v2/posts/ab/{id}/

Get a particular A/B mailing campaign by id

PUT /api/v2/posts/ab/{id}/

Rewrite an A/B campaign

Parameters

See above

GET /api/v2/posts/ab/{id}/start/

Start an A/B mailing campaign

GET /api/v2/posts/ab/{id}/pause/

Pause an A/B mailing campaign

GET /api/v2/posts/ab/{id}/resume/

Resume an A/B mailing campaign

GET /api/v2/posts/ab/{id}/archive/

Archive an A/B mailing campaign

config json

Parameter Type Description
not_check_subscription bool
not_check_sent_quarantine bool
retry_sent_quarantine_rejected bool
retry_sent_quarantine_rejected_interval int
min_send_interval int
hook_url_template url
hook_use_auth bool
hook_pre_post bool
not_check_spam_quarantine bool
send_to_corp bool
send_by_uid bool

Automated mailing campaigns

General info

Data format

application/json

Response format

application/json

Authorization

The Server-to-Server API verifies the client’s authorization and API address. The login and secret are passed using Basic HTTP Authorization in the Authorization header Authorization: Basic base64('login:secret') The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

GET /api/v2/posts/auto/

Get the list of automated mailing campaigns

POST /api/v2/posts/auto/

Create an automated mailing campaign

Parameters
Parameter Type Required Description
message_type char Yes Mailing campaign message type ('L' - email)
message_id int Yes Message id
source_type char Yes Source type (‘U’ - loadable, ‘S’ - segmented, ‘A’ - API source)
source_id int Yes Source id
config JSON No Description below
tags string No Tags
priority int No Mailing campaign priority
active bool No Automated mailing campaign enabled
crontab crontab No Mailing campaign schedule
run_from datatime No Start at
run_to int datatime Run until

GET /api/v2/posts/auto/{id}/

Get a particular automated mailing campaign by id

PUT /api/v2/posts/auto/{id}/

Rewrite an automated mailing campaign

Parameters

See above

GET /api/v2/posts/auto/{id}/start/

Start an automated campaign

GET /api/v2/posts/auto/{id}/pause/

Pause a mailing campaign

GET /api/v2/posts/auto/{id}/resume/

Resume a mailing campaign

GET /api/v2/posts/auto/{id}/archive/

Archive an automated mailing campaign

config json

Parameter Type Description
not_check_subscription bool
not_check_sent_quarantine bool
retry_sent_quarantine_rejected bool
retry_sent_quarantine_rejected_interval int
min_send_interval int
hook_url_template url
hook_use_auth bool
hook_pre_post bool
not_check_spam_quarantine bool
send_to_corp bool
send_by_uid bool

Categories

General info

Methods

GET

POST

PUT

PATH

Request body format

application/x-www-form-urlencoded

application/json

Response format

JSON

Authorization

The Server-to-Server API verifies the client’s authorization and API address.

The login and secret are passed using Basic HTTP Authorization in the Authorization header

Authorization: Basic base64('login:secret')

The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

GET /api/v2/category/

Get the categories list
Response example

Response code: 200

Body:

[

{

"category": 1,

"project_id": 110,

"title": "Return",

"description": "Need to take a long break from the game? You will be granted some small gifts upon your return!"

"title_ru": "Возвращение",

"description_ru": "Нужно сделать долгую паузу в игре? "Нужно сделать долгую паузу в игре?

"title_en": "Return",

"title_de": None,

....

},

{

"category": 2,

"project_id": 110,

"title": "Bonuses and discounts",

"description": "Whoever finds out about sales first will never miss out on all the best and most advantageous deals!"

"title_ru": "Бонусы и скидки",

"description_ru": "Кто первым узнает об акциях, тот никогда не пропустит все самое лучшее и выгодное!",

"title_en": None,

"title_de": None,

....

},

...

]

POST /api/v2/category/

Create a category
Parameters
Parameter Type Description
title string Title
description string Description
title_ru string Russian title. Optional
title_en string English title. Optional
title_de string German title. Optional
title_fr string French title. Optional
title_it string Italian title. Optional
title_es string Spanish title. Optional
title_tr string Turkish title. Optional
title_pl string Polish title. Optional
title_zn string Chinese title. Optional
title_ko string Korean title. Optional
description_ru string Russian description. Optional
description_en string English description. Optional
description_de string German description. Optional
description_fr string French description. Optional
description_it string Italian description. Optional
description_es string Spanish description. Optional
description_tr string Turkish description. Optional
description_pl string Polish description. Optional
description_zn string Chinese description. Optional
description_ko string Korean description. Optional
Response example

Response code: 201

Body:

{

"category": 3,

"project_id": 110,

"title": "Title",

"description": "Description”

"title_en": None,

"title_de": None,

....

}

GET /api/v2/category/{category_id}/

Get a single category by id
Response example

Response code: 200

Body:

{

"category": 3,

"project_id": 110,

"title": "Title",

"description": "Description”

"title_en": None,

"title_de": None,

....

}

PUT/PATCH /api/v2/category/{category_id}/

Update a category
Parameters
Parameter Type Description
title string Title
description string Description
title_ru string Russian title. Optional
title_en string English title. Optional
title_de string German title. Optional
title_fr string French title. Optional
title_it string Italian title. Optional
title_es string Spanish title. Optional
title_tr string Turkish title. Optional
title_pl string Polish title. Optional
title_zn string Chinese title. Optional
title_ko string Korean title. Optional
description_ru string Russian description. Optional
description_en string English description. Optional
description_de string German description. Optional
description_fr string French description. Optional
description_it string Italian description. Optional
description_es string Spanish description. Optional
description_tr string Turkish description. Optional
description_pl string Polish description. Optional
description_zn string Chinese description. Optional
description_ko string Korean description. Optional
Response example

Response code: 200

Body:

{

"category": 3,

"project_id": 110,

"title": "Title",

"description": "Description”,

"title_en": None,

"title_de": None,

....

}

Emails

General info

Data format

application/json

Response format

application/json

Authorization

The Server-to-Server API verifies the client’s authorization and API address. The login and secret are passed using Basic HTTP Authorization in the Authorization header Authorization: Basic base64('login:secret') The login and secret, and the list of allowed IP addresses, can be changed in the project settings

dataurl format

"data:[mediatype];base64,[data in base64]"

Supported mediatypes

text/html

application/zip

Method Descriptions

GET /api/v2/letter/

Get a list of emails

POST /api/v2/letter/

Create an email

Parameters
Parameter Type Required Description
category int Yes Category
from_address string Yes From address
subject string No Subject
internal_name string No Internal name
subject_ru string No Email subject [ru]
subject_en string No Email subject [en]
subject_de string No Email subject [de]
subject_fr string No Email subject [fr]
subject_it string No Email subject [it]
subject_es string No Email subject [es]
subject_tr string No Email subject [tr]
subject_pl string No Email subject [pl]
subject_zh string No Email subject [zh]
subject_ko string No Email subject [ko]
text_html string No Email HTML template
text_html_ru string No Email HTML template [ru]
text_html_en string No Email HTML template [en]
text_html_de string No Email HTML template [de]
text_html_fr string No Email HTML template [fr]
text_html_it string No Email HTML template [it]
text_html_es string No Email HTML template [es]
text_html_tr string No Email HTML template [tr]
text_html_pl string No Email HTML template [pl]
text_html_zh string No Email HTML template [zh]
text_html_ko string No Email HTML template [ko]
text_plain string No Plain text version
text_plain_ru string No Plain text version [ru]
text_plain_en string No Plain text version [en]
text_plain_de string No Plain text version [de]
text_plain_fr string No Plain text version [fr]
text_plain_it string No Plain text version [it]
text_plain_es string No Plain text version [es]
text_plain_tr string No Plain text version [tr]
text_plain_pl string No Plain text version [pl]
text_plain_zh string No Plain text version [zh]
text_plain_ko string No Plain text version [ko]
x_amp_html string No Email X-AMP-HTML template
x_amp_html_ru string No Email X-AMP-HTML template [ru]
x_amp_html_en string No Email X-AMP-HTML template [en]
x_amp_html_de string No Email X-AMP-HTML template [de]
x_amp_html_fr string No Email X-AMP-HTML template [fr]
x_amp_html_it string No Email X-AMP-HTML template [it]
x_amp_html_es string No Email X-AMP-HTML template [es]
x_amp_html_tr string No Email X-AMP-HTML template [tr]
x_amp_html_pl string No Email X-AMP-HTML template [pl]
x_amp_html_zh string No Email X-AMP-HTML template [zh]
x_amp_html_ko string No Email X-AMP-HTML template [ko]
is_urgent boolean No Transactional email
not_add_unsubscr_link boolean No Do not include unsubscribe link
not_add_web_view_link boolean No Do not include web version link
file_html string No HTML file as dataurl
file_html_ru string No ru HTML file as dataurl
file_html_en string No en HTML file as dataurl
file_html_de string No de HTML file as dataurl
file_html_fr string No fr HTML file as dataurl
file_html_it string No it HTML file as dataurl
file_html_es string No es HTML file as dataurl
file_html_tr string No tr HTML file as dataurl
file_html_pl string No pl HTML file as dataurl
file_html_zh string No zh HTML file as dataurl
file_html_ko string No ko HTML file as dataurl

GET /api/v2/letter/{id}/

Get a particular email by id

PUT /api/v2/letter/{id}/

Rewrite an email

Parameters
Parameter Type Required Description
category int Yes Category
from_address string Yes From address
subject string No Subject
internal_name string No Internal name
subject_ru string No Email subject [ru]
subject_en string No Email subject [en]
subject_de string No Email subject [de]
subject_fr string No Email subject [fr]
subject_it string No Email subject [it]
subject_es string No Email subject [es]
subject_tr string No Email subject [tr]
subject_pl string No Email subject [pl]
subject_zh string No Email subject [zh]
subject_ko string No Email subject [ko]
text_html string No Email HTML template
text_html_ru string No Email HTML template [ru]
text_html_en string No Email HTML template [en]
text_html_de string No Email HTML template [de]
text_html_fr string No Email HTML template [fr]
text_html_it string No Email HTML template [it]
text_html_es string No Email HTML template [es]
text_html_tr string No Email HTML template [tr]
text_html_pl string No Email HTML template [pl]
text_html_zh string No Email HTML template [zh]
text_html_ko string No Email HTML template [ko]
text_plain string No Plain text version
text_plain_ru string No Plain text version [ru]
text_plain_en string No Plain text version [en]
text_plain_de string No Plain text version [de]
text_plain_fr string No Plain text version [fr]
text_plain_it string No Plain text version [it]
text_plain_es string No Plain text version [es]
text_plain_tr string No Plain text version [tr]
text_plain_pl string No Plain text version [pl]
text_plain_zh string No Plain text version [zh]
text_plain_ko string No Plain text version [ko]
x_amp_html string No Email X-AMP-HTML template
x_amp_html_ru string No Email X-AMP-HTML template [ru]
x_amp_html_en string No Email X-AMP-HTML template [en]
x_amp_html_de string No Email X-AMP-HTML template [de]
x_amp_html_fr string No Email X-AMP-HTML template [fr]
x_amp_html_it string No Email X-AMP-HTML template [it]
x_amp_html_es string No Email X-AMP-HTML template [es]
x_amp_html_tr string No Email X-AMP-HTML template [tr]
x_amp_html_pl string No Email X-AMP-HTML template [pl]
x_amp_html_zh string No Email X-AMP-HTML template [zh]
x_amp_html_ko string No Email X-AMP-HTML template [ko]
is_urgent boolean No Transactional email
not_add_unsubscr_link boolean No Do not include unsubscribe link
not_add_web_view_link boolean No Do not include web version link
in_archive boolean No Archived
file_html string No HTML file as dataurl
file_html_ru string No ru HTML file as dataurl
file_html_en string No en HTML file as dataurl
file_html_de string No de HTML file as dataurl
file_html_fr string No fr HTML file as dataurl
file_html_it string No it HTML file as dataurl
file_html_es string No es HTML file as dataurl
file_html_tr string No tr HTML file as dataurl
file_html_pl string No pl HTML file as dataurl
file_html_zh string No zh HTML file as dataurl
file_html_ko string No ko HTML file as dataurl

PATCH /api/v2/letter/{id}/

Edit an email

Parameters
Parameter Type Required Description
category int Yes Category
from_address string Yes From address
subject string No Subject
internal_name string No Internal name
subject_ru string No Email subject [ru]
subject_en string No Email subject [en]
subject_de string No Email subject [de]
subject_fr string No Email subject [fr]
subject_it string No Email subject [it]
subject_es string No Email subject [es]
subject_tr string No Email subject [tr]
subject_pl string No Email subject [pl]
subject_zh string No Email subject [zh]
subject_ko string No Email subject [ko]
text_html string No Email HTML template
text_html_ru string No Email HTML template [ru]
text_html_en string No Email HTML template [en]
text_html_de string No Email HTML template [de]
text_html_fr string No Email HTML template [fr]
text_html_it string No Email HTML template [it]
text_html_es string No Email HTML template [es]
text_html_tr string No Email HTML template [tr]
text_html_pl string No Email HTML template [pl]
text_html_zh string No Email HTML template [zh]
text_html_ko string No Email HTML template [ko]
text_plain string No Plain text version
text_plain_ru string No Plain text version [ru]
text_plain_en string No Plain text version [en]
text_plain_de string No Plain text version [de]
text_plain_fr string No Plain text version [fr]
text_plain_it string No Plain text version [it]
text_plain_es string No Plain text version [es]
text_plain_tr string No Plain text version [tr]
text_plain_pl string No Plain text version [pl]
text_plain_zh string No Plain text version [zh]
text_plain_ko string No Plain text version [ko]
x_amp_html string No Email X-AMP-HTML template
x_amp_html_ru string No Email X-AMP-HTML template [ru]
x_amp_html_en string No Email X-AMP-HTML template [en]
x_amp_html_de string No Email X-AMP-HTML template [de]
x_amp_html_fr string No Email X-AMP-HTML template [fr]
x_amp_html_it string No Email X-AMP-HTML template [it]
x_amp_html_es string No Email X-AMP-HTML template [es]
x_amp_html_tr string No Email X-AMP-HTML template [tr]
x_amp_html_pl string No Email X-AMP-HTML template [pl]
x_amp_html_zh string No Email X-AMP-HTML template [zh]
x_amp_html_ko string No Email X-AMP-HTML template [ko]
is_urgent boolean No Transactional email
not_add_unsubscr_link boolean No Do not include unsubscribe link
not_add_web_view_link boolean No Do not include web version link
in_archive boolean No Archived
file_html string No HTML file as dataurl
file_html_ru string No ru HTML file as dataurl
file_html_en string No en HTML file as dataurl
file_html_de string No de HTML file as dataurl
file_html_fr string No fr HTML file as dataurl
file_html_it string No it HTML file as dataurl
file_html_es string No es HTML file as dataurl
file_html_tr string No tr HTML file as dataurl
file_html_pl string No pl HTML file as dataurl
file_html_zh string No zh HTML file as dataurl
file_html_ko string No ko HTML file as dataurl

Profiles

General info

Methods

POST

Request body format

application/json

Response format

JSON

Authorization

The Server-to-Server API verifies the client’s authorization and API address.

The login and secret are passed using Basic HTTP Authorization in the Authorization header

Authorization: Basic base64('login:secret')

The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

Users can be identified using one of four fields:

  • uid - user ID in the project
  • email - user email
  • phone - user phone number, if available
  • wp_token - web push token

POST /api/v2/profiles/update/

User creation / update

Creates a new user or updates an existing one based on the provided fields.

All fields must be declared in advance via project settings in the web interface. All undeclared fields will be ignored.

Updating profile fields may trigger automated mailings.

The update occurs synchronously

Parameters
Parameter Type Description
uid string uid - user ID in the project․ Optional
phone phone User phone number. Optional
email email User email. Optional
wp_token wp_token User web push token. Optional
fields JSON Project-specific custom profile fields
Request example

Field 'pole1' (type 'String') was declared in the project settings

Body:

{

"email": "user@mail.ru",

"fields": {

"pole1": "text",

"pole2": 123

}

}

Response example

Response code: 201

Body:

{

"email": "user@mail.ru",

"fields": {

"pole1": "text",

}

}

POST /api/v2/profiles/update/bulk/

Batch user creation / update

Creates new users or updates existing ones based on the provided fields.

All fields must be declared in advance via project settings in the web interface. All undeclared fields will be ignored.

The update occurs synchronously.
A special system field "update_profile_last_updated_at" stores the time of the last profile update to protect against race condition

Parameters
Parameter Type Description
uid string uid - user ID in the project․ Optional
phone phone User phone number. Optional
email email User email. Optional
wp_token wp_token User web push token. Optional
fields JSON Project-specific custom profile fields

An array must be passed in the body. One profile corresponds to one hashmap. Merge all updates of a single profile into a single hashmap beforehand. Do not transmit multiple hashmaps with the same uid, phone, email, or wp_token.

Request example

Field 'pole2' (type 'Int') was declared in the project settings

Body:

[

{

"email":"user1@mail.ru",

"fields":{

"pole1":"text1",

"pole2":123

}

},

{

"email":"user2@mail.ru",

"fields":{

"pole1":"text2",

"pole2":777

}

}

]

Response example

Response code: 202

Body:

[

{

"email":"user1@mail.ru",

"fields":{

"pole2":123

}

},

{

"email":"user2@mail.ru",

"fields":{

"pole2":777

}

}

]

Mailing Campaigns

General info

Data format

application/json

Response format

application/json

Authorization

The Server-to-Server API verifies the client’s authorization and API address. The login and secret are passed using Basic HTTP Authorization in the Authorization header Authorization: Basic base64('login:secret') The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

GET /api/v2/posts/single/

Get the list of mailing campaigns

POST /api/v2/posts/single

Create a mailing campaign

Parameters
Parameter Type Required Description
message_type char Yes Mailing campaign message type ('L' - email)
message_id int Yes Message id
source_type char Yes Source type (‘U’ - loadable, ‘S’ - segmented, ‘A’ - API source)
source_id int No Source id, not transmitted on file load
source_uploaded_csv datafile No Address list file
config JSON No Description below
tags string No Tags
priority int No Mailing campaign priority
planned_at datetime No The campaign start time
send_during_hours int No Send over a number of hours
additional_source_file datafile No File with additional parameters
start_immediately bool No Launch the campaign immediately after creation

GET /api/v2/posts/single/{id}/

Get a particular mailing campaign by id

PUT /api/v2/posts/single/{id}/

Rewrite a mailing campaign

Parameters

See above

GET /api/v2/posts/single/{id}/start/

Start an automated campaign

GET /api/v2/posts/single/{id}/pause/

Pause a mailing campaign

GET /api/v2/posts/single/{id}/resume/

Resume a mailing campaign

GET /api/v2/posts/single/{id}/archive/

Archive an automated mailing campaign

config json

Parameter Type Description
not_check_subscription bool
not_check_sent_quarantine bool
retry_sent_quarantine_rejected bool
retry_sent_quarantine_rejected_interval int
min_send_interval int
hook_url_template url
hook_use_auth bool
hook_pre_post bool
not_check_spam_quarantine bool
send_to_corp bool
send_by_uid bool

Segments

General info

Data format

application/json

Response format

application/json

Authorization

The Server-to-Server API verifies the client’s authorization and API address. The login and secret are passed using Basic HTTP Authorization in the Authorization header Authorization: Basic base64('login:secret') The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

GET /api/v2/segments/

Get the list of segments

POST /api/v2/segments/

Create a segment

Parameters
Parameter Type Required Description
name string Yes Name
tags string No Tags
condition JSON Yes Condition
segment_limit int No Sets the limit on the number of exported profiles

GET /api/v2/segments/{id}/

Get a particular segment by id

PUT /api/v2/segments/{id}/

Rewrite a segment

Parameters
Parameter Type Required Description
name string Yes Name
tags string No Tags
condition JSON Yes Condition
segment_limit int No Sets the limit on the number of exported profiles

PATCH /api/v2/segments/{id}/

Edit a segment

Parameters
Parameter Type Required Description
name string Yes Name
tags string No Tags
condition JSON Yes Condition
segment_limit int No Sets the limit on the number of exported profiles

GET /api/v2/segments/{id}/start/

Start segment generation

Events

General info

Methods

POST

Request body format

application/json

Response format

JSON

Authorization

The Server-to-Server API verifies the client’s authorization and API address.

The login and secret are passed using Basic HTTP Authorization in the Authorization header

Authorization: Basic base64('login:secret')

The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

POST /api/v2/events/

Creating events
Parameters
Parameter Type Description
name string Event name
payload string Event payload
Request example

Body:

{

"name": "login_user",

"payload": {

"email": "test@mail.ru"

}

}

Response example

Response code: 201

Body:

{

"name": "login_user",

"payload": {

"email": "test@mail.ru"

}

}

Statistics

General info

Methods

GET

Request body format

application/json

Response format

JSON

Authorization

Client-server communication via a session cookie. Utilized in the web interface of the report builder.

Server-to-Server API verifies the client’s authorization and API address. The login and secret are passed using Basic HTTP Authorization in the Authorization header

Authorization: Basic base64('login:secret')

The login and secret, and the list of allowed IP addresses, can be changed in the project settings

Method Descriptions

GET /api/v2/statistics/

Obtain mailing statistics
Filter parameters
Parameter Type Description Value in example
project_id int Project ID In case of a Server-to-Server request an authorization ID is used. 110
message_type string Message type (L - email, W - web push, G - GC notifier, S - SMS) L
message string Message type + message ID L_1369
post_type string Mailing type (S - one-time, B - A/B campaign, A - automated, C - sequential, P - API, T - test, U - unknown) S
post string Mailing type + mailing ID S_5682
date string Date 2021-01-22
fields string Requested fields message,sum_delivered,open_rate

Django modifiers (ge, le, in) can be used for filtering. To better understand query construction, use the Report builder

There are two types of fields, grouping fields and aggregated fields.

IMPORTANT: The more grouping fields in the query, the slower the query execution. The maximum object count in the response is 100, pagination is not provided, please use date filters and appropriate groupings. When dates are not provided in the query, a filter for the last week from the current date is automatically applied (date=ge:2020-01-01). The last object represents total values ​​for the aggregated fields, see with totals

Grouping fields

Parameter Description
project_id Project
message Message
post Mailing
message_type Message type
post_type Mailing type
year Year
quarter Quarter
month_year Month
day_of_month Day of the month
day_of_week Day of the week
week Week
date Date
hour Hour
client Client
language Language
city_name City
region_name Region
country_name Country

Aggregated fields

Parameter Description Note
sum_total Total Total number of recipients in the mailing campaign
sum_selected Selected recipients Number of recipients selected (with all the filters applied)
sum_sended Sent Sent from the server
sum_delivered Delivered Number of emails delivered to an inbox (including spam)
sum_opened Opened
sum_opened_unique Unique opened
sum_clicked Clicks
sum_clicked_unique Unique clicks
sum_unsubscribed Unsubscribed
sum_spam_reports Reported as spam
sum_churn Churn Number of churned users (unsubscribed + marked as spam + undelivered)
open_rate Open Rate Percentage opened relative to all delivered
open_rate_unique Open Rate Unique Percentage unique opened relative to all delivered
click_rate Click Rate Percentage of clicks relative to all delivered
click_rate_unique Click Rate Unique Percentage of unique clicks relative to all delivered
ctor CTOR Percentage of unique clicks relative to unique opens
delivery_rate Delivery Rate Percentage of emails delivered to the recipient
bounce_rate Bounce Rate Percentage of emails rejected by mail services
unsub_rate Unsubscribe Rate Percentage of subscribers who unsubscribed after the mailing campaign
abuse_rate Abuse Rate Percentage of emails marked as spam
churn_rate CHURN Rate Churn rate relative to all sent
sum_stop_total Quarantine: total
sum_stop_invalid Quarantine: invalid addresses
sum_stop_ xistent Quarantine: non-existent addresses
sum_stop_spam_added Quarantine: spam complaints
sum_stop_gdpr Quarantine: GDPR
sum_stop_unsubscr Quarantine: unsubscribed
sum_bounce_total SMTP: total number of errors
sum_bounce_ xistent SMTP: non-existent addresses
sum_bounce_temp_unavailable SMTP: temporarily unavailable addresses
sum_bounce_spam SMTP: rejected as spam
sum_bounce_other SMTP: other errors
sum_stop_sendlog_added Error: failed project sending policy compliance
sum_stop_letter_single_quarantine Error: emails that did not pass the sending policy
sum_stop_inactive Error: inactive addresses
sum_stop_noaddress Error: profiles with no email Number of profiles that lack an address for a mailing campaign
sum_stop_send_policy Error: unsubscribed or unconfirmed
sum_stop_external_check Error: rejected by the project

Request example

Obtaining delivery metrics for campaign ID 9093, for 2 days (from 2021-01-27 to 2021-01-28), grouped by days and messages:

https://mailer.mail.ru/api/v2/statistics/?post=in:S_9093&date=ge:2021-01-27&date=le:2021-01-28&fields=date,message,sum_delivered,sum_opened,sum_clicked,open_rate_unique,click_rate_unique

Response code: 200

Body:

{

"metadata": {

"ready": true

},

"result": [

{

"click_rate_unique": 0.0015847994310759965,

"date": "2021-01-27",

"sum_delivered": 947754,

"sum_opened": 63470,

"open_rate_unique": 0.06451146605553762,

"message": "L_7642",

"sum_clicked": 1942

},

{

"click_rate_unique": 0.0,

"date": "2021-01-28",

"sum_delivered": 0,

"sum_opened": 45486,

"open_rate_unique": 0.0,

"message": "L_7642",

"sum_clicked": 876

},

{

"click_rate_unique": 0.002313891579460493,

"date": "1970-01-01",

"sum_delivered": 947754,

"sum_opened": 108956,

"open_rate_unique": 0.10805335561759698,

"message": "",

"sum_clicked": 2818

}

],

"error": null

}