Перейти к документации
API

Изменить порядок правил

Весь порядок одним вызовом, потому что список правил имеет смысл только в порядке.

POSTapi.openemail.uk/rules/reorder

Выполняет настоящий запрос в вашем рабочем пространстве, с вашим собственным ключом.

POST /rules/reorder

Весь порядок одним вызовом, потому что список правил имеет смысл только в порядке.

Пример

Требует rules:write. Тело называет КАЖДОЕ правило подключения в том порядке, в котором вы хотите их вычислять. Возвращает полный список в новом порядке.

curl
curl -X POST "$OE/rules/reorder" -H "$AUTH" -H "Content-Type: application/json" \  -d '{ "ruleIds": ["rul_7f3a1c94…", "rul_2b81de07…", "rul_c40a95f2…"] }'
Ответ
{  "object": "list",  "data": [    { "object": "rule", "id": "rul_7f3a1c94…", "name": "Receipts to their own label", "position": 0 },    { "object": "rule", "id": "rul_2b81de07…", "name": "Newsletters after hours", "position": 1 },    { "object": "rule", "id": "rul_c40a95f2…", "name": "Anything from the old domain", "position": 2 }  ],  "hasMore": false,  "nextCursor": null}

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

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

Все позиции переписываются одним оператором внутри одной транзакции, поэтому нет момента, когда два правила делят одну позицию или список перенумерован наполовину.

Порядок — не косметика. Он решает, какое из двух правил назовёт папку, в которой окажется сообщение, и где правило с stopProcessing обрывает список.