Документация для разработчиков

Адресные базы

Базы, подписчики, дополнительные поля, импорт, отписки и жалобы.

Это методы предыдущей версии API. Они работают и отключаться не будут, но новые интеграции лучше писать на REST API v2.

lists.get #

GET ?method=lists.get

Получаем список баз пользователя

Параметры

ПараметрТипОписание
list_idintid запрашиваемой адресной базы

Что возвращается

Массив строк адресных баз с различными параметрами. Вложенный массив подразумевается сериализорованным.

ПолеОписание
idid адресной базы
nameназвание адресной базы
stateстатус адресной базы, возможные значения: active, blocked (если идет процесс импорта) и archived
merge_{1..10}Сериализированные массивы настроек дополнительных полей. Подробнее смотрите методы merge_add, merge_update
title — название дополнительного поля;
type — тип поля. возможные значения: text, date, choice;
req — обязательно поле или нет? возможные значения: on,off;
var — название шаблона
descriptionописание того, как подписчик может оказаться в этой базе
companyназвание вашей компании, владеющей адресной базой
abuse_nameИмя человека, которому можно жаловаться на спам
phoneконтактный телефон
addressконтактный адрес
cityгород, где находится ваша компания
urlurl вашего сайта, где можно подписаться/отписаться на базу
count_activeколичество активных подписчиков в базе
count_bouncedколичество жестких возвратов в базе
count_inactiveколичество неактивных подписчиков в базе
count_unconfirmedколичество неподтвержденных адресов в базе
count_unsubscribedколичество отписавшихся подписчиков в базе
count_allобщее количество подписчиков в базе
countJSON-массив с агрегированной статистикой подписчиков в адресной базе
statJSON-массив с агрегированной статистикой рассылок (открытий, кликов итд) по данной адресной базе
curl 'https://api.dashamail.com/?method=lists.get&api_key=YOUR_API_KEY'
<?php
$url = 'https://api.dashamail.com/?' . http_build_query([
    'method' => 'lists.get',
    'api_key' => 'YOUR_API_KEY',
]);

$response = json_decode(file_get_contents($url), true);

if ($response['response']['msg']['err_code'] !== 0) {
    throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests

response = requests.get(
    'https://api.dashamail.com/',
    params={
        'method': 'lists.get',
        'api_key': 'YOUR_API_KEY',
    },
)

payload = response.json()['response']
if payload['msg']['err_code'] != 0:
    raise RuntimeError(payload['msg']['text'])

print(payload['data'])
const params = new URLSearchParams({
  "method": "lists.get",
  "api_key": "YOUR_API_KEY"
});

const response = await fetch(`https://api.dashamail.com/?${params}`);
const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.add #

POST ?method=lists.add

Добавляем адресную базу

Параметры

ПараметрТипОписание
name обязательныйstringназвание создаваемой базы
abuse_emailstringEmail, по которому будут приниматься жалобы на спам.
abuse_namestringИмя человека, которому можно жаловаться на спам.
companystringназвание вашей компании, владеющей адресной базой
addressstringконтактный адрес
citystringгород, где находится ваша компания
zipstringпочтовый индекс
countrystringстрана, где вы находитесь
urlstringurl вашего сайта, где можно подписаться/отписаться на базу
phonestringконтактный телефон

Что возвращается

id добавленной базы

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.add",
  "api_key": "YOUR_API_KEY",
  "name": "Клиенты интернет-магазина"
}'
<?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' => 'lists.add',
        'api_key' => 'YOUR_API_KEY',
        'name' => 'Клиенты интернет-магазина',
    ], 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': 'lists.add',
        'api_key': 'YOUR_API_KEY',
        'name': 'Клиенты интернет-магазина',
    },
)

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": "lists.add",
  "api_key": "YOUR_API_KEY",
  "name": "Клиенты интернет-магазина"
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.update #

POST ?method=lists.update

Обновляем контактную информацию адресной базы

Параметры

ПараметрТипОписание
list_id обязательныйintid редактируемой адресной базы
namestringНазвание базы.
abuse_emailstringEmail, по которому будут приниматься жалобы на спам.
abuse_namestringИмя человека, которому можно жаловаться на спам.
companystringназвание вашей компании, владеющей адресной базой
addressstringконтактный адрес
citystringгород, где находится ваша компания
zipstringпочтовый индекс
countrystringстрана, где вы находитесь
urlstringurl вашего сайта, где можно подписаться/отписаться на базу
phonestringконтактный телефон

