Saltar para a documentação
API

Enviar um lote

Até 100 de uma vez.

POSTapi.openemail.uk/emails/batch

Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.

Por item, nunca tudo ou nada

Cada mensagem é aceite ou recusada por si, e a resposta relata ambas as coisas. Um lote que revertesse por causa de um endereço errado transformaria a sua repetição numa dúvida sobre quais as mensagens que já tinham saído, que é precisamente aquilo que o lote lhe evita andar a controlar.

Enviar um lote

O corpo é um array, ou { "emails": [...] }. Cada mensagem aceita os mesmos campos de um envio individual.

curl
curl -X POST "$OE/emails/batch" -H "$AUTH" -H "Content-Type: application/json" \  -d '{    "emails": [      { "from": "[email protected]", "to": ["[email protected]"],   "subject": "Invoice",  "html": "<p>1</p>" },      { "from": "[email protected]",   "to": ["[email protected]"], "subject": "Invoice",  "html": "<p>2</p>" },      { "from": "[email protected]", "to": ["broken@"],           "subject": "Invoice",  "html": "<p>3</p>" }    ]  }'
Resposta
HTTP/1.1 207 Multi-Status {  "object": "list",  "sent": 1,  "failed": 2,  "data": [    { "index": 0, "status": "ok", "email": { "id": "msg_e7e468…", "status": "sent" } },    {      "index": 1,      "status": "error",      "error": { "type": "permission_error", "code": "from_address_forbidden", "param": "from" }    },    {      "index": 2,      "status": "error",      "error": { "type": "validation_error", "code": "invalid_email_address", "param": "to.0" }    }  ]}

207, não 200: parte funcionou. Leia data[].status por item em vez de ramificar pelo código de estado.

Uma Idempotency-Key num lote é estendida internamente por item, pelo que uma chave em cem mensagens não as colapsa na primeira.