Rétention et 410
Combien de temps Noryo garde quoi : contenu des résultats 90 jours, idempotence 24 heures, libellé brut jamais. Ce que dit un 410 et ce qui survit à la purge.
Noryo Merchant API n'est pas une archive. Elle garde le contenu d'un résultat assez longtemps pour le relire, puis le purge.
Durées de conservation
| Donnée | Conservation |
|---|---|
Contenu d'un résultat (merchant, statut lisible) | 90 jours |
Mémoire d'idempotence (réponse liée à une Idempotency-Key) | 24 heures |
Libellé brut (descriptor) | Non conservé |
| Écriture comptable | Conservée pour sa propre durée légale |
Le libellé brut n'est pas conservé. La rétention est de 0 jour : aucune colonne du module ne peut le stocker, et il n'apparaît dans aucun journal. Seule une empreinte de sa forme canonique est gardée, pour reconnaître une transaction déjà vue.
Le 410
Passé 90 jours, une lecture rend :
{
"type": "https://developer.noryo.app/errors/result_content_expired",
"title": "Result content expired",
"status": 410,
"code": "result_content_expired",
"detail": "The result content was purged and is no longer available.",
"request_id": "req_…",
"enrichment_id": "enr_ffe80956-cc3e-4e1f-b4b6-724ad231fbb7"
}JSONLe corps répète l'enrichment_id concerné. Il ne dit pas quelle classe de rétention s'est appliquée : c'est une information interne.
Un 410 n'est pas un 404 : il prouve que le résultat a existé et qu'il a été purgé. Un identifiant qui n'a jamais existé, ou qui appartient à un autre workspace, rend 404.
Un résultat not_found n'a pas de contenu à purger : sa lecture continue de rendre 200 avec merchant: null, jamais 410, et le renvoi de sa transaction aussi.
Le 410 sur une création
Renvoyer en POST une transaction déjà connue (même external_transaction_id, même entrée) dont le contenu courant a été purgé rend aussi 410 result_content_expired. Ce refus n'est pas facturé. Pour obtenir à nouveau un résultat lisible, rafraîchissez la transaction : voir Rafraîchir.
Ce qui survit
L'identité, la ligne de registre, les unités, le prix et les horodatages comptables survivent tous : vous pouvez toujours prouver ce que vous avez acheté et quand. Seul le contenu a disparu.
| Élément | Après purge |
|---|---|
enrichment_id | Toujours reconnu : 410 |
Transaction (external_transaction_id) | Toujours reconnue : déduplication et rafraîchissement possibles |
| Usage facturé | Inchangé |
| Contenu | Purgé |
Ce qu'il vous revient de faire
Stockez de votre côté ce dont vous avez besoin. Si votre produit affiche le nom d'un marchand sur une transaction de l'an dernier, enregistrez merchant au moment où vous le recevez, avec l'enrichment_id et le request_id. Relire l'API ne remplace pas votre stockage.
| À conserver | Pourquoi |
|---|---|
merchant (nom, catégorie, logo, localisation) | Le contenu expire au bout de 90 jours |
enrichment.status et confidence | Pour savoir plus tard ce que valait le résultat |
enrichment_id | Pour relire ou rafraîchir |
Noryo-Request-Id | Pour retrouver la tentative avec le support |
Publié le 2026-10-08 21:04 UTC (version 1).