Перейти к документации
API

Список полос отправки

Две полосы, по которым идёт почта, с числом возвратов и жалоб.

GET/sending/streams

Выполняет любой из 2 запросов в вашем рабочем пространстве.

GET /sending/streams

Две полосы, по которым идёт почта, с числом возвратов и жалоб.

Пример

Требуется emails:read. Почта идёт по двум полосам с собственными очередями и репутацией: transactional для писем приложения, например сбросов пароля и чеков, и broadcast для новостных рассылок. У каждой полосы есть цифры за последние 7 дней и limits, в которых держится полоса рассылок.

curl
curl "$OE/sending/streams" -H "$AUTH"
Ответ
{ "object": "list", "data": [{  "object": "sending_stream",  "stream": "broadcast",  "status": "active",  "pausedAt": null,  "pausedReason": null,  "resumedAt": null,  "window": {    "since": "2026-10-04T09:41:00.000Z",    "until": "2026-10-11T09:41:00.000Z",    "recipients": 18240,    "bounced": 212,    "complained": 9,    "bounceRate": 0.0116,    "complaintRate": 0.0005  },  "limits": { "bounceRate": 0.04, "complaintRate": 0.002, "minimumRecipients": 500, "windowDays": 7 }}] }

Полоса рассылок приостанавливается сама, когда её доля возвратов превышает 4% или доля жалоб превышает 0,2% за эти 7 дней, как только достигнуто minimumRecipients. pausedReason говорит, что именно, владелец рабочего пространства получает письмо, а письма приложения продолжают уходить.

Пока она приостановлена, письмо с stream, равным broadcast, и новая рассылка дают 409 stream_paused, а уже идущие рассылки задерживаются.

Выбрать полосу

Требуется emails:send. stream в POST /emails, в каждом письме POST /emails/batch и в POST /templates/{id}/send выбирает полосу. По умолчанию это transactional, а каждая копия рассылки идёт по broadcast.

curl
curl -X POST "$OE/emails" -H "$AUTH" -H "Content-Type: application/json" \  -d '{ "from": "[email protected]", "to": "[email protected]", "subject": "What is new in October", "text": "Three things shipped this month.", "stream": "broadcast" }'
Ответ
{ "object": "email", "id": "msg_5f1c9a0e7b2d4c6a8e3f1b7d", "status": "queued", "stream": "broadcast" }

По SMTP то же самое делает заголовок X-OpenEmail-Stream: broadcast, и он удаляется перед отправкой письма.

Возобновить приостановленную полосу

Требуется domains:write и владелец рабочего пространства. POST /sending/streams/broadcast/resume возобновляет полосу: задержанные письма уходят сразу, а 7-дневный подсчёт начинается заново с этого момента, поэтому сначала очистите аудиторию.

curl
curl -X POST "$OE/sending/streams/broadcast/resume" -H "$AUTH"
Ответ
{  "object": "sending_stream",  "stream": "broadcast",  "status": "active",  "pausedAt": null,  "pausedReason": null,  "resumedAt": null,  "window": {    "since": "2026-10-04T09:41:00.000Z",    "until": "2026-10-11T09:41:00.000Z",    "recipients": 18240,    "bounced": 212,    "complained": 9,    "bounceRate": 0.0116,    "complaintRate": 0.0005  },  "limits": { "bounceRate": 0.04, "complaintRate": 0.002, "minimumRecipients": 500, "windowDays": 7 }}

Полоса, которая не приостановлена, даёт 409 stream_not_paused.

Токену доступа OAuth для этого вызова нужен код подтверждения. Пока приложение не подтвердило код за последние 60 минут, вызов отвечает 403 step_up_required и ничего не меняет. У API-ключа его никогда не спрашивают. Страница «Аутентификация» показывает, как запросить код и подтвердить его.

Справочник