Сценарий из mcp-everything. Актуально на 2026-10-24.
Создать письмо, отправить его по списку и узнать результат.
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
https://api.unisender.comhttps://api.unisender.com/LANG/api/METHOD?format=json&api_key=KEY&arg1=ARG_1Тип: API-ключ
API-ключ копируется в личном кабинете и передаётся параметром api_key. Рекомендуется передавать его через POST, чтобы ключ не попадал в логи прокси. Доступ можно дополнительно ограничить списком доверенных IP.
https://api.unisender.com/ru/api/getLists?format=json&api_key=KEY
Возвращает код сообщения для 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 | нет | Категории |
Запускает сразу или по расписанию ранее созданное 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) |
Время в ответе — 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" } }
result без error; могут быть warnings[] с полем warning.getLists → createEmailMessage → createCampaign → getCampaignStatus.createSmsMessage, sendSms, checkSms), шаблонов, полей и меток, заметок, статистики (getCampaignCommonStats, getVisitedLinks) и Event tracking API.Если этого недостаточно — официальная документация: https://www.unisender.com/ru/support/api/common/bulk-email/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/unisender.md