API
バッチ送信する
一度に最大 100 通。
POSTapi.openemail.uk/emails/batch
実際の呼び出しを、ご自身のキーで自分のワークスペースに対して実行します。
全部か無かではなく、項目ごと
各メッセージは個別に受理または拒否され、レスポンスはその両方を報告します。1 件の不正なアドレスで全体がロールバックされるバッチでは、再試行のたびにどのメッセージがすでに送られたのかを考える羽目になります。それを追跡しなくて済むようにするのがバッチの目的です。
バッチ送信する
ボディは配列、または { "emails": [...] } です。どのメッセージも単一送信と同じフィールドを取ります。
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" } } ]}200 ではなく 207 です。一部は成功しています。ステータスコードで分岐せず、項目ごとの data[].status を読んでください。
バッチに付けた Idempotency-Key は内部で項目ごとに拡張されるため、100 通に 1 つのキーを付けても、それらが最初の 1 通にまとめられることはありません。