---
title: "Получатели рассылки по статусам"
method: GET
path: "/v1/public/campaigns/{campaignId}/recipients"
tags: ["Рассылки"]
---

# Получатели рассылки по статусам

`GET /v1/public/campaigns/{campaignId}/recipients`

## Request

- Base URL: `https://api.rusender.ru/api`
- URL: `https://api.rusender.ru/api/v1/public/campaigns/{campaignId}/recipients`
- Auth: HTTP bearer

Постраничный список получателей рассылки с фильтром по статусам доставки и активности. Каждому получателю присваивается ровно один статус по приоритету: complaint > unsubscribed > hard_bounced > soft_bounced > error > clicked > error_infrastructure > opened > delivered > not_delivered. То есть clicked включает opened (кликнувший получатель не попадёт в выборку opened), а unsubscribed и complaint перекрывают остальные статусы. Точное количество страниц не возвращается — используйте hasMore для навигации. Для статусов error, soft_bounced, hard_bounced возвращается ответ SMTP-сервера (responseSmtp).

## Path parameters

- `campaignId` integer, required

## Query parameters

- `status` string[]

## Response `200`

Страница получателей рассылки.

- object
  - `ok` boolean, required: Флаг успешного выполнения.
  - `data` object, required: Полезная нагрузка успешного ответа.
    - `items` CampaignRecipientDto[], required: Получатели рассылки.
      - `contactId` number, required: ID контакта.
      - `email` string, required: Email получателя.
      - `status` 'delivered' | 'opened' | 'clicked' | 'unsubscribed' | 'complaint' | 'error' | 'soft_bounced' | 'hard_bounced' | 'error_infrastructure' | 'not_delivered', required: Статус письма для получателя.
      - `sentAt` object, nullable, required: Дата и время последнего обновления статуса письма (ISO 8601). Может быть null, если дата недоступна.
      - `responseSmtp` string: Ответ SMTP-сервера. Возвращается только для статусов error, soft_bounced, hard_bounced.
    - `hasMore` boolean, required: Есть ли следующая страница. Точное количество страниц не рассчитывается.
  - `meta` PublicApiResponseMetaDto, required
    - `requestId` string, required: Итоговый идентификатор запроса, использованный сервером.
    - `timestamp` string, required: Время формирования ответа в формате ISO-8601.
    - `pagination` PublicApiPaginationMetaDto
      - `page` number, required: Текущая страница.
      - `limit` number, required: Количество элементов на странице.
      - `totalItems` number, required: Общее количество элементов.
      - `totalPages` number, required: Общее количество страниц.

## Other responses

- `400`: Некорректный запрос.
- `401`: Требуется валидный токен Public API.
- `403`: Для вызова endpoint не хватает требуемого scope.
- `404`: Запрошенный ресурс не найден.
- `422`: Запрос синтаксически корректен, но не может быть обработан.
- `429`: Превышен rate limit для текущего API key.
- `500`: Внутренняя ошибка сервера.

---

[API](https://skmtc.dev/rusender/apis/public-api.md) · [All operations](https://skmtc.dev/rusender/apis/public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/rusender/apis/public-api/revisions/8e86bca789ea?raw)