Что возвращается

Если msg.err_code равен нулю, операция прошла успешно.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.update",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341
}'
<?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' => 'lists.update',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
    ], 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': 'lists.update',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
    },
)

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": "lists.update",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.delete #

POST ?method=lists.delete

Удаляем адресную базу и всех активных подписчиков в ней.

Параметры

ПараметрТипОписание
list_id обязательныйintid удаляемой адресной базы

Что возвращается

количество удаленных активных подписчиков из удаленной базы.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.delete",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341
}'
<?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' => 'lists.delete',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
    ], 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': 'lists.delete',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
    },
)

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": "lists.delete",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.get_members #

GET ?method=lists.get_members

Получаем подписчиков в адресной базе с возможность фильтра и регулировки выдачи.

Параметры

ПараметрТипОписание
list_id обязательныйintid адресной базы
statestringстатус подписчика, возможные варианты: active,unsubscribed,bounced
startintс какого номера начинать выдачу данных
limitintкол-во подписчиков в выдаваемом массиве
orderstringпорядок сортировки, вида "поле порядок", например, "id desc"
member_idintid необходимого подписчика
emailstringemail необходимого подписчика
segment_idintid сегмента для отображения

Что возвращается

Массив подписчиков с параметрами.

ПолеОписание
idid подписчика
list_idадресная база в которой он состоит
emailemail-адрес подписчика
stateстатус подписчика
merge_1дополнительное поле №1
merge_2дополнительное поле №2
merge_3дополнительное поле №3
merge_4дополнительное поле №4
merge_5дополнительное поле №5
merge_6дополнительное поле №6
merge_7дополнительное поле №7
merge_8дополнительное поле №8
merge_9дополнительное поле №9
merge_10дополнительное поле №10
optin_timeвремя добавления в базу
unsub_timeвремя отписки из базы
lastedit_timeвремя последнего редактирования
genderпол подписчика {m - мужчина, f - женщина, n - неизвестно}
sourceисточник подписки
deviceустройство, с которого читаются письма
ratingрейтинг подписчика
curl 'https://api.dashamail.com/?method=lists.get_members&api_key=YOUR_API_KEY&list_id=128341'
<?php
$url = 'https://api.dashamail.com/?' . http_build_query([
    'method' => 'lists.get_members',
    'api_key' => 'YOUR_API_KEY',
    'list_id' => 128341,
]);

$response = json_decode(file_get_contents($url), true);

