Управление стоп-листами через Sendsay API
Стоп-лист — это реестр контактов, который система автоматически исключает из рассылок. При выпуске рассылки CDP Sendsay проверяет каждый адрес по стоп-листу: если адрес найден, письмо ему не отправляется.
Параметр ignore_stoplist: 1 позволяет отправить письмо даже на адрес из стоп-листа. Это дополнительная возможность, которая используется для отправки обязательных уведомлений (подтверждение удаления аккаунта, юридически значимые уведомления). Для её подключения .
Типы записей стоп-листа
Существует два типа записей:
- Стоп-лист владельца (owner) — вы им полностью управляете. Соответствует стоп-листу Заблокированы вручную.
- Стоп-лист получателя (member) — получатель вносит себя сам при отписке. Соответствует стоп-листу Отписались от всех рассылок.
Зоны действия записей
- Глобальная (по умолчанию) — запись исключает адрес из выпуска всегда.
- По отправителю — запись содержит адрес отправителя и исключает адресата только из выпусков с этим же отправителем. Соответствует стоп-листу Отписки от отправителей. Это дополнительная услуга, для подключения .
Для одного адреса может одновременно существовать и глобальная запись, и записи по разным отправителям, для каждого типа (owner и member).
Стоп-лист по домену отправителя
Отдельного стоп-листа по домену нет, но если включена соответствующая настройка, проверки по отправителю будут положительными для любого отправителя с тем же доменом. Например, если есть отписка от news@myshop.ru, то promo@myshop.ru тоже будет заблокирован, а info@sale.myshop.ru — нет (домены разные).
Внести в стоп-лист — stoplist.add
Вы можете внести адрес в стоп-лист вызовом stoplist.add — он будет автоматически исключаться из всех рассылок, но вся информация о контакте остаётся в базе.
Параметры
| Параметр | Описание |
|---|---|
type | Тип стоп-листа: owner (по умолчанию) или member |
sender | Адрес отправителя. Если пуст или не указан — глобальный стоп-лист. Может быть массивом адресов |
Способы указания получателей
| Способ | Описание | Синхронность по умолчанию |
|---|---|---|
email | Один адрес или телефон | Синхронно |
list | Массив адресов/телефонов | Синхронно |
group | Код списка | Асинхронно |
group.filter | Фильтр отбора | Асинхронно |
url | Ссылка на файл со списком контактов (по одному на строке, возможен ZIP) | Асинхронно |
stat.uni | Выборка из универсальной статистики | Асинхронно |
Синхронность можно изменить параметром sync: 0|1. Одновременно может выполняться не более двух таких запросов.
Пример: добавление в глобальный стоп-лист
{
"apikey": "ваш-api-ключ",
"action": "stoplist.add",
"type": "owner",
"email": "test@test.com"
}
Пример: добавление в стоп-лист по отправителю
{
"apikey": "ваш-api-ключ",
"action": "stoplist.add",
"type": "owner",
"sender": "news@myshop.ru",
"email": "test@test.com"
}
Пример: массовое добавление по списку
{
"apikey": "ваш-api-ключ",
"action": "stoplist.add",
"type": "owner",
"list": ["test1@test.com", "test2@test.com", "test3@test.com"]
}
Ответ (синхронный)
{
"list": {
"test1@test.com": 1,
"test2@test.com": 1,
"test3@test.com": 0
}
}
Возможные значения:
1— внесён,0— не внесён,- строка с кодом — синтаксическая ошибка в адресе.
Ответ (асинхронный)
{
"track.id": 12345
}
Если активна настройка stoplist.owner_to_member, то добавления с type: "owner" или type: "all" выполняются как type: "member".
Удалить из стоп-листа — stoplist.delete
Вы можете удалить адрес из стоп-листа — он перестанет автоматически исключаться из рассылок (если нет других причин, например, стоп-лист получателя, ошибки доставки и т. д.).
Параметры
| Параметр | Описание |
|---|---|
type | Тип стоп-листа: owner (по умолчанию), member или all |
sender | Адрес отправителя. Если пуст — глобальный стоп-лист. Может быть массивом адресов |
Способы указания получателей — аналогичны stoplist.add. Запрос с list всегда асинхронный.
Удаление из стоп-листа получателя (type: "member") работает только в пределах месячного лимита, который составляет 0,1% от размера вашей базы по тарифу, но не более 1 тыс. контактов.
Для тарифов без ограничений на размер базы, лимит на удаление из стоп-листа — 100 контактов в месяц.
Пример: удаление из глобального стоп-листа владельца
{
"apikey": "ваш-api-ключ",
"action": "stoplist.delete",
"type": "owner",
"email": "test@test.com"
}
Пример: удаление из стоп-листа по отправителю
{
"apikey": "ваш-api-ключ",
"action": "stoplist.delete",
"type": "owner",
"sender": "news@myshop.ru",
"email": "test@test.com"
}
Пример: удаление по группе
{
"apikey": "ваш-api-ключ",
"action": "stoplist.delete",
"type": "owner",
"group": "reactivated_users"
}
Чтение записей стоп-листа — stoplist.get
Вы можете посмотреть записи стоп-лис та, используя вызов stoplist.get.
Альтернативный способ посмотреть записи стоп-листа — использовать stat.uni. Этот способ позволяет быстрее загружать информацию, использовать фильтры и сохранять результат в файл или прислать по почте.
Параметры
| Параметр | Описание |
|---|---|
type | Тип стоп-листа: all (по умолчанию), owner или member. Рекомендуется указывать явно, чтобы избежать получения лишних данных |
sender | Адрес отправителя. Если пуст — глобальный стоп-лист |
list | Массив ин тересующих адресов. Если не указан — возвращаются все записи |
Пример: проверка конкретных адресов
{
"apikey": "ваш-api-ключ",
"action": "stoplist.get",
"type": "all",
"list": ["client1@test.com", "client2@test.com"]
}
Ответ
{
"list": {
"client1@test.com": {
"owner": 1,
"member": 1
},
"client2@test.com": {
"owner": 1
}
}
}
В ответе присутствуют только адреса, найденные в стоп-листе.
Очистить стоп-лист — stoplist.erase
Используя вызов stoplist.erase вы можете удалить все записи из стоп-листа. Вызов асинхронный.
Операция очистки стоп-листа необратима.
Параметры
| Параметр | Описание |
|---|---|
type | Тип стоп-листа: owner (по умолчанию), member или all |
sender | Адрес отправителя. Если пуст — очищается глобальный стоп-лист. Специальное значение " ALL " (с пробелами) — удаляет записи и из глобального, и из всех стоп-листов по отправителям |
Пример: очистить глобальный стоп-лист владельца
{
"apikey": "ваш-api-ключ",
"action": "stoplist.erase",
"type": "owner"
}
Пример: очистить всё
{
"apikey": "ваш-api-ключ",
"action": "stoplist.erase",
"type": "owner",
"sender": " ALL "
}
Ответ
{
"track.id": 12345
}
Стоп-лист в статистике
Запрос позволяет выгружать историю внесения адресов в стоп-лист. Данные о стоп-листе доступны через stat.uni:
{
"apikey": "ваш-api-ключ",
"action": "stat.uni",
"select": ["stoplist.email", "stoplist.dt"],
"filter": [{ "a": "stoplist.dt:YM", "op": ">=", "v": "2026-01-01" }],
"order": ["-stoplist.dt"],
"limit": 100
}