# Identifiants de requête

> Noryo-Request-Id identifie une tentative HTTP : sa forme, pourquoi il change à chaque reprise, où le retrouver, et comment s'en servir avec le support.

`Noryo-Request-Id` identifie **une tentative HTTP**. Il est fabriqué par Noryo pour chaque requête reçue, et c'est la seule prise dont le support a besoin pour retrouver ce qui s'est passé.

```http
noryo-request-id: req_01a07868-6443-79fa-a4c8-221f1745244f
```

## Ses propriétés

| Propriété | Valeur |
|---|---|
| Forme | `req_` suivi d'un UUID version 7 |
| Ordre | Ordonné dans le temps : trier par identifiant revient à trier par heure d'arrivée |
| Où | L'en-tête `Noryo-Request-Id` de **chaque** réponse, succès comme erreur ; le champ `request_id` de chaque corps d'erreur |
| Unicité | Une tentative, un identifiant : le même dans l'en-tête, dans le corps et dans les journaux de Noryo, y compris sur un `500` |
| Qui le choisit | Noryo uniquement. Un `Noryo-Request-Id` envoyé par le client est ignoré et remplacé. |

## Nouveau à chaque tentative

Une reprise est une nouvelle tentative, donc un nouvel identifiant, **même quand elle rend une réponse mémorisée** :

| Tentative | `Idempotency-Key` | `Noryo-Request-Id` | `Noryo-Idempotency-Replayed` |
|---|---|---|---|
| 1 | `demo-001` | `req_01a07868-…` | `false` |
| 2 (reprise) | `demo-001` | `req_01a0786b-…` | `true` |

L'`Idempotency-Key` relie les tentatives d'une même opération ; le `Noryo-Request-Id` distingue chacune d'elles. Journalisez les deux.

Dans un corps rejoué, le contenu est celui de la première réponse ; l'identifiant de la tentative en cours est celui de l'en-tête.

## Où le retrouver ensuite

- **Dans vos journaux**, si vous l'y écrivez : c'est la recommandation.
- **Dans la page [Usage](https://platform.noryo.app/usage) de Platform**, section « Appels récents » : chaque appel qui a produit un résultat y figure avec son `request_id`, sa date, son `enrichment_id`, son résultat et ses unités, pannes du moteur comprises. Les rejeux (par `Idempotency-Key` ou par `external_transaction_id`) et les tentatives refusées avant le calcul (un `401`, un `400` de validation, un `429`) n'y figurent pas.

## Avec le support

Citez le `Noryo-Request-Id` de la tentative concernée. Il suffit à retrouver la tentative exacte dans les journaux de Noryo : la route, le statut rendu, le code d'erreur, les temps passés par étape. Vous n'avez à transmettre ni votre clé, ni le libellé, ni l'`external_transaction_id` : ne les envoyez jamais au support.

## Ce qu'il faut journaliser de votre côté

```ts
const res = await fetch(url, init);
logger.info({
  noryo_request_id: res.headers.get("noryo-request-id"),
  idempotency_key: idempotencyKey,
  status: res.status,
  replayed: res.headers.get("noryo-idempotency-replayed"),
});
```

Ne journalisez jamais l'en-tête `Authorization`.

---

Page canonique : https://developer.noryo.app/fr-FR/merchant/operations/request-ids