if ($response['response']['msg']['err_code'] !== 0) {
    throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests

response = requests.get(
    'https://api.dashamail.com/',
    params={
        'method': 'lists.get_members',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
    },
)

payload = response.json()['response']
if payload['msg']['err_code'] != 0:
    raise RuntimeError(payload['msg']['text'])

print(payload['data'])
const params = new URLSearchParams({
  "method": "lists.get_members",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341
});

const response = await fetch(`https://api.dashamail.com/?${params}`);
const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.get_unsubscribed #

GET ?method=lists.get_unsubscribed

Получаем список отписавшихся подписчиков как из всех баз, так и в разрезе конкретной адресной базы.

Параметры

ПараметрТипОписание
startintс какого номера начинать выдачу данных
limitintкол-во подписчиков в выдаваемом массиве
orderstringпорядок сортировки, вида "поле порядок", например, "id desc"
list_idstringID адресной базы

Что возвращается

Массив подписчиков с параметрами.

ПолеОписание
idid подписчика
list_idадресная база в которой он состоит
emailemail-адрес подписчика
stateстатус подписчика
merge_1дополнительное поле №1
merge_2дополнительное поле №2
merge_3дополнительное поле №3
merge_4дополнительное поле №4
merge_5дополнительное поле №5
merge_6дополнительное поле №6
merge_7дополнительное поле №7
merge_8дополнительное поле №8
merge_9дополнительное поле №9
merge_10дополнительное поле №10
optin_timeвремя добавления в базу
unsub_timeвремя отписки из базы
lastedit_timeвремя последнего редактирования
genderпол подписчика {m - мужчина, f - женщина, n - неизвестно}
sourceисточник подписки
deviceустройство, с которого читаются письма
ratingрейтинг подписчика
curl 'https://api.dashamail.com/?method=lists.get_unsubscribed&api_key=YOUR_API_KEY'
<?php
$url = 'https://api.dashamail.com/?' . http_build_query([
    'method' => 'lists.get_unsubscribed',
    'api_key' => 'YOUR_API_KEY',
]);

$response = json_decode(file_get_contents($url), true);

if ($response['response']['msg']['err_code'] !== 0) {
    throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests

response = requests.get(
    'https://api.dashamail.com/',
    params={
        'method': 'lists.get_unsubscribed',
        'api_key': 'YOUR_API_KEY',
    },
)

payload = response.json()['response']
if payload['msg']['err_code'] != 0:
    raise RuntimeError(payload['msg']['text'])

print(payload['data'])
const params = new URLSearchParams({
  "method": "lists.get_unsubscribed",
  "api_key": "YOUR_API_KEY"
});

const response = await fetch(`https://api.dashamail.com/?${params}`);
const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.get_complaints #

GET ?method=lists.get_complaints

Получаем список подписчиков, нажавших «Это Спам», как из всех баз, так и в разрезе конкретной базы.

Параметры

ПараметрТипОписание
startintс какого номера начинать выдачу данных
limitintкол-во подписчиков в выдаваемом массиве
orderstringпорядок сортировки, вида "поле порядок", например, "id desc"
list_idintID адресной базы

Что возвращается

Массив подписчиков с параметрами.

ПолеОписание
idid подписчика
list_idадресная база в которой он состоит
emailemail-адрес подписчика
stateстатус подписчика
merge_1дополнительное поле №1
merge_2дополнительное поле №2
merge_3дополнительное поле №3
merge_4дополнительное поле №4
merge_5дополнительное поле №5
merge_6дополнительное поле №6
merge_7дополнительное поле №7
merge_8дополнительное поле №8
merge_9дополнительное поле №9
merge_10дополнительное поле №10
optin_timeвремя добавления в базу
unsub_timeвремя отписки из базы
lastedit_timeвремя последнего редактирования
genderпол подписчика {m - мужчина, f - женщина, n - неизвестно}
sourceисточник подписки
deviceустройство, с которого читаются письма
ratingрейтинг подписчика
curl 'https://api.dashamail.com/?method=lists.get_complaints&api_key=YOUR_API_KEY'
<?php
$url = 'https://api.dashamail.com/?' . http_build_query([
    'method' => 'lists.get_complaints',
    'api_key' => 'YOUR_API_KEY',
]);

$response = json_decode(file_get_contents($url), true);

if ($response['response']['msg']['err_code'] !== 0) {
    throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests

response = requests.get(
    'https://api.dashamail.com/',
    params={
        'method': 'lists.get_complaints',
        'api_key': 'YOUR_API_KEY',
    },
)

payload = response.json()['response']
if payload['msg']['err_code'] != 0:
    raise RuntimeError(payload['msg']['text'])

print(payload['data'])
const params = new URLSearchParams({
  "method": "lists.get_complaints",
  "api_key": "YOUR_API_KEY"
});

const response = await fetch(`https://api.dashamail.com/?${params}`);
const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.member_activity #

GET ?method=lists.member_activity

Получаем активность подписчика в различных рассылках

Параметры

ПараметрТипОписание
email обязательныйstringEmail подписчика
filterstringФильтр по типу события. Возможные значения: {sent, opened, clicked, bounced, unsubscribed}
start_timedatetimeфильтр событий по времени, начальное время, формат: YYYY-MM-DD HH:ii:ss
end_timedatetimeфильтр событий по времени, конечное время, формат: YYYY-MM-DD HH:ii:ss
campaign_idintфильтр по id рассылки

Что возвращается

Массив событий, сортированный в обратном порядке по времени события

ПолеОписание
member_idid подписчика
action_timeдата и время события
campaign_idid рассылки, в которой произошло событие
list_idid адресной базы, используемой при рассылке
actionтип события {campaign-sent, campaign-opened, campaign-clicked, unsubscribe, bounced, abuse-report}
action_textрасшифровка события
campaign_nameназвание рассылки, в которой произошло событие
bounce_category[для возвратов] категория возврата письма {hrd,sft,blk,spm}
bounce_reason[для возвратов] полный текст ошибки возврата письма
curl 'https://api.dashamail.com/?method=lists.member_activity&api_key=YOUR_API_KEY&email=ivan%40example.com'
<?php
$url = 'https://api.dashamail.com/?' . http_build_query([
    'method' => 'lists.member_activity',
    'api_key' => 'YOUR_API_KEY',
    'email' => 'ivan@example.com',
]);

$response = json_decode(file_get_contents($url), true);

if ($response['response']['msg']['err_code'] !== 0) {
    throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests

response = requests.get(
    'https://api.dashamail.com/',
    params={
        'method': 'lists.member_activity',
        'api_key': 'YOUR_API_KEY',
        'email': 'ivan@example.com',
    },
)

payload = response.json()['response']
if payload['msg']['err_code'] != 0:
    raise RuntimeError(payload['msg']['text'])

print(payload['data'])
const params = new URLSearchParams({
  "method": "lists.member_activity",
  "api_key": "YOUR_API_KEY",
  "email": "ivan@example.com"
});

const response = await fetch(`https://api.dashamail.com/?${params}`);
const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.upload #

POST ?method=lists.upload

Импорт подписчиков из файла

Параметры

ПараметрТипОписание
list_id обязательныйintid адресной базы
file обязательныйstringurl импортируемого файла
email обязательныйintномер столбца импортируемого файла, содержащего email (счет от 0)
merge_1intномер столбца дополнительного поля 1 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_2intномер столбца дополнительного поля 2 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_3intномер столбца дополнительного поля 3 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_4intномер столбца дополнительного поля 4 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_5intномер столбца дополнительного поля 5 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_6intномер столбца дополнительного поля 6 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_7intномер столбца дополнительного поля 7 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_8intномер столбца дополнительного поля 8 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_9intномер столбца дополнительного поля 9 (счет от 0; параметр обязателен, если поле является обязательным в базе)
merge_10intномер столбца дополнительного поля 10 (счет от 0; параметр обязателен, если поле является обязательным в базе)
genderenumпол подписчика, возможные значения: m - мужчина, f - женщина, n - неизвестно
type обязательныйstringрасширение импортируемого файла ("xls","csv","xlsx","xml","ods","slk","gnumeric")
updatestringобновлять существующие записи, если этот параметр задан (например, true)
sheet_indexintномер листа в xls-книге (по умолчанию - первый)
sheet_namestringназвание листа в xls-книге (по умолчанию - первый)
curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.upload",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "file": "значение",
  "email": "ivan@example.com",
  "type": "значение"
}'
<?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' => 'lists.upload',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
        'file' => 'значение',
        'email' => 'ivan@example.com',
        'type' => 'значение',
    ], 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': 'lists.upload',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
        'file': 'значение',
        'email': 'ivan@example.com',
        'type': 'значение',
    },
)

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": "lists.upload",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "file": "значение",
  "email": "ivan@example.com",
  "type": "значение"
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.add_member #

