Réordonner les règles
L'ordre entier en un seul appel, parce qu'une liste de règles n'a de sens que dans l'ordre.
Exécute le véritable appel sur votre espace de travail, avec votre propre clé.
POST /rules/reorder
L'ordre entier en un seul appel, parce qu'une liste de règles n'a de sens que dans l'ordre.
Exemple
Requiert rules:write. Le corps nomme CHAQUE règle de la connexion, dans l'ordre où vous voulez qu'elles soient évaluées. Renvoie la liste complète dans son nouvel ordre.
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}Une liste partielle donne incomplete_order, un 422, et rien ne bouge. L'accepter reviendrait à inventer des positions pour les règles que vous avez laissées de côté, et l'endroit où elles atterriraient par rapport à celles que vous avez nommées serait notre supposition sur votre boîte plutôt que votre instruction.
Idempotent par construction : le corps nomme l'ordre entier, donc l'envoyer deux fois aboutit au même résultat. Il est sûr de réessayer et sûr de l'exécuter depuis un script qui ignore l'ordre actuel.
Toutes les positions sont réécrites en une seule instruction dans une seule transaction : il n'y a donc aucun moment où deux règles partagent une position ou où la liste est à moitié renumérotée.
L'ordre n'est pas cosmétique. Il décide laquelle de deux règles nomme le dossier où finit un message, et où une règle stopProcessing coupe la liste.