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

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

Форма подписки на сайте добавляет 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
```

## Базовые 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 | нет | Режим перезаписи полей и меток |

## Нюансы

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

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

- [Загрузить базу контактов](https://mcp-everything.ru/integrations/unisender/scenarios/zagruzit-bazu-kontaktov.md)
- [Запустить email-рассылку по списку](https://mcp-everything.ru/integrations/unisender/scenarios/zapustit-email-rassylku-po-spisku.md)
- [Отправить одиночное письмо](https://mcp-everything.ru/integrations/unisender/scenarios/otpravit-odinochnoe-pismo.md)

---

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