Envoyer un lot
Jusqu'à 100 d'un coup.
Exécute le véritable appel sur votre espace de travail, avec votre propre clé.
Par élément, jamais tout ou rien
Chaque message est accepté ou refusé pour lui-même, et la réponse rapporte les deux. Un lot annulé en bloc à cause d'une seule mauvaise adresse transformerait votre nouvelle tentative en une enquête sur les messages déjà partis, c'est-à-dire précisément le suivi que le lot devait vous épargner.
Envoyer un lot
Le corps est un tableau, ou { "emails": [...] }. Chaque message prend les mêmes champs qu'un envoi unitaire.
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>" } ] }'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, pas 200 : une partie a fonctionné. Lisez data[].status élément par élément plutôt que de vous décider sur le code de statut.
Un Idempotency-Key posé sur un lot est étendu élément par élément en interne : une seule clé sur cent messages ne les réduit donc pas au premier.