> ## Documentation Index
> Fetch the complete documentation index at: https://docs.solya.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Alertes — anatomie

> La définition d'alerte, le modèle de déclenchement basé sur les étiquettes, le catalogue de métriques, et comment tout s'articule.

Les **alertes** (Signaux) lèvent des instances quand les entités d'intérêt apparaissent, puis notifient et vous
permettent d'agir. Cette référence documente le modèle complet. Pour le guide utilisateur, voir
[Signaux → Alertes](/fr/signals/alerts).

## Le modèle basé sur les étiquettes

C'est le concept clé : **une alerte se déclenche sur des étiquettes, pas sur un seuil de métrique brute**.

```
seuil de métrique  ──(règle de tagging)──►  étiquette sur les entités  ──(alerte surveille l'étiquette)──►  instance d'alerte
```

```mermaid theme={null}
flowchart TB
  A["Seuil de Métrique"] -->|Règle de Tagging| B["Étiquette sur les Entités"]
  B -->|Alerte Surveille l'Étiquette| C["Instance d'Alerte Levée"]
```

* La logique **métrique → seuil** vit dans les [règles de tagging](/fr/developers/tagging-rules/overview)
  (une condition de métrique étiquette les entités correspondantes).
* Une **alerte** surveille alors les entités portant ces étiquettes, dans un périmètre et à un
  niveau de vérification, et notifie.

Donc « alerte-moi si jours de stock ≤ 7 » s'exprime comme : une règle de tagging qui étiquette les articles en manque de stock,
plus une alerte qui surveille cette étiquette.

## Définition d'alerte

Une ligne `alerts` a :

| Champ                      | Signification                                                                                                  |
| -------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `name`                     | Nom d'affichage.                                                                                               |
| `category` / `subcategory` | Classification (ex. `INVENTORY` / `STOCK`).                                                                    |
| `rules`                    | Le déclencheur basé sur les étiquettes — voir [Règles & périmètre](/fr/developers/alerts/rules-and-perimeter). |
| `scope`                    | Le périmètre (magasins / marques / produits / taxonomies / collections).                                       |
| `destination`              | Notifications — voir [Notifications & actions](/fr/developers/alerts/notifications-and-actions).               |
| `isActive`                 | Si l'alerte est évaluée.                                                                                       |

```json theme={null}
{
  "name": "Low Stock Critical Products",
  "category": "INVENTORY",
  "subcategory": "STOCK",
  "rules": { "operator": "AND", "tagRules": [ { "tagId": "<uuid>", "mode": "INCLUDE" } ], "checkLevel": "PRODUCT" },
  "scope": { "storesIds": ["<uuid>"], "brandIds": ["<uuid>"] },
  "destination": { "frequency": "DAILY", "mediums": ["EMAIL"], "recipientIds": [] },
  "isActive": true
}
```

## Le catalogue de métriques

Les métriques vivent dans un catalogue `alert_metrics` séparé (référencé par les conditions de métrique des règles de tagging).
Chaque métrique est `GLOBAL` (partagée) ou scoped `ORG`, a un `kind`
(`precomputed_column`, `aggregation`, `time_windowed_aggregation`, `formula`, `composite`),
un corps de calcul `body`, un `grain`, et une sortie. Les métriques standard :

| Métrique                                     | Mesure                                              |
| -------------------------------------------- | --------------------------------------------------- |
| `CURRENT_STOCK_LEVEL`                        | Stock actuel.                                       |
| `GROSS_SALES_VALUE` / `GROSS_SALES_QUANTITY` | Valeur de ventes / unités.                          |
| `GROSS_SALES_VALUE_PREVIOUS`                 | Ventes de la période précédente (pour la tendance). |
| `FORECASTED_SALES_QUANTITY`                  | Demande prévue.                                     |
| `INVENTORY_TURN_OVER_RATE`                   | Taux de rotation.                                   |
| `DAYS_OF_STOCK`                              | Jours de couverture à la vélocité actuelle.         |
| `RISK_SCORE`                                 | Risque couche intelligence.                         |
| `UNACTIONED_RECOMMENDATIONS_COUNT`           | Recommandations ouvertes.                           |
| `SALES_TREND_PERCENT`                        | Pourcentage de tendance des ventes.                 |

<Note>
  Les attributs du catalogue (`scope`, `kind`, `body`, `grain`) sont renseignés au niveau
  data-platform/seed — ils font partie de la définition stockée de la métrique, pas du
  formulaire de création côté application (qui ne définit que `category`, `subcategory`,
  `metricName`, `description`, `selectors`).
</Note>

<Note>
  Ces métriques sont consommées par les [conditions de métrique des règles de tagging](/fr/developers/tagging-rules/conditions),
  c'est là que l'opérateur (y compris les centiles) et le seuil sont définis. Les alertes surveillent ensuite
  les étiquettes résultantes.
</Note>

## Cycle de vie

Une alerte est soit active, soit non (`isActive`). Chaque évaluation produit des **instances** avec
leur propre cycle de vie — voir [Instances & exécutions](/fr/developers/alerts/instances-and-runs).
