Отчёты
Открытия, клики, возвраты и сводная статистика по рассылкам.
Это методы предыдущей версии API. Они работают и отключаться не будут, но новые интеграции лучше писать на REST API v2.
- POST reports.sent
- POST reports.delivered
- POST reports.opened
- POST reports.clicked
- POST reports.unsubscribed
- POST reports.bounced
- POST reports.clickstat
- POST reports.userclicks
- POST reports.bouncestat
- POST reports.summary
- POST reports.clients
- POST reports.geo
- POST reports.events
reports.sent #
POST
?method=reports.sent
Список отправленных писем в рассылке
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
start | int | номер записи с которой начинать вывод. defaults: 0 |
limit | int | количество записей для вывода. defaults: 100 |
order | string | [ex: "email desc"] - поле по которому можно сортировать и порядок сортировки (asc,desc). |
Что возвращается
Массив писем c параметрами каждого.
| Поле | Описание |
|---|---|
id | id письма |
member_id | id подписчика |
campaign_id | id рассылки |
list_id | id адресной базы из которой подписчик |
bounce_code | smtp-код ошибки в случае возврата сообщения |
bounce_reason | расшифровка bounce_code в данном конкретном случае |
email | email получателя |
sent_time | время доставки письма |
open_time | время открытия письма |
click_time | время перехода по ссылке |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.sent",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.sent',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.sent',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.sent",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.delivered #
POST
?method=reports.delivered
Список доставленных писем в рассылке
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
start | int | номер записи с которой начинать вывод. defaults: 0 |
limit | int | количество записей для вывода. defaults: 100 |
order | string | [ex: "email desc"] - поле по которому можно сортировать и порядок сортировки (asc,desc). |
Что возвращается
Массив писем c параметрами каждого.
| Поле | Описание |
|---|---|
id | id письма |
member_id | id подписчика |
campaign_id | id рассылки |
list_id | id адресной базы из которой подписчик |
bounce_code | smtp-код ошибки в случае возврата сообщения |
bounce_reason | расшифровка bounce_code в данном конкретном случае |
email | email получателя |
sent_time | время доставки письма |
open_time | время открытия письма |
click_time | время перехода по ссылке |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.delivered",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.delivered',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.delivered',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.delivered",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.opened #
POST
?method=reports.opened
Список открытых писем в рассылке
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
start | int | номер записи с которой начинать вывод. defaults: 0 |
limit | int | количество записей для вывода. defaults: 100 |
order | string | [ex: "email desc"] - поле по которому можно сортировать и порядок сортировки (asc,desc). |
Что возвращается
Массив писем c параметрами каждого.
| Поле | Описание |
|---|---|
id | id письма |
member_id | id подписчика |
campaign_id | id рассылки |
list_id | id адресной базы из которой подписчик |
bounce_code | smtp-код ошибки в случае возврата сообщения |
bounce_reason | расшифровка bounce_code в данном конкретном случае |
email | email получателя |
sent_time | время доставки письма |
open_time | время открытия письма |
click_time | время перехода по ссылке |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.opened",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.opened',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.opened',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.opened",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.clicked #
POST
?method=reports.clicked
Список писем в рассылке, где адресат перешел по любой ссылке
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
start | int | номер записи с которой начинать вывод. defaults: 0 |
limit | int | количество записей для вывода. defaults: 100 |
order | string | [ex: "email desc"] - поле по которому можно сортировать и порядок сортировки (asc,desc). |
Что возвращается
Массив писем c параметрами каждого.
| Поле | Описание |
|---|---|
id | id письма |
member_id | id подписчика |
campaign_id | id рассылки |
list_id | id адресной базы из которой подписчик |
bounce_code | smtp-код ошибки в случае возврата сообщения |
bounce_reason | расшифровка bounce_code в данном конкретном случае |
email | email получателя |
sent_time | время доставки письма |
open_time | время открытия письма |
click_time | время перехода по ссылке |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.clicked",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.clicked',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.clicked',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.clicked",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.unsubscribed #
POST
?method=reports.unsubscribed
Список писем отписавшихся подписчиков в рассылке
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
start | int | номер записи с которой начинать вывод. defaults: 0 |
limit | int | количество записей для вывода. defaults: 100 |
order | string | [ex: "email desc"] - поле по которому можно сортировать и порядок сортировки (asc,desc). |
Что возвращается
Массив писем c параметрами каждого.
| Поле | Описание |
|---|---|
id | id письма |
member_id | id подписчика |
campaign_id | id рассылки |
list_id | id адресной базы из которой подписчик |
bounce_code | smtp-код ошибки в случае возврата сообщения |
bounce_reason | расшифровка bounce_code в данном конкретном случае |
email | email получателя |
sent_time | время доставки письма |
open_time | время открытия письма |
click_time | время перехода по ссылке |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.unsubscribed",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.unsubscribed',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.unsubscribed',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.unsubscribed",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.bounced #
POST
?method=reports.bounced
Список возвратившихся писем в рассылке
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
start | int | номер записи с которой начинать вывод. defaults: 0 |
limit | int | количество записей для вывода. defaults: 100 |
order | string | [ex: "email desc"] - поле по которому можно сортировать и порядок сортировки (asc,desc). |
Что возвращается
Массив писем c параметрами каждого.
| Поле | Описание |
|---|---|
id | id письма |
member_id | id подписчика |
campaign_id | id рассылки |
list_id | id адресной базы из которой подписчик |
bounce_code | smtp-код ошибки в случае возврата сообщения |
bounce_reason | расшифровка bounce_code в данном конкретном случае |
email | email получателя |
sent_time | время доставки письма |
open_time | время открытия письма |
click_time | время перехода по ссылке |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.bounced",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.bounced',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.bounced',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.bounced",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.clickstat #
POST
?method=reports.clickstat
статистика по кликам по различным url в письме
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
Что возвращается
Массив url c количеством кликов
| Поле | Описание |
|---|---|
url | адрес ссылки |
clicks | общее число кликов по данной ссылке в рамках рассылки |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.clickstat",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.clickstat',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.clickstat',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.clickstat",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.userclicks #
POST
?method=reports.userclicks
статистика по кликам по указанному url в письме
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
url обязательный | string | адрес ссылки |
Что возвращается
Массив с информацией обо всех переходах по данной ссылке
| Поле | Описание |
|---|---|
url | адрес ссылки |
email | email перешедшего |
click_time | время перехода |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.userclicks",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512,
"url": "https://example.com/"
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.userclicks',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
'url' => 'https://example.com/',
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.userclicks',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
'url': 'https://example.com/',
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.userclicks",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512,
"url": "https://example.com/"
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.bouncestat #
POST
?method=reports.bouncestat
статистика по всевозможным причинам возврата письма
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
Что возвращается
Массив ошибок возвращенных писем в рассылке
| Поле | Описание |
|---|---|
bounce_code | smtp код ошибки |
count | количество писем с такой ошибкой |
description | типовое краткое описание ошибки |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.bouncestat",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.bouncestat',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.bouncestat',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.bouncestat",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.summary #
POST
?method=reports.summary
краткая статистка по рассылке
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
Что возвращается
Массив с краткой информацией о рассылке
| Поле | Описание |
|---|---|
bounced | число возвращенных писем |
unsubscribed | число отписавшихся подписчиков |
delivered | число доставленных сообщений |
sent | число отправленных сообщений |
clicks | общее число кликов |
opened | число точно открытых писем |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.summary",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.summary',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.summary',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.summary",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.clients #
POST
?method=reports.clients
статистика по браузерам, ОС и почтовым клиентам
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
Что возвращается
массив вида "название браузера, ОС, клиента" => количество открытий (только если ненулевое)
| Поле | Описание |
|---|---|
ie | число пользователей ie > 6 |
ie6 | число пользователей ie6 |
chrome | число пользователей chrome |
opera | число пользователей opera |
firefox | число пользователей firefox |
safari | число пользователей safari |
mail | число пользователей mail.ru |
yandex | число пользователей yandex.ru |
outlook | число пользователей outlook |
win | число пользователей Windows |
linux | число пользователей Linux |
mac | число пользователей Mac |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.clients",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.clients',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.clients',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.clients",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.geo #
POST
?method=reports.geo
статистика по регионам открытия
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
Что возвращается
массив вида "город или регион" => количество открытий (только если ненулевое)
| Поле | Описание |
|---|---|
название города или региона | число открытий |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.geo",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.geo',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.geo',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.geo",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);
reports.events #
POST
?method=reports.events
Список событий с письмами в рамках рассылки за определенный период
Параметры
| Параметр | Тип | Описание |
|---|---|---|
campaign_id обязательный | int | id запрашиваемой рассылки |
time_start | datetime | время начала выгрузки событий в формате YYYY-DD-MM HH:ii:ss (по-умолчанию: 00:00:00 текущего дня) |
time_end | datetime | время конца выгрузки событий в формате YYYY-DD-MM HH:ii:ss (по-умолчанию: 23:59:59 текущего дня) |
merge обязательный | JSON-array | JSON-массив полей из адресных баз. Например, ["merge_1","merge_3","rating"]. Помимо дополнительных полей merge_{1..N} можно получать значения optin_time, rating и gender |
email | string | email необходимого подписчика |
start | int | номер записи с которой начинать вывод. defaults: 0 |
limit | int | количество записей для вывода. defaults: 100 |
order | string | [ex: "email desc"] - поле по которому можно сортировать и порядок сортировки (asc,desc). |
Что возвращается
Массив писем c параметрами каждого.
| Поле | Описание |
|---|---|
event_date | дата события |
event_time | время события |
event_type | тип события [SENT, BOUNCED, OPENED, CLICKED, PREVIEW, UNSUBSCRIBED, COMPLAINED] |
bounce_category | [hrd, sft, blk, spm] |
bounce_code | код ошибки доставки |
bounce_reason | расшифровка ошибки доставки |
email | email-адрес получателя |
domain | домен получателя |
user_id | id клиента |
campaign_id | id рассылки |
member_id | id подписчика в системе Dashamail |
list_id | id адресной базы |
url_hash | хэш url в случае клика |
url_pers | ссылка персонализированная |
url_original | ссылка оригинальная из макета |
ip | ip-адрес |
ip_aton | ip-адрес в формате ATON |
region | регион |
OS | операционная система |
browser | браузер |
webservice | почтовый веб-сервис |
user_agent | User Agent полный устройства |
referer | источник перехода |
language | язык пользователя на устройстве |
device | устройство |
dark_mode | 0 - светлый режим, 1 - темный режим |
curl -X POST 'https://api.dashamail.com/' \
-H 'Content-Type: application/json' \
-d '{
"method": "reports.events",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512,
"merge": "значение"
}'
<?php
$ch = curl_init('https://api.dashamail.com/');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode([
'method' => 'reports.events',
'api_key' => 'YOUR_API_KEY',
'campaign_id' => 5512,
'merge' => 'значение',
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
if ($response['response']['msg']['err_code'] !== 0) {
throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests
response = requests.post(
'https://api.dashamail.com/',
json={
'method': 'reports.events',
'api_key': 'YOUR_API_KEY',
'campaign_id': 5512,
'merge': 'значение',
},
)
payload = response.json()['response']
if payload['msg']['err_code'] != 0:
raise RuntimeError(payload['msg']['text'])
print(payload['data'])
const response = await fetch('https://api.dashamail.com/', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
"method": "reports.events",
"api_key": "YOUR_API_KEY",
"campaign_id": 5512,
"merge": "значение"
}),
});
const { response: payload } = await response.json();
if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);