# Sendsay API: Узнать, кому дошли письма

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

Статистика доставки по рассылке или по конкретному адресу.

1. Вызови action = stat.uni с select — нужными полями, например deliv.member.email и deliv.result.
2. Условия задай в filter: a — поле, op — оператор, v — значение. Для периода используй поля дат.
3. Большую выгрузку можно сохранить файлом: result с типом save и форматом xlsx.

```bash
curl -L -X POST "https://api.sendsay.ru/general/api/v100/json/<аккаунт>" \
  -H 'Content-Type: application/json' \
  -d '{
        "action": "stat.uni",
        "apikey": "<API-ключ>",
        "select": ["deliv.member.email", "deliv.result"],
        "filter": [{"a": "deliv.member.email", "op": "==", "v": "ivan@example.ru"}]
      }'
```

## Базовые URL

- Боевой: `https://api.sendsay.ru`
- Адрес вызова: `https://api.sendsay.ru/general/api/v100/json/{account}`

## Авторизация

Тип: API-ключ

Рекомендуемый способ — API-ключ (создаётся вызовом `sys.user.apikey.create`, лучше на отдельный саблогин с минимальными правами). Ключ передаётся полем `apikey` в теле JSON или заголовком `Authorization: sendsay apikey=...` (ключ URL-кодируется). Аутентификация действует на один вызов, выход не нужен. Также поддерживаются логин с паролем (сессия), JWT, двухфакторная аутентификация и OpenID.

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

### POST /general/api/v100/json/{account} — stat.uni: универсальная статистика

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `account` | path | string | да | Код аккаунта |
| `action` | body | string | да | stat.uni |
| `select` | body | array | да | Поля, например deliv.member.email, deliv.result |
| `filter` | body | array | нет | Условия a (поле), op (оператор), v (значение); для периода — суффикс :YD |
| `groupby` | body | array | нет | Группировка |
| `join` | body | object | нет | Объединение выборок |
| `result` | body | object | нет | Выгрузка в файл, например тип save, формат xlsx |

## Нюансы

- Тело — JSON в UTF-8 с `Content-Type: application/json`; обязательное поле — `action`; размер запроса — до 400 МБ.
- Ответы с кодами 3xx — перенаправления, клиент обязан их обрабатывать.
- Массив `warnings` означает частичное выполнение, а не ошибку.
- При `error/auth/failed` с уточнением `force_change_password` смените пароль через `sys.user.set` и повторите запрос.
- Результаты импорта и других заданий видны в журнале заданий (`https://app.sendsay.ru/queue`).
- Есть также вызовы стоп-листов, черновиков, форм, участников сценариев и Stream API.

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

- [Добавить или обновить подписчика](https://mcp-everything.ru/integrations/sendsay/scenarios/dobavit-ili-obnovit-podpischika.md)
- [Отправить транзакционное письмо](https://mcp-everything.ru/integrations/sendsay/scenarios/otpravit-tranzaktsionnoe-pismo.md)
- [Запустить массовую рассылку](https://mcp-everything.ru/integrations/sendsay/scenarios/zapustit-massovuyu-rassylku.md)

---

Если этого недостаточно — официальная документация: https://docs.sendsay.ru/sendsay-api/sendsay-api-guide
Вся интеграция одним документом: https://mcp-everything.ru/integrations/sendsay.md