POST ?method=lists.add_member

Добавляем подписчика в базу

Параметры

ПараметрТипОписание
list_id обязательныйintid адресной базы, в которую добавляется подписчик
email обязательныйstringemail подписчика
merge_1stringдополнительное поле 1
merge_2stringдополнительное поле 2
merge_3stringдополнительное поле 3
merge_4stringдополнительное поле 4
merge_5stringдополнительное поле 5
merge_6stringдополнительное поле 6
merge_7stringдополнительное поле 7
merge_8stringдополнительное поле 8
merge_9stringдополнительное поле 9
merge_10stringдополнительное поле 10
genderenumпол подписчика, возможные значения: m - мужчина, f - женщина, n - неизвестно
regionintрегион подписчика согласно кодам субъектов Российской Федерации, например, 77 – Москва
updatestringобновлять существующие записи, если этот параметр задан
no_checkstringне проверять валидность адреса, если этот параметр задан
update_tagsstringесли параметр = on, то теги из запроса добавляются к текущим, если параметр = off – целиком заменяются

Что возвращается

id добавленного подписчика

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.add_member",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "email": "ivan@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' => 'lists.add_member',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
        'email' => 'ivan@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': 'lists.add_member',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
        'email': 'ivan@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": "lists.add_member",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "email": "ivan@example.com"
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.add_member_batch #

POST ?method=lists.add_member_batch

Добавляем несколько подписчиков в базу

Параметры

