Kuralları listele
Bağlantıdaki her kural, değerlendirildikleri sırayla.
Gerçek çağrıyı kendi anahtarınızla çalışma alanınıza karşı çalıştırır.
GET /rules
Bağlantıdaki her kural, değerlendirildikleri sırayla.
Bir kural nasıl çalışır
export OE=https://api.openemail.ukexport AUTH="Authorization: Bearer $OPENEMAIL_API_KEY"Bir kural, gelen bir mesaj üzerindeki koşulların listesi ve bunlarla eşleşen her şeye uygulanacak eylemlerin listesidir. Kurallar, onları yazana değil BAĞLANTIYA aittir. Bir çalışma alanı anahtarı bir meslektaşın gördüğü kuralların aynısını görür ve yazarın hesabını silmek kuralları da beraberinde götürmez.
Bir bağlantı 100 kural tutar ve her kural en fazla 20 koşul ile 10 eylem tutar. Bunlar plan sınırları değil, kontrolden çıkmış betiklere karşı korumalardır: 101. kural rule_limit_reached, bir 422'dir ve 21. koşul, hiçbir şey yazılmadan önce şema tarafından reddedilir.
match: "all" koşulları AND ile, match: "any" ise OR ile birleştirir; tek bir koşuldaki negate ise NOT'tur. İç içe bir mantık ağacı yoktur: (A and B) or C iki kuraldır. Bu bir kestirme değil, bir karardır. Özyinelemeli bir şema OpenAPI belgesinde $refStrategy: "none" ile tarif edilemez, bir MCP istemcisine JSON Schema olarak verilemez ve bu depoda daha önce TypeScript'in örnekleme tavanını aşmış olan yapının ta kendisidir. İki kural, aynı zamanda birinin altı ay sonra geri okuduğunda anlayacağı biçimdir.
Bağlantıdaki her etkin kural, gelen her mesaja karşı position sırasıyla, en küçükten başlayarak değerlendirilir. stopProcessing: true taşıyan eşleşen bir kuraldan sonra değerlendirme durur ve altındaki hiçbir şey dikkate alınmaz. Eşleşen iki kuralın ikisi de bir klasör adlandırdığında SONRAKİ kazanır ve mesaj onun klasörüne gider; numaralı bir listenin size verdiği okuma budur ve sıralama hakkında keşfedilmeye bırakılmak yerine açıkça söylenmeye değer tek şeydir.
Kurallar hata durumunda AÇIK kalır. Daha eski bir istemcinin yazdığı bir koşul, desene derlenemeyen bir değer, yanıt vermeyen bir veritabanı: bunların her biri atlanır ve mesaj, aksi hâlde nasıl teslim edilecekse öyle teslim edilir; hata da çalışmaya karşı kaydedilir. Hata fırlatan bir kural motoru hiç ulaşmayan bir mesaj demektir; atlanan bir kural motoru ise yanlış klasördeki tek bir mesajdır.
Hiçbir şey geriye dönük değildir. Bir kural, var olduktan sonra gelen postaya ne olacağına karar verir ve bir kuralı zaten sahip olduğunuz bir posta kutusuna uygulayan bir uç nokta bilerek yoktur. İnsanların buna başvururken gerçekte sorduğu soruyu yanıtlayan POST /rules/{id}/test uç noktasına bakın.
Örnek
rules:read gerektirir. limit en fazla 100'dür, cursor opaktır (size verilen nextCursor değerini geri gönderin) ve enabled, anahtarın iki konumundan birine göre daraltır.
curl "$OE/rules?limit=25&enabled=true" -H "$AUTH"{ "object": "list", "data": [ { "object": "rule", "id": "rul_7f3a1c94e05d3862c1f0a44b", "name": "Receipts to their own label", "description": null, "enabled": true, "position": 0, "match": "all", "conditions": [ { "field": "from_domain", "op": "matches", "value": "*.stripe.com", "negate": false }, { "field": "subject", "op": "contains", "value": "receipt", "negate": false } ], "actions": [ { "type": "label", "value": "USER_RECEIPTS" }, { "type": "archive" } ], "stopProcessing": true, "lastMatchedAt": "2026-08-29T11:04:12.000Z", "matchCount": 148, "createdAt": "2026-08-01T09:00:00.000Z", "updatedAt": "2026-08-20T16:31:00.000Z" } ], "hasMore": false, "nextCursor": null}enabled, zorla dönüştürülmüş bir boolean yerine true ve false dizgelerini alır ve bu titizlik değildir: Boolean("false") true'dur; dolayısıyla dönüştürülmüş bir sorgu "devre dışı kurallarımı göster" isteğine etkin olanlarla yanıt verir ve çalışıyormuş gibi görünürdü.
Listenin sırası değerlendirme sırasıdır; dolayısıyla onu yukarıdan aşağıya okumak, bir mesaja ne olduğunu okumaktır. position benzersiz değildir ve bir id değildir (POST /rules/reorder onu yeniden numaralandırır); bu yüzden bir kuralı şu an bulunduğu yere göre değil, rul_ id'siyle sabitleyin.
matchCount ve lastMatchedAt, okunup yeniden yazılmak yerine posta geldikçe veritabanında sayılır; dolayısıyla aynı anda gelen iki mesaj arasında bir sayım kaybolamaz. Hiç tetiklenmemiş bir kural 0 ve null gösterir; biri bir kuralın çalışmadığını söylediğinde üzerinde durulması gereken yanıt budur.