Przejdź do dokumentacji
API

Wysyłka zbiorcza

Do 100 naraz.

POSTapi.openemail.uk/emails/batch

Uruchamia prawdziwe wywołanie na twojej przestrzeni roboczej, twoim własnym kluczem.

Pozycja po pozycji, nigdy wszystko albo nic

Każda wiadomość jest przyjmowana albo odrzucana osobno, a odpowiedź raportuje jedno i drugie. Partia wycofywana z powodu jednego błędnego adresu zamieniłaby ponowienie w pytanie, które wiadomości już poszły — a właśnie po to, by tego nie śledzić, sięgnąłeś po wysyłkę zbiorczą.

Wysyłka zbiorcza

Treść żądania to tablica albo { "emails": [...] }. Każda wiadomość przyjmuje te same pola co pojedyncza wysyłka.

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>" }    ]  }'
Odpowiedź
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, nie 200: część się udała. Czytaj data[].status dla każdej pozycji, zamiast rozgałęziać się na kodzie stanu.

Idempotency-Key na partii jest wewnętrznie rozszerzany o każdą pozycję, więc jeden klucz na stu wiadomościach nie zwija ich do pierwszej.