ПараметрТипОписание
list_id обязательныйintid адресной базы, в которую добавляется подписчики
batch обязательныйJSONJSON-массив добавленных подписчиков: [{"email":" test1@dashamail.ru ","merge_1":"Ваня","gender":"m","region":17,"state":"active"},{"email":" test2@inbox.ru ","merge_1":"Петя","state":"inactive"}]. Каждый JSON-объект подписчика может сохранять следующие параметры: адрес электронной почты (email-адрес подписчика), merge_xxx (значения дополнительных полей), состояние (активный – активен, неактивный – неактивен), пол (пол подписчика, возможные значения: m – мужчина, f – женщина, n – неизвестно), регион (номер региона подписчика)
updatestringобновлять существующие записи, если этот параметр задан
no_checkstringне проверять валидность адреса, если этот параметр задан

Что возвращается

id добавленных подписчиков через запятую

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.add_member_batch",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "batch": "[]"
}'
<?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' => 'lists.add_member_batch',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
        'batch' => '[]',
    ], 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': 'lists.add_member_batch',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
        'batch': '[]',
    },
)

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": "lists.add_member_batch",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "batch": "[]"
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.update_member #

POST ?method=lists.update_member

Редактируем подписчика в базе

Параметры

ПараметрТипОписание
member_id обязательныйintid подписчика [альтернативно email + list_id]
email обязательныйstringemail подписчика совместно с list_id могут использоваться для выбора подписчика вместо member_id
list_id обязательныйintlist_id подписчика совместно с email могут использоваться для выбора подписчика вместо member_id
statestringактивировать подписчика - state=active, деактивировать - state=inactive. параметр актуален только для тех клиентов, которым было выдано соответствующее разрешение в отделе тех.поддержки.
merge_1stringдополнительное поле 1
merge_2stringдополнительное поле 2
merge_3stringдополнительное поле 3
merge_4stringдополнительное поле 4
merge_5stringдополнительное поле 5
merge_6stringдополнительное поле 6
merge_7stringдополнительное поле 7
merge_8stringдополнительное поле 8
merge_9stringдополнительное поле 9
merge_10stringдополнительное поле 10
genderenumпол подписчика, возможные значения: m - мужчина, f - женщина, n - неизвестно
regionintрегион подписчика согласно кодам субъектов Российской Федерации, например, 77 – Москва
sourcestringисточник подписки. Список разрешенных значений с расшифровками для данного параметра:
  • 'manual' => 'вручную'
  • 'form' => 'форма подписки'
  • 'api' => 'API'
  • 'excel' => 'импорт из Excel'
  • 'trigger' => 'события'
  • 'survey' => 'опрос'
  • 'fblead' => 'FB Ad Lead'
  • 'floctory' => 'Flocktory'
  • 'landing' => 'Лендинг'
  • 'shelter' => 'Shelter PMS'
  • 'yclients' => 'YClients'
  • 'qtickets' => 'Qtickets'
  • 'mdtourist' => 'МоиДокументы'
  • 'amocrm' => 'AmoCRM'
  • 'vk' => 'VK-форма'
  • 'bitrix24' => 'Битрикс24'
  • 'megaplan' => 'Мегаплан'
  • 'insales' => 'InSales'
  • '1cbitrix' => '1С-битрикс'
  • 'wordpress' => 'Wordpress'
  • 'joomla' => 'Joomla'
  • 'tilda' => 'Tilda'
  • 'cscart' => 'CS-cart'
  • 'leadplan' => 'LeadPlan'
  • 'botmother' => 'Botmother'
  • 'mtslink' => 'МТС Линк'
  • 'flexbe' => 'Flexbe'
  • 'retailcrm' => 'RetailCRM'
update_tagsstringесли параметр = on, то теги из запроса добавляются к текущим, в противном случае – целиком заменяются

Что возвращается

Если msg.err_code равен нулю, операция прошла успешно.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.update_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881,
  "email": "ivan@example.com",
  "list_id": 128341
}'
<?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' => 'lists.update_member',
        'api_key' => 'YOUR_API_KEY',
        'member_id' => 90412881,
        'email' => 'ivan@example.com',
        'list_id' => 128341,
    ], 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': 'lists.update_member',
        'api_key': 'YOUR_API_KEY',
        'member_id': 90412881,
        'email': 'ivan@example.com',
        'list_id': 128341,
    },
)

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": "lists.update_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881,
  "email": "ivan@example.com",
  "list_id": 128341
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.delete_member #

POST ?method=lists.delete_member

Удаляем подписчика из базы.

Параметры

ПараметрТипОписание
member_id обязательныйintid удаляемого подписчика

Что возвращается

