Passer au contenu principal

Exécutions d’évaluation d’étiquette

Les étiquettes sont (re)calculées par une exécution d’évaluation d’étiquette — manuelle, planifiée ou via API. Une exécution évalue les règles actives (ou un sous-ensemble spécifique), puis crée les assignations pour les entités nouvellement correspondantes et supprime les assignations qui ne correspondent plus.
ChampSignification
statusPENDING → RUNNING → SUCCESS / FAILED.
triggerTypeMANUAL, SCHEDULED, ou API.
ruleIdsLes règles à évaluer (null = toutes les règles actives).
stats{ rulesEvaluated, assignmentsCreated, assignmentsRemoved, durationMs }.
logsEntrées structurées (DEBUG/INFO/WARN/ERROR), plafonnées à 5000 par exécution.
Parce qu’une exécution réconcilie les assignations (ajoute et supprime), les étiquettes restent en synchronisation avec vos données au fil du temps — une entité qui cesse de correspondre perd l’étiquette à la prochaine exécution.

Exemple complet

Étiquetez les articles d’inventaire dont l’épuisement est prévu dans 7 jours.
{
  "name": "Auto-tag: Stockout in 7 days",
  "tagId": "<resolved-uuid>",
  "conditions": {
    "operator": "AND",
    "rules": [
      {
        "type": "METRIC",
        "metricId": "<days-of-stock-metric-uuid>",
        "conditionOperator": "LOWER_OR_EQUAL",
        "thresholdValue": 7,
        "periodFilter": null
      }
    ]
  },
  "scope": { "entityType": "INVENTORY_ITEM" },
  "isActive": true
}
Points à remarquer
  • Une seule condition de métrique (jours de stock ≤ 7) sous un groupe AND.
  • La portée est juste entityType: INVENTORY_ITEM — pas de restriction de marque/taxonomie, pas de propagation (par défaut entity-only).
  • À chaque exécution d’évaluation, les articles d’inventaire correspondants reçoivent l’étiquette ; les articles qui se rétablissent (plus de 7 jours de stock) la perdent.
Un deuxième exemple mixte — nouveautés menswear ayant vendu 50+ unités le mois dernier :
{
  "conditions": {
    "operator": "AND",
    "rules": [
      { "type": "METRIC", "metricId": "<gross-sales-qty>", "conditionOperator": "GREATER_OR_EQUAL", "thresholdValue": 50, "periodFilter": { "type": "LAST_30_DAYS" } },
      { "type": "COLUMN", "columnId": "dim_products.gender_full_path_1", "columnOperator": "STARTS_WITH", "value": "M" }
    ]
  },
  "scope": { "entityType": "PRODUCT", "propagationMode": "CASCADE_DOWN" }
}
Ici une condition de métrique et une condition de colonne se combinent, et CASCADE_DOWN propage l’étiquette de chaque produit correspondant à ses variantes.
Une fois les entités étiquetées, pointez les alertes et les déclencheurs de workflow sur ces étiquettes pour surveiller ou automatiser contre elles.