---
slug: "unisender"
name: "Unisender API"
vendor: "Unisender"
industry: "communications"
docsUrl: "https://www.unisender.com/ru/support/api/common/bulk-email/"
version: 2
updatedAt: "2026-10-24"
---

# Unisender API

Отрасль: Связь и уведомления. Актуально на 2026-10-24.

API сервиса email- и SMS-рассылок Unisender: списки контактов, подписка и импорт контактов, создание email- и SMS-сообщений, запуск и статус рассылок, одиночные письма, шаблоны, дополнительные поля и метки, статистика. Использовать API можно бесплатно на любом аккаунте. Для транзакционных писем без ограничений документация рекомендует отдельный сервис Unisender Go.

## Сценарии

### Подписать контакт на рассылку с сайта

Форма подписки на сайте добавляет email в список Unisender.

1. Скопируй API-ключ в личном кабинете. Передавай его параметром api_key методом POST, чтобы ключ не попадал в логи прокси. Формат вызова: https://api.unisender.com/ru/api/<метод>?format=json.
2. Узнай код списка: POST /ru/api/getLists — в result список с id и title.
3. Подпиши контакт: POST /ru/api/subscribe с list_ids, fields[email] (и при необходимости fields[phone], fields[Name]) и tags. double_optin = 0 отправит письмо-приглашение с подтверждением, 3 — добавит контакт без письма (только если согласие уже получено на твоей стороне).
4. Успешный ответ — поле result без error; предупреждения приходят в warnings.

```bash
curl -X POST "https://api.unisender.com/ru/api/subscribe?format=json" \
  -d api_key=<ключ> \
  -d list_ids=<код списка> \
  --data-urlencode 'fields[email]=ivan@example.ru' \
  --data-urlencode 'fields[Name]=Иван' \
  --data-urlencode 'tags=сайт,подписка' \
  -d double_optin=0
```

### Загрузить базу контактов

Перенести контакты из CRM или старого сервиса пачками.

1. Подготовь данные: field_names — названия столбцов (обязательно email, можно email_list_ids для списков и свои поля), data — строки со значениями в том же порядке.
2. Загружай пачками: POST /ru/api/importContacts — не больше 500 контактов за вызов.
3. Таймаут вызова — 30 секунд. Если ответа нет, повтори не больше двух раз — повтор безопасен, контакты обновятся, а не задвоятся.
4. Флаги overwrite_tags и overwrite_lists определяют, заменять ли метки и списки существующих контактов или добавлять к ним.

```bash
curl -X POST "https://api.unisender.com/ru/api/importContacts?format=json" \
  -d api_key=<ключ> \
  --data-urlencode 'field_names[0]=email' \
  --data-urlencode 'field_names[1]=Name' \
  --data-urlencode 'field_names[2]=email_list_ids' \
  --data-urlencode 'data[0][0]=ivan@example.ru' --data-urlencode 'data[0][1]=Иван' -d 'data[0][2]=<код списка>' \
  --data-urlencode 'data[1][0]=anna@example.ru' --data-urlencode 'data[1][1]=Анна' -d 'data[1][2]=<код списка>'
```

### Запустить email-рассылку по списку

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

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.

```bash
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
```

### Отправить одиночное письмо

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

1. Отправь: POST /ru/api/sendEmail с email, sender_name, sender_email, subject, body и list_id — списком, от которого адресат сможет отписаться.
2. Новым аккаунтам по умолчанию доступно до 1000 таких писем в сутки; одному адресату — не чаще раза в 60 секунд; размер письма — до 1 МБ.
3. Статус доставки проверяется методом checkEmail и хранится месяц.
4. Для большого потока транзакционных писем документация рекомендует отдельный сервис Unisender Go.

```bash
curl -X POST "https://api.unisender.com/ru/api/sendEmail?format=json" \
  -d api_key=<ключ> \
  --data-urlencode 'email=Иван Петров <ivan@example.ru>' \
  --data-urlencode 'sender_name=Магазин' -d sender_email=noreply@example.ru \
  --data-urlencode 'subject=Заказ №1042 оформлен' \
  --data-urlencode 'body=<p>Спасибо за заказ! Мы сообщим, когда он будет отправлен.</p>' \
  -d list_id=<код списка>
```

