Список получателей рассылки
Все, кому ушла рассылка, по строке на копию, с сортировкой по адресу: id копии, её статус, когда она была отправлена и доставлена, получила ли она отказ доставки или жалобу на спам, сколько раз её открывали и по ней кликали и отписался ли человек после отправки.
Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.
GET /broadcasts/{id}/recipients
Все, кому ушла рассылка, по строке на копию, с сортировкой по адресу: id копии, её статус, когда она была отправлена и доставлена, получила ли она отказ доставки или жалобу на спам, сколько раз её открывали и по ней кликали и отписался ли человек после отправки.
Параметры
idstringобязательно- В пути запроса. Id `brd_` из `POST /broadcasts` или `GET /broadcasts`.
filterstring- Оставляет одну группу: `pending` (ещё в очереди или отправляется), `sent`, `delivered`, `opened`, `not_opened` (отправлено и ни разу не открыто), `clicked`, `bounced`, `complained`, `failed` (ошибка или отмена) или `unsubscribed`.
qstring- Ищет по адресу и имени без учёта регистра. До 200 символов.
limitinteger- Строк на странице, от 1 до 200. По умолчанию 50.
cursorstring- `nextCursor` предыдущей страницы, переданный обратно как есть, с теми же `filter` и `q`. Он хранит положение последней строки, поэтому строка, изменившаяся между страницами, никогда не ломает обход.
Пример
Требует emails:read. Ответ представляет собой страницу строк broadcast_recipient.
curl "$OE/broadcasts/brd_5a8c1e3f7b2d94a06c8e1f3b/recipients?filter=opened&limit=50" -H "$AUTH"{ "object": "list", "data": [ { "object": "broadcast_recipient", "emailId": "msg_01dad25067bc4dac966d515d", "contactId": "6f1c2a8e-3b4d-4e9f-a1c7-2d5e8b0f9a34", "email": "[email protected]", "name": "Ada Lovelace", "status": "sent", "sentAt": "2026-09-23T12:00:09.000Z", "deliveredAt": "2026-09-23T12:00:11.000Z", "bouncedAt": null, "complainedAt": null, "failure": null, "opens": 3, "firstOpenAt": "2026-09-23T12:14:30.000Z", "clicks": 1, "firstClickAt": "2026-09-23T12:15:02.000Z", "unsubscribedAt": null } ], "hasMore": true, "nextCursor": "WyJhZGFAZXhhbXBsZS5jb20iLCJtc2dfMDFkYWQyNTA2N2JjNGRhYzk2NmQ1MTVkIl0"}Открытия и клики не учитывают прокси изображений и сканеры ссылок и остаются равными 0, если рассылка была отправлена с выключенным отслеживанием.
status показывает состояние копии в журнале отправки: queued, scheduled, sending, sent, failed или cancelled. deliveredAt, bouncedAt и complainedAt соответствуют первым email.delivered, email.bounced и email.complained для неё, а failure говорит, почему копия завершилась ошибкой.
unsubscribedAt показывает, когда человек отписался от одной из аудиторий рассылки после её отправки, по её ссылке или иначе. contactId равен null, если контакт с тех пор удалён.
emailId содержит id msg_ копии. GET /broadcasts/{id}/recipients/{emailId} читает её вместе с содержимым, а GET /emails/{id} читает её как отправленное письмо.
Отказы
| Статус | Код | Когда |
|---|---|---|
| 400 | invalid_cursor | В списке получателей: cursor, который этот список не выдавал. |
| 403 | insufficient_scope | У ключа нет emails:read. |
| 404 | broadcast_not_found | Id не указывает на рассылку этого рабочего пространства, или ключ ограничен определёнными адресами или доменами, а рассылка отправлена с того, которого у него нет. |
| 404 | recipient_not_found | В GET /broadcasts/{id}/recipients/{emailId}: emailId, который не является копией этой рассылки. |