Ресурс lists. Поля группы:
| Поле | Значение |
|---|---|
id | Номер группы. |
title | Название. |
about | Описание. |
status | 1 активна, -1 на проверке модератором (после импорта; рассылать нельзя до одобрения), -2 отклонена модерацией. |
subscribe_link | Адрес страницы, где стоит форма подписки. |
subscribe_page | Куда перейдёт подписчик после подписки. |
activate_page | Куда перейдёт подписчик после подтверждения подписки. |
subscribe_maket_title, subscribe_maket | Тема и HTML своего письма «подтвердите подписку». В тексте обязательно {activation_link}. |
activate_maket_title, activate_maket | Тема и HTML своего письма после подтверждения. |
use_personal_makets | 1 слать свои письма вместо стандартных (тарифы Premium и Enterprise), 0 стандартные. |
sender_email_id | Отправитель писем группы, номер из раздела Отправители. |
repeat_date | Когда последний раз повторно отправляли письмо подтверждения тем, кто не подтвердил. |
GET/mailer/lists.json
Список групп
Поля по умолчанию: id, title. Фильтр: title, status. Сортировка: title, status, sender_email_id.
curl -G https://v1.estismail.com/mailer/lists.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ" \
--data-urlencode 'fields=["id","title","status","sender_email_id"]'<?php
$query = http_build_query([
'fields' => '["id","title","status","sender_email_id"]',
]);
$ch = curl_init('https://v1.estismail.com/mailer/lists.json' . '?' . $query);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['X-Estis-Auth: ВАШ_КЛЮЧ'],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), "\n", $response;import requests
r = requests.get(
"https://v1.estismail.com/mailer/lists.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
params={
"fields": '["id","title","status","sender_email_id"]',
},
)
print(r.status_code, r.text)const params = new URLSearchParams({
fields: '["id","title","status","sender_email_id"]',
});
const res = await fetch("https://v1.estismail.com/mailer/lists.json?" + params, {
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
});
console.log(res.status, await res.text());Ответ 200
{
"lists": [
{
"id": 12345,
"title": "Новости магазина",
"status": 1,
"sender_email_id": 5501
}
]
}GET/mailer/lists/{id}.json
Одна группа
curl -G https://v1.estismail.com/mailer/lists/12345.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ" \
--data-urlencode 'fields=["id","title","subscribe_link","subscribe_page"]'<?php
$query = http_build_query([
'fields' => '["id","title","subscribe_link","subscribe_page"]',
]);
$ch = curl_init('https://v1.estismail.com/mailer/lists/12345.json' . '?' . $query);
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['X-Estis-Auth: ВАШ_КЛЮЧ'],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), "\n", $response;import requests
r = requests.get(
"https://v1.estismail.com/mailer/lists/12345.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
params={
"fields": '["id","title","subscribe_link","subscribe_page"]',
},
)
print(r.status_code, r.text)const params = new URLSearchParams({
fields: '["id","title","subscribe_link","subscribe_page"]',
});
const res = await fetch("https://v1.estismail.com/mailer/lists/12345.json?" + params, {
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
});
console.log(res.status, await res.text());Ответ 200
{
"id": 12345,
"title": "Новости магазина",
"subscribe_link": "https://shop.example.com",
"subscribe_page": "https://mailer.estismail.com/subscribeme"
}POST/mailer/lists.json
Создать группу
| Параметр | Значение |
|---|---|
title обязательный | Название. |
subscribe_link обязательный | Адрес страницы с формой подписки, начинается с http://, https:// или www. |
about, subscribe_page, activate_page, письма группы, use_personal_makets, sender_email_id | Необязательные, как в полях группы. Неверный адрес страницы или чужой отправитель не сохраняются. |
curl https://v1.estismail.com/mailer/lists.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ" \
-d title="Новости магазина" \
-d subscribe_link=https://shop.example.com<?php
$ch = curl_init('https://v1.estismail.com/mailer/lists.json');
curl_setopt_array($ch, [
CURLOPT_POSTFIELDS => http_build_query([
'title' => 'Новости магазина',
'subscribe_link' => 'https://shop.example.com',
]),
CURLOPT_HTTPHEADER => ['X-Estis-Auth: ВАШ_КЛЮЧ'],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), "\n", $response;import requests
r = requests.post(
"https://v1.estismail.com/mailer/lists.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
data={
"title": "Новости магазина",
"subscribe_link": "https://shop.example.com",
},
)
print(r.status_code, r.text)const res = await fetch("https://v1.estismail.com/mailer/lists.json", {
method: "POST",
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
body: new URLSearchParams({
title: "Новости магазина",
subscribe_link: "https://shop.example.com",
}),
});
console.log(res.status, await res.text());Ответ 201
{"id":12347}PUT/mailer/lists/{id}.json
Изменить группу
Передайте только те поля, которые меняете.
curl -X PUT https://v1.estismail.com/mailer/lists/12345.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ" \
-d about="Скидки и новинки раз в неделю"<?php
$ch = curl_init('https://v1.estismail.com/mailer/lists/12345.json');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS => http_build_query([
'about' => 'Скидки и новинки раз в неделю',
]),
CURLOPT_HTTPHEADER => ['X-Estis-Auth: ВАШ_КЛЮЧ'],
CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), "\n", $response;import requests
r = requests.put(
"https://v1.estismail.com/mailer/lists/12345.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
data={
"about": "Скидки и новинки раз в неделю",
},
)
print(r.status_code, r.text)const res = await fetch("https://v1.estismail.com/mailer/lists/12345.json", {
method: "PUT",
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
body: new URLSearchParams({
about: "Скидки и новинки раз в неделю",
}),
});
console.log(res.status, await res.text());Ответ 204, без тела
Вопросы по API: support@estismail.com