## Базовые URL

- Боевой: `https://api.unisender.com`
- Формат вызова: `https://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
```

## Методы

### POST /ru/api/getLists — Списки рассылки

В ответе `result[]`: `id`, `title`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `api_key` | body | string | да | Ключ доступа |
| `format` | query | string | да | json |

### POST /ru/api/subscribe — Подписка контакта

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `api_key` | body | string | да | Ключ доступа |
| `list_ids` | body | string | да | Коды списков через запятую (из getLists) |
| `fields[email]` | body | string | да | Email контакта |
| `fields[phone]` | body | string | нет | Телефон в международном формате, например +79261232323 |
| `tags` | body | string | нет | Метки через запятую, не больше 10 |
| `double_optin` | body | integer | нет | 0 — отправить письмо-приглашение, 3 — добавить без письма |
| `overwrite` | body | integer | нет | Режим перезаписи полей и меток |

### POST /ru/api/importContacts — Массовый импорт контактов

Таймаут вызова — 30 секунд; при отсутствии ответа — до двух повторов.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `api_key` | body | string | да | Ключ доступа |
| `field_names` | body | array | да | Названия столбцов; обязательно поле email, до 50 пользовательских полей |
| `data` | body | array | да | Данные контактов, не больше 500 за вызов |
| `overwrite_tags` | body | boolean | нет | Перезаписывать метки |
| `overwrite_lists` | body | boolean | нет | Перезаписывать списки |

### 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 |

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

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

### POST /ru/api/sendEmail — Отправка одиночного письма

По умолчанию новым пользователям — до 1000 писем в сутки; письмо до 1 МБ; одному адресату — не чаще раза в 60 секунд. Статус доставки — методом `checkEmail` (хранится месяц).

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `api_key` | body | string | да | Ключ доступа |
| `email` | body | string | да | Получатель (можно с именем перед адресом) |
| `sender_name` | body | string | да | Имя отправителя |
| `sender_email` | body | string | да | Подтверждённый email отправителя |
| `subject` | body | string | да | Тема |
| `body` | body | string | да | HTML-текст |
| `list_id` | body | integer | да | Список, от которого адресат сможет отписаться |
| `attachments` | body | array | нет | Вложения attachments[filename] |
| `lang` | body | string | нет | Язык |
| `track_read` | body | integer | нет | Отслеживать прочтения |
| `track_links` | body | integer | нет | Отслеживать переходы |
| `cc` | body | string | нет | Копия |
| `headers` | body | string | нет | Дополнительные заголовки |
| `error_checking` | body | integer | нет | Режим проверки ошибок |
| `metadata` | body | object | нет | Метаданные metadata[key]=value |

## Нюансы

- Параметры можно передавать GET или POST, кодировка UTF-8; запросы и ответы можно сжимать gzip или bzip2.
- Успешный ответ — поле `result` без `error`; могут быть `warnings[]` с полем `warning`.
- Типичная цепочка рассылки: `getLists` → `createEmailMessage` → `createCampaign` → `getCampaignStatus`.
- Также есть методы SMS (`createSmsMessage`, `sendSms`, `checkSms`), шаблонов, полей и меток, заметок, статистики (`getCampaignCommonStats`, `getVisitedLinks`) и Event tracking API.

## Ограничения

Счётчик ведётся отдельно для каждого API-ключа или IP.

## Источники

- [Формат запросов API](https://www.unisender.com/ru/support/api/common/bulk-email/)
- [Лимиты по запросам](https://www.unisender.com/ru/support/api/common/api-limits/)
- [getLists](https://www.unisender.com/ru/support/api/contacts/getlists/)
- [subscribe](https://www.unisender.com/ru/support/api/contacts/subscribe/)
- [importContacts](https://www.unisender.com/ru/support/api/contacts/importcontacts/)
- [createEmailMessage](https://www.unisender.com/ru/support/api/messages/createemailmessage/)
- [createCampaign](https://www.unisender.com/ru/support/api/messages/createcampaign/)
- [getCampaignStatus](https://www.unisender.com/ru/support/api/statistics/getcampaignstatus/)
- [sendEmail](https://www.unisender.com/ru/support/api/messages/sendemail/)

---

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