Bỏ qua tới phần tài liệu
API

Lên lịch và hủy

Gửi sau, dời lịch hoặc dừng gửi.

PATCHapi.openemail.uk/emails/{id}

Chạy bất kỳ lệnh nào trong 2 lệnh gọi trên trang này với không gian làm việc của bạn, bằng khóa của chính bạn.

Lên lịch

scheduledAt nhận một thời điểm ISO-8601 hoặc một khoảng thời gian như PT2H, tối đa một năm tính từ hiện tại. Thư đã lên lịch trả về 202 với status: "scheduled" và vẫn có thể hủy cho tới đúng lúc được gửi.

cancellableForSeconds làm điều tương tự cho lần gửi ngay: đây là khoảng thời gian hoàn tác gửi của trình soạn thư, được cung cấp ra ngoài thay vì gắn cứng vào một cài đặt người dùng vốn không có lý do gì để quyết định hành vi của API. Hai trường này loại trừ lẫn nhau: thư đã lên lịch vốn đã có thể hủy.

Lên lịch gửi

Hai giờ nữa. Phản hồi chứa id mà bạn sẽ cần để dời lịch hoặc dừng gửi.

curl
curl -X POST "$OE/emails" -H "$AUTH" -H "Content-Type: application/json" \    -d '{      "from": "[email protected]",      "to": ["[email protected]"],      "subject": "Your September invoice",      "html": "<p>Invoice attached.</p>",      "scheduledAt": "PT2H"    }'
Phản hồi
HTTP/1.1 202 Accepted  Location: /emails/msg_8cd0a316930b4482a8b8440b   {    "object": "email",    "id": "msg_8cd0a316930b4482a8b8440b",    "status": "scheduled",    "scheduledAt": "2026-09-01T10:19:41.345Z",    "cancellableUntil": "2026-09-01T10:19:41.345Z",    "messageId": null,    "transport": null,    "sentAt": null  }

202, không phải 200: thư vẫn còn bước cần xử lý. Lần gửi ngay trả về 200 với status: "sent", nên bên gọi có thể rẽ nhánh chỉ dựa trên mã trạng thái.

Dời lịch

PATCH /emails/{id}. Chỉ scheduledAt có thể thay đổi, và chỉ khi thư đang ở hàng đợi hoặc đã lên lịch.

curl
curl -X PATCH "$OE/emails/msg_8cd0a316930b4482a8b8440b" \    -H "$AUTH" -H "Content-Type: application/json" \    -d '{ "scheduledAt": "PT6H" }'
Phản hồi
{    "object": "email",    "id": "msg_8cd0a316930b4482a8b8440b",    "status": "scheduled",    "scheduledAt": "2026-09-01T14:20:15.881Z"  }

Dừng gửi

POST /emails/{id}/cancel.

curl
curl -X POST "$OE/emails/msg_8cd0a316930b4482a8b8440b/cancel" -H "$AUTH"
Phản hồi
{ "object": "email", "id": "msg_8cd0a316930b4482a8b8440b", "status": "cancelled" }

Hủy hai lần không phải là lỗi. Lệnh gọi thứ hai trả về cùng thư đã hủy, nên việc thử lại là an toàn.

Hủy một thư đã được gửi đi sẽ trả về 409 email_not_cancellable. Thư không thể được thu hồi, và trả lời bất kỳ điều gì khác đều là nói dối.