Unisender API: Запустить email-рассылку по списку

Сценарий из mcp-everything. Актуально на 2026-10-24.

Создать письмо, отправить его по списку и узнать результат.

  1. Создай письмо: POST /ru/api/createEmailMessage с sender_name, sender_email (подтверждённый адрес), subject, body (HTML) и list_id. Письмо отправляется только по одному списку. В ответе — код сообщения.
  2. Запусти рассылку: POST /ru/api/createCampaign с message_id. Без start_time отправка начнётся сразу; для отложенной передай start_time (не дальше 100 дней) и timezone. Включи track_read и track_links, чтобы видеть открытия и переходы.
  3. Проверяй статус: POST /ru/api/getCampaignStatus с campaign_id. Перед отправкой рассылка может пройти модерацию (waits_censor), итог — completed. Время в ответе — UTC.
MSG=$(curl -s -X POST "https://api.unisender.com/ru/api/createEmailMessage?format=json" \
  -d api_key=<ключ> --data-urlencode 'sender_name=Магазин' -d sender_email=news@example.ru \
  --data-urlencode 'subject=Скидки выходного дня' --data-urlencode 'body=<h1>Скидка 20%</h1><p>Только до воскресенья.</p>' \
  -d list_id=<код списка> | jq -r .result.message_id)

curl -X POST "https://api.unisender.com/ru/api/createCampaign?format=json" \
  -d api_key=<ключ> -d message_id=$MSG -d track_read=1 -d track_links=1

Базовые URL

Авторизация

Тип: API-ключ

API-ключ копируется в личном кабинете и передаётся параметром api_key. Рекомендуется передавать его через POST, чтобы ключ не попадал в логи прокси. Доступ можно дополнительно ограничить списком доверенных IP.

https://api.unisender.com/ru/api/getLists?format=json&api_key=KEY

Методы сценария

POST /ru/api/createEmailMessage — Создание email-сообщения

Возвращает код сообщения для createCampaign. Письмо отправляется только по одному списку.

Параметр Где Тип Обяз. Описание
api_key body string да Ключ доступа
sender_name body string да Имя отправителя (не email)
sender_email body string да Подтверждённый email отправителя
subject body string нет Тема; обязательна, если нет template_id
body body string нет HTML-текст; обязателен, если нет template_id/system_template_id
list_id body integer да Код списка
text_body body string нет Текстовая версия
generate_text body integer нет 1 — сгенерировать текстовую часть из HTML (по умолчанию 0)
tag body string нет Отправить только контактам с меткой
attachments body array нет Вложения
lang body string нет Язык
template_id body integer нет Шаблон вместо subject и body
wrap_type body string нет Тип обёртки письма
categories body string нет Категории

POST /ru/api/createCampaign — Запуск рассылки

Запускает сразу или по расписанию ранее созданное email- или SMS-сообщение; возвращает код рассылки.

Параметр Где Тип Обяз. Описание
api_key body string да Ключ доступа
message_id body integer да Код сообщения из createEmailMessage/createSmsMessage
start_time body string нет ГГГГ-ММ-ДД чч:мм, не дальше 100 дней; без него — сразу
timezone body string нет Часовой пояс start_time; явно поддерживается UTC
track_read body integer нет 1 — отслеживать прочтения (по умолчанию 0)
track_links body integer нет 1 — отслеживать переходы (по умолчанию 0)
contacts body string нет Email или телефоны через запятую; без него — весь список
contacts_url body string нет URL файла со списком контактов (нельзя вместе с contacts)
track_ga body integer нет Добавлять UTM-метки (ga_medium, ga_source, ga_campaign, ga_content, ga_term)

POST /ru/api/getCampaignStatus — Статус рассылки

Время в ответе — UTC.

Статусы: waits_censor, censor_hold, declined, waits_schedule, scheduled, in_progress, analysed, completed, stopped, canceled.

Параметр Где Тип Обяз. Описание
api_key body string да Ключ доступа
campaign_id body integer да Код рассылки из createCampaign

Пример ответа:

{ "result":{ "status":"completed", "creation_time":"2011-09-21 19:47:31", "start_time":"2011-09-21 20:00:00" } }

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://www.unisender.com/ru/support/api/common/bulk-email/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/unisender.md