پرش به مستندات
API

زمان‌بندی و لغو

بعداً بفرستید، جابه‌جایش کنید، یا جلویش را بگیرید.

PATCHapi.openemail.uk/emails/{id}

هر کدام از 2 فراخوانی این صفحه را با کلید خودتان روی فضای کاری شما اجرا می‌کند.

زمان‌بندی

scheduledAt یک لحظهٔ ISO 8601 یا مدتی مانند PT2H می‌گیرد، تا یک سال بعد. پیام زمان‌بندی‌شده با 202 و status: "scheduled" پاسخ می‌دهد و تا لحظهٔ ارسال لغو‌شدنی می‌ماند.

cancellableForSeconds همین کار را برای ارسال فوری می‌کند: پنجرهٔ لغو ارسالِ نویسنده، که به‌جای میخ‌کوب‌شدن به یک تنظیم کاربری که هیچ کاری با رفتار یک API ندارد، در دسترس گذاشته شده. این دو ناسازگارند: پیام زمان‌بندی‌شده از پیش لغو‌شدنی است.

زمان‌بندی یک ارسال

دو ساعت بعد. پاسخ شناسه‌ای را با خود دارد که برای جابه‌جایی یا توقفش لازمتان می‌شود.

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"    }'
پاسخ
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، نه 200: هنوز باید چیزی بر سرش بیاید. ارسال فوری با 200 و status: "sent" پاسخ می‌دهد، پس فراخوان می‌تواند تنها روی کد وضعیت شاخه بزند.

جابه‌جایش کنید

PATCH /emails/{id}. تنها scheduledAt می‌تواند عوض شود، و تنها تا وقتی پیام در صف یا زمان‌بندی‌شده است.

curl
curl -X PATCH "$OE/emails/msg_8cd0a316930b4482a8b8440b" \    -H "$AUTH" -H "Content-Type: application/json" \    -d '{ "scheduledAt": "PT6H" }'
پاسخ
{    "object": "email",    "id": "msg_8cd0a316930b4482a8b8440b",    "status": "scheduled",    "scheduledAt": "2026-09-01T14:20:15.881Z"  }

جلویش را بگیرید

POST /emails/{id}/cancel.

curl
curl -X POST "$OE/emails/msg_8cd0a316930b4482a8b8440b/cancel" -H "$AUTH"
پاسخ
{ "object": "email", "id": "msg_8cd0a316930b4482a8b8440b", "status": "cancelled" }

دو بار لغو‌کردن خطا نیست. فراخوانی دوم همان پیام لغوشده را برمی‌گرداند، پس تلاش دوباره امن است.

لغو پیامی که از پیش رفته 409 email_not_cancellable است. نمی‌توان ارسالش را پس گرفت، و هر پاسخ دیگری دروغ می‌بود.