Если msg.err_code равен нулю, операция прошла успешно.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.delete_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881
}'
<?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' => 'lists.delete_member',
        'api_key' => 'YOUR_API_KEY',
        'member_id' => 90412881,
    ], 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': 'lists.delete_member',
        'api_key': 'YOUR_API_KEY',
        'member_id': 90412881,
    },
)

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": "lists.delete_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.unsubscribe_member #

POST ?method=lists.unsubscribe_member

Отписываем подписчика из базы.

Параметры

ПараметрТипОписание
member_idintid отписываемого подписчика
emailstringemail отписываемого подписчика
list_idstringадресная база из которой надо отписать подписчика. если не задано - отписывается из всевозможных баз.

Что возвращается

количество отписанных подписчиков (может быть больше 1, если подписчик был отписан из нескольких баз)

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.unsubscribe_member",
  "api_key": "YOUR_API_KEY"
}'
<?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' => 'lists.unsubscribe_member',
        'api_key' => 'YOUR_API_KEY',
    ], 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': 'lists.unsubscribe_member',
        'api_key': 'YOUR_API_KEY',
    },
)

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": "lists.unsubscribe_member",
  "api_key": "YOUR_API_KEY"
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.move_member #

POST ?method=lists.move_member

Перемещаем подписчика в другую адресную базу.

Параметры

ПараметрТипОписание
member_id обязательныйintid отписываемого подписчика
list_id обязательныйintid адресной базы в которую перемещаем подписчика

Что возвращается

Если msg.err_code равен нулю, операция прошла успешно.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.move_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881,
  "list_id": 128341
}'
<?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' => 'lists.move_member',
        'api_key' => 'YOUR_API_KEY',
        'member_id' => 90412881,
        'list_id' => 128341,
    ], 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': 'lists.move_member',
        'api_key': 'YOUR_API_KEY',
        'member_id': 90412881,
        'list_id': 128341,
    },
)

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": "lists.move_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881,
  "list_id": 128341
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.copy_member #

POST ?method=lists.copy_member

Копируем подписчика в другую адресную базу.

Параметры

ПараметрТипОписание
member_id обязательныйintid отписываемого подписчика
list_id обязательныйintid адресной базы в которую копируем подписчика

Что возвращается

id подписчика-копии

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.copy_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881,
  "list_id": 128341
}'
<?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' => 'lists.copy_member',
        'api_key' => 'YOUR_API_KEY',
        'member_id' => 90412881,
        'list_id' => 128341,
    ], 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': 'lists.copy_member',
        'api_key': 'YOUR_API_KEY',
        'member_id': 90412881,
        'list_id': 128341,
    },
)

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": "lists.copy_member",
  "api_key": "YOUR_API_KEY",
  "member_id": 90412881,
  "list_id": 128341
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.add_merge #

POST ?method=lists.add_merge

Добавить дополнительное поле в адресную базу.

Параметры

ПараметрТипОписание
list_id обязательныйintid адресной базы
type обязательныйstringтип поля. возможные значения: text, date, choice, number, tags
choices обязательныйserialized array/JSONсериализированный массив элементов списка. Также может быть в формате JSON. Обязателен, если type = choice
titlestringназвание поля
reqstringобязательно ли поле. возможные значения: on, off
varstringназвание шаблона. должно быть вида %ШАБЛОН%

Что возвращается

Если msg.err_code равен нулю, операция прошла успешно.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.add_merge",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "type": "значение",
  "choices": "значение"
}'
<?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' => 'lists.add_merge',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
        'type' => 'значение',
        'choices' => 'значение',
    ], 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': 'lists.add_merge',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
        'type': 'значение',
        'choices': 'значение',
    },
)

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": "lists.add_merge",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "type": "значение",
  "choices": "значение"
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.update_merge #

POST ?method=lists.update_merge

Обновить настройки дополнительного поля в адресной базе.

Параметры

ПараметрТипОписание
list_id обязательныйintid адресной базы
merge_id обязательныйintномер дополнительного поля. возможные значения: от 1 до 10.
choicesserialized arrayсериализированный массив элементов списка. Обязателен, если type = choice
titlestringназвание поля
reqstringобязательно ли поле. возможные значения: on, off
varstringназвание шаблона. должно быть вида %ШАБЛОН%

Что возвращается

