Saltar para a documentação
API

Reordenar regras

A ordem inteira numa só chamada, porque uma lista de regras só significa alguma coisa em ordem.

POSTapi.openemail.uk/rules/reorder

Executa a chamada real contra o seu espaço de trabalho, com a sua própria chave.

POST /rules/reorder

A ordem inteira numa só chamada, porque uma lista de regras só significa alguma coisa em ordem.

Exemplo

Requer rules:write. O corpo nomeia TODAS as regras da ligação, pela ordem em que as quer avaliadas. Devolve a lista completa na sua nova ordem.

curl
curl -X POST "$OE/rules/reorder" -H "$AUTH" -H "Content-Type: application/json" \  -d '{ "ruleIds": ["rul_7f3a1c94…", "rul_2b81de07…", "rul_c40a95f2…"] }'
Resposta
{  "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}

Uma lista parcial é incomplete_order, um 422, e nada se move. Aceitá-la significaria inventar posições para as regras que deixou de fora, e onde essas ficassem em relação às que nomeou seria um palpite nosso sobre a sua caixa de correio e não uma instrução sua.

Idempotente por construção: o corpo nomeia a ordem inteira, por isso enviá-lo duas vezes acaba no mesmo sítio. É seguro repetir e seguro correr a partir de um script que não conhece a ordem atual.

Todas as posições são reescritas numa só instrução dentro de uma transação, por isso não há momento nenhum em que duas regras partilhem uma posição ou a lista esteja meio renumerada.

A ordem não é cosmética. Decide qual de duas regras nomeia a pasta onde uma mensagem acaba, e onde uma regra com stopProcessing corta a lista.