발송 레인 목록
메일이 지나가는 두 레인과 각각의 반송 및 불만 수치.
2개 호출을 워크스페이스에 실제로 실행합니다.
GET /sending/streams
메일이 지나가는 두 레인과 각각의 반송 및 불만 수치.
예시
emails:read가 필요합니다. 메일은 각자의 대기열과 평판을 가진 두 레인으로 나갑니다. 비밀번호 재설정이나 영수증 같은 앱 메일은 transactional, 뉴스레터는 broadcast입니다. 각 레인에는 최근 7일의 수치와, 단체 발송 레인에 적용되는 limits가 함께 옵니다.
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 }}] }단체 발송 레인은 minimumRecipients에 도달한 뒤, 그 7일 동안 반송률이 4%를 넘거나 불만률이 0.2%를 넘으면 스스로 일시중지됩니다. 어느 쪽인지는 pausedReason이 알려 주고, 워크스페이스 소유자가 이메일을 받으며, 앱 메일은 계속 나갑니다.
일시중지된 동안에는 stream을 broadcast로 지정해 보낸 메시지와 새 단체 발송이 409 stream_paused가 되고, 이미 나가고 있던 단체 발송은 보류됩니다.
레인 고르기
emails:send가 필요합니다. POST /emails, POST /emails/batch의 각 메시지, POST /templates/{id}/send의 stream이 레인을 고릅니다. 따로 지정하지 않으면 transactional이고, 단체 발송의 모든 사본은 broadcast로 나갑니다.
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 -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 키는 요구받지 않습니다. 코드를 요청하고 인증하는 방법은 인증 페이지에 있습니다.