Przejdź do dokumentacji
API

Przetestuj regułę

Które z twoich ostatnich wiadomości ta reguła by złapała. Nic nie zmienia.

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

Uruchamia prawdziwe wywołanie na twojej przestrzeni roboczej, twoim własnym kluczem.

POST /rules/{id}/test

Które z twoich ostatnich wiadomości ta reguła by złapała. Nic nie zmienia.

Przykład

Wymaga rules:read. Przebieg na sucho czyta skrzynkę i nic nie zapisuje, więc nie jest operacją rules:write. days domyślnie 30 i sięga 365, limit domyślnie 50 i sięga 200, a threadIds testuje wskazane wątki zamiast okna czasowego.

curl
curl -X POST "$OE/rules/rul_7f3a1c94e05d3862c1f0a44b/test" -H "$AUTH" \  -H "Content-Type: application/json" \  -d '{ "days": 30, "limit": 50 }'
Odpowiedź
{  "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]" }]}

Odpowiada na to ten sam silnik, który działa na ścieżce doręczania. To jeden moduł, celowo czysty (bez bazy, bez sieci), więc ekran ustawień, przebieg na sucho i obsługa SMTP nie mogą różnić się co do tego, czy reguła pasuje. Podgląd napisany dwa razy to dwie odpowiedzi na jedno pytanie, a ta, którą widzi człowiek, jest tą błędną.

Ograniczony z konstrukcji: najwyżej 200 wiadomości z najwyżej roku. To działa w Workerze z budżetem czasu, a nieograniczone skanowanie to żądanie, które umiera w połowie i nie ma nic do pokazania.

Wyłączoną regułę też można przetestować. O to właśnie chodzi: napisz ją, przetestuj, potem włącz.

warnings to miejsce, w którym ujawnia się reguła, która parsuje się poprawnie, ale nie będzie się zachowywać. Adres przekierowania, którego nikt nie potwierdził, to ten, na który natrafisz. Ostrzeżenie nigdy nie przerywa testu: sens przebiegu na sucho to zgłoszenie wszystkiego, co znalazł, w jednym przejściu, a nie wywrócenie się na pierwszej rzeczy.

Nie ma „uruchom to na całej mojej skrzynce”

Celowo nie ma POST /rules/{id}/run i nie będzie. Zastosowanie reguły wstecz do całej skrzynki jest nieograniczone, nieodwracalne i nie ma cofnięcia (akcja trash na dziesięciu latach poczty to jedno wywołanie bez drugiej szansy), a ścieżka zapisu, której musiałoby użyć, scala się ze składowanym wątkiem, co wyniosłoby każdą dotkniętą wiadomość na szczyt skrzynki odbiorczej jako efekt uboczny porządków.

Ten endpoint to uczciwa połowa tamtej prośby: odpowiada na „co by to zrobiło”, czyli na właściwe pytanie, a potem wiadomości, o które naprawdę ci chodziło, przenosisz przez PATCH /threads/{id}.