Saltar para a documentação
API

Listar as faixas de envio

As duas faixas por onde o correio segue, com os seus números de devoluções e queixas.

GET/sending/streams

Executa qualquer uma das 2 chamadas no seu espaço de trabalho.

GET /sending/streams

As duas faixas por onde o correio segue, com os seus números de devoluções e queixas.

Exemplo

Requer emails:read. O correio segue por duas faixas com filas e reputação próprias: transactional para o correio da app, como reposições de palavra-passe e recibos, e broadcast para newsletters. Cada faixa vem com os seus números dos últimos 7 dias e os limits a que a faixa dos disparos está sujeita.

curl
curl "$OE/sending/streams" -H "$AUTH"
Resposta
{ "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 }}] }

A faixa dos disparos põe-se em pausa sozinha quando a taxa de devolução passa os 4% ou a taxa de queixas os 0,2% nesses 7 dias, depois de atingir minimumRecipients. pausedReason diz qual, o dono do espaço de trabalho recebe um email, e o correio da app continua a sair.

Enquanto está em pausa, uma mensagem enviada com stream igual a broadcast e um novo disparo dão um 409 stream_paused, e os disparos que já estão a sair ficam retidos.

Escolher uma faixa

Requer emails:send. stream em POST /emails, em cada mensagem de POST /emails/batch e em POST /templates/{id}/send escolhe a faixa. É transactional salvo indicação em contrário, e cada cópia de um disparo segue por 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" }'
Resposta
{ "object": "email", "id": "msg_5f1c9a0e7b2d4c6a8e3f1b7d", "status": "queued", "stream": "broadcast" }

Por SMTP, o cabeçalho X-OpenEmail-Stream: broadcast faz o mesmo, e é removido antes de a mensagem sair.

Retomar uma faixa em pausa

Requer domains:write e o dono do espaço de trabalho. POST /sending/streams/broadcast/resume retoma a faixa: as mensagens retidas saem de imediato e a contagem de 7 dias recomeça a partir de agora, por isso limpe primeiro a audiência.

curl
curl -X POST "$OE/sending/streams/broadcast/resume" -H "$AUTH"
Resposta
{  "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 }}

Uma faixa que não está em pausa dá um 409 stream_not_paused.

Um token de acesso OAuth precisa de um código de verificação para esta chamada. Até a aplicação ter verificado um nos últimos 60 minutos, a chamada responde 403 step_up_required e não altera nada. A uma chave de API nunca é pedido. A página Autenticação mostra como pedir um código e verificá-lo.

Referência