Перейти к документации
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 не могут разойтись во мнении о том, совпадает ли правило. Дважды написанный предпросмотр — это два ответа на один вопрос, и показанный человеку будет как раз неправильным.

Ограничен по построению: не более 200 сообщений максимум за год. Это выполняется внутри воркера с бюджетом по реальному времени, а неограниченное сканирование — это запрос, который умирает на полпути, не показав ничего.

Отключённое правило всё равно можно протестировать. В этом и смысл: напишите его, протестируйте, затем включите.

warnings — это место, где проявляется правило, которое разбирается, но вести себя не будет. Неподтверждённый кем-либо адрес пересылки — то, с чем вы столкнётесь. Предупреждение никогда не останавливает тест: смысл холостого прогона в том, чтобы сообщить обо всём найденном за один проход, а не упасть на первом же.

Нет никакого «прогнать это по моему ящику»

POST /rules/{id}/run намеренно отсутствует, и его не будет. Применение правила задним числом ко всему почтовому ящику не ограничено, необратимо и не имеет отмены (действие trash по десятилетнему архиву почты — это один вызов без второго шанса), а путь записи, который для этого понадобился бы, сливается в сохранённую цепочку, что побочным эффектом наведения порядка подняло бы каждое затронутое сообщение наверх папки входящих.

Этот эндпоинт — честная половина такого запроса: он отвечает на «что бы это сделало», а это и есть вопрос, — а дальше вы разложите нужные вам сообщения через PATCH /threads/{id}.