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

آزمون یک قانون

اینکه این قانون کدام‌یک از پیام‌های اخیر شما را می‌گرفت. هیچ‌چیز را تغییر نمی‌دهد.

POSTapi.openemail.uk/rules/{id}/test

فراخوانی واقعی را با کلید خودتان روی فضای کاری شما اجرا می‌کند.

POST /rules/{id}/test

اینکه این قانون کدام‌یک از پیام‌های اخیر شما را می‌گرفت. هیچ‌چیز را تغییر نمی‌دهد.

نمونه

نیازمند rules:read است. اجرای خشک یک صندوق پستی را می‌خواند و چیزی نمی‌نویسد، پس عملیات rules:write نیست. days پیش‌فرض 30 است و تا 365 می‌رود، limit پیش‌فرض 50 است و تا 200 می‌رود، و threadIds به جای یک بازه، رشته‌های نام‌برده را آزمون می‌کند.

curl
curl -X POST "$OE/rules/rul_7f3a1c94e05d3862c1f0a44b/test" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "days": 30, "limit": 50 }'
پاسخ
{  "object": "rule_test",  "ruleId": "rul_7f3a1c94e05d3862c1f0a44b",  "scanned": 50,  "matched": 3,  "wouldApply": ["label:USER_RECEIPTS", "archive"],  "messages": [    {      "threadId": "thr_5d31c2a8…",      "from": "[email protected]",      "subject": "Your receipt",      "receivedAt": "2026-08-28T10:00:00.000Z"    }  ],  "warnings": [{ "code": "forward_unverified", "value": "[email protected]" }]}

همان موتوری که روی مسیر تحویل اجرا می‌شود به این پاسخ می‌دهد. یک ماژول است، عمداً خالص (بدون پایگاه‌داده، بدون شبکه)، تا صفحهٔ تنظیمات، اجرای خشک و هندلر SMTP نتوانند دربارهٔ تطبیق یک قانون با هم اختلاف داشته باشند. پیش‌نمایشی که دو بار نوشته شود دو پاسخ به یک پرسش است، و آنکه به یک آدم نشان داده می‌شود همان است که غلط است.

بنا به ساختار کران‌دار است: حداکثر ۲۰۰ پیام در بازه‌ای حداکثر یک‌ساله. این درون یک Worker با بودجهٔ زمان دیواری اجرا می‌شود، و پویش بی‌کران درخواستی است که نیمه‌راه می‌میرد و چیزی برای نشان‌دادن ندارد.

قانونی که غیرفعال است باز هم می‌تواند آزمون شود. نکته همین است: بنویسیدش، آزمونش کنید، بعد فعالش کنید.

warnings جایی است که قانونی که پارس می‌شود ولی درست رفتار نمی‌کند خود را نشان می‌دهد. نشانی forwardی که کسی تأییدش نکرده همانی است که با آن روبه‌رو خواهید شد. هشدار هرگز آزمون را متوقف نمی‌کند: نکتهٔ اجرای خشک این است که هر چه یافته را در یک گذر گزارش کند نه اینکه سر نخستین چیز شکست بخورد.

«این را روی صندوق پستی‌ام اجرا کن» وجود ندارد

عمداً POST /rules/{id}/runی وجود ندارد، و قرار هم نیست باشد. اعمال یک قانون به‌صورت عطف به ماسبق روی کل یک صندوق پستی بی‌کران و برگشت‌ناپذیر است و هیچ undoیی ندارد (یک اقدام trash روی ده سال نامه یک فراخوانی است بدون فرصت دوم)، و مسیر نوشتنی که ناچار بود از آن استفاده کند با رشتهٔ ذخیره‌شده ادغام می‌شود، که هر پیامی را که لمس کند به عنوان عارضهٔ جانبی مرتب‌کاری به بالای صندوق ورودی می‌راند.

این اندپوینت نیمهٔ صادقانهٔ آن درخواست است: به «این چه می‌کرد» پاسخ می‌دهد، که همان پرسش است، و بعد پیام‌هایی را که واقعاً منظورتان بوده با PATCH /threads/{id} بایگانی می‌کنید.