Ресурс folders: те же папки, что в кабинете на странице макетов. Макет может лежать в нескольких папках.
- Пустых папок не бывает: папка появляется вместе с первым макетом и исчезает, когда из неё вынут последний.
- Имя папки: от 1 до 50 знаков, без запятой и знаков
< > ". Хранится строчными буквами: «Акции» и «акции» одна папка. - До 200 папок в аккаунте и до 200 макетов за один запрос.
- Номер папки может смениться, когда из неё вынимают макет. Перед изменением берите номер из списка.
| Поле | Значение |
|---|---|
id | Номер папки. |
title | Имя папки. |
makets | В списке: число макетов в папке. В одной папке: номера макетов. |
GET/mailer/folders.json
Список папок
Все папки аккаунта по алфавиту, без страниц. Папок нет: ответ 204.
curl https://v1.estismail.com/mailer/folders.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ"<?php
$ch = curl_init('https://v1.estismail.com/mailer/folders.json');
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/folders.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
)
print(r.status_code, r.text)const res = await fetch("https://v1.estismail.com/mailer/folders.json", {
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
});
console.log(res.status, await res.text());{
"folders": [
{
"id": 6851,
"title": "акции",
"makets": 3
},
{
"id": 6840,
"title": "новости",
"makets": 12
}
]
}GET/mailer/folders/{id}.json
Одна папка
curl https://v1.estismail.com/mailer/folders/6851.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ"<?php
$ch = curl_init('https://v1.estismail.com/mailer/folders/6851.json');
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/folders/6851.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
)
print(r.status_code, r.text)const res = await fetch("https://v1.estismail.com/mailer/folders/6851.json", {
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
});
console.log(res.status, await res.text());{
"id": 6851,
"title": "акции",
"makets": [
4321,
4322,
4330
]
}POST/mailer/folders.json
Положить макеты в папку
title и makets обязательны. makets: JSON-массив номеров макетов. Папки с таким именем нет: она создаётся. Есть: макеты добавляются в неё. Макет, который уже лежит в папке, не дублируется. Хотя бы один макет не ваш: ничего не меняется, ошибка 20903.
curl https://v1.estismail.com/mailer/folders.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ" \
-d title="Акции" -d makets='[4321,4322]'<?php
$ch = curl_init('https://v1.estismail.com/mailer/folders.json');
curl_setopt_array($ch, [
CURLOPT_POSTFIELDS => http_build_query([
'title' => 'Акции',
'makets' => '[4321,4322]',
]),
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/folders.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
data={
"title": "Акции",
"makets": "[4321,4322]",
},
)
print(r.status_code, r.text)const res = await fetch("https://v1.estismail.com/mailer/folders.json", {
method: "POST",
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
body: new URLSearchParams({
title: "Акции",
makets: "[4321,4322]",
}),
});
console.log(res.status, await res.text());{"id":6851}PUT/mailer/folders/{id}.json
Переименовать, положить или вынуть макеты
В одном запросе ровно одно из трёх: title (новое имя; если папка с таким именем есть, папки сливаются), makets (положить макеты), remove_makets (вынуть макеты, сами макеты остаются).
curl -X PUT https://v1.estismail.com/mailer/folders/6851.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ" \
-d remove_makets='[4322]'<?php
$ch = curl_init('https://v1.estismail.com/mailer/folders/6851.json');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS => http_build_query([
'remove_makets' => '[4322]',
]),
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/folders/6851.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
data={
"remove_makets": "[4322]",
},
)
print(r.status_code, r.text)const res = await fetch("https://v1.estismail.com/mailer/folders/6851.json", {
method: "PUT",
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
body: new URLSearchParams({
remove_makets: "[4322]",
}),
});
console.log(res.status, await res.text());Ответ 204, без тела
DELETE/mailer/folders/{id}.json
Удалить папку
Удаляется только папка. Макеты остаются в аккаунте и в других своих папках.
curl -X DELETE https://v1.estismail.com/mailer/folders/6851.json \
-H "X-Estis-Auth: ВАШ_КЛЮЧ"<?php
$ch = curl_init('https://v1.estismail.com/mailer/folders/6851.json');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'DELETE',
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.delete(
"https://v1.estismail.com/mailer/folders/6851.json",
headers={"X-Estis-Auth": "ВАШ_КЛЮЧ"},
)
print(r.status_code, r.text)const res = await fetch("https://v1.estismail.com/mailer/folders/6851.json", {
method: "DELETE",
headers: { "X-Estis-Auth": "ВАШ_КЛЮЧ" },
});
console.log(res.status, await res.text());Ответ 204, без тела
Вопросы по API: support@estismail.com