Если msg.err_code равен нулю, операция прошла успешно.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.update_merge",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "merge_id": 1
}'
<?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' => 'lists.update_merge',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
        'merge_id' => 1,
    ], 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': 'lists.update_merge',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
        'merge_id': 1,
    },
)

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": "lists.update_merge",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "merge_id": 1
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.delete_merge #

POST ?method=lists.delete_merge

Удалить дополнительное поле из адресной базы.

Параметры

ПараметрТипОписание
list_id обязательныйintid адресной базы
merge_id обязательныйintномер дополнительного поля. возможные значения: от 1 до 10.

Что возвращается

Если msg.err_code равен нулю, операция прошла успешно.

curl -X POST 'https://api.dashamail.com/' \
  -H 'Content-Type: application/json' \
  -d '{
  "method": "lists.delete_merge",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "merge_id": 1
}'
<?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' => 'lists.delete_merge',
        'api_key' => 'YOUR_API_KEY',
        'list_id' => 128341,
        'merge_id' => 1,
    ], 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': 'lists.delete_merge',
        'api_key': 'YOUR_API_KEY',
        'list_id': 128341,
        'merge_id': 1,
    },
)

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": "lists.delete_merge",
  "api_key": "YOUR_API_KEY",
  "list_id": 128341,
  "merge_id": 1
}),
});

const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.last_status #

GET ?method=lists.last_status

Получить последний статус конкретного email в адресных базах

Параметры

ПараметрТипОписание
email обязательныйstringemail-адрес подписчика
list_idintid адресной базы

Что возвращается

Массив подписчиков с параметрами.

ПолеОписание
statusunsubscribed/bounced/clicked/opened/delivered
dateвремя в формате datetime данного события
curl 'https://api.dashamail.com/?method=lists.last_status&api_key=YOUR_API_KEY&email=ivan%40example.com'
<?php
$url = 'https://api.dashamail.com/?' . http_build_query([
    'method' => 'lists.last_status',
    'api_key' => 'YOUR_API_KEY',
    'email' => 'ivan@example.com',
]);

$response = json_decode(file_get_contents($url), true);

if ($response['response']['msg']['err_code'] !== 0) {
    throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests

response = requests.get(
    'https://api.dashamail.com/',
    params={
        'method': 'lists.last_status',
        'api_key': 'YOUR_API_KEY',
        'email': 'ivan@example.com',
    },
)

payload = response.json()['response']
if payload['msg']['err_code'] != 0:
    raise RuntimeError(payload['msg']['text'])

print(payload['data'])
const params = new URLSearchParams({
  "method": "lists.last_status",
  "api_key": "YOUR_API_KEY",
  "email": "ivan@example.com"
});

const response = await fetch(`https://api.dashamail.com/?${params}`);
const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

lists.get_import_history #

GET ?method=lists.get_import_history

Получить историю и результаты импорта адресной базы

Параметры

ПараметрТипОписание
list_idintid адресной базы

Что возвращается

Массив результатов импортов с параметрами.

ПолеОписание
idid импорта
list_idid адресной базы
usernameимя пользователя, производившего импорт
messageрезультат импорта с ссылками на не прошедших фильтры, отписавшихся, в черном списке, список возвратов
type{success,errors,in_progress}
file_nameимя импортируемого файла
timeвремя запуска импорта
curl 'https://api.dashamail.com/?method=lists.get_import_history&api_key=YOUR_API_KEY'
<?php
$url = 'https://api.dashamail.com/?' . http_build_query([
    'method' => 'lists.get_import_history',
    'api_key' => 'YOUR_API_KEY',
]);

$response = json_decode(file_get_contents($url), true);

if ($response['response']['msg']['err_code'] !== 0) {
    throw new RuntimeException($response['response']['msg']['text']);
}
print_r($response['response']['data']);
import requests

response = requests.get(
    'https://api.dashamail.com/',
    params={
        'method': 'lists.get_import_history',
        'api_key': 'YOUR_API_KEY',
    },
)

payload = response.json()['response']
if payload['msg']['err_code'] != 0:
    raise RuntimeError(payload['msg']['text'])

print(payload['data'])
const params = new URLSearchParams({
  "method": "lists.get_import_history",
  "api_key": "YOUR_API_KEY"
});

const response = await fetch(`https://api.dashamail.com/?${params}`);
const { response: payload } = await response.json();

if (payload.msg.err_code !== 0) throw new Error(payload.msg.text);
console.log(payload.data);

DashaMail хранит и защищает ваши данные на территории Российской Федерации

Подробнее...