# Données partielles

> Deux formes de donnée partielle : le statut partial, non facturé, et les champs facultatifs absents d'un résultat complet. Comment les reconnaître et quoi en faire.

Une réponse peut être partielle de deux façons, qu'il ne faut pas confondre :

| Forme | Où la voir | Facturée |
|---|---|---|
| Le statut `partial` | `enrichment.status` | Non |
| Un champ facultatif inconnu dans un résultat complet | `merchant.logo_url` absent, `merchant.location` à `null` | Selon le statut (`resolved` est facturé) |

## Le statut `partial`

`partial` veut dire qu'une identité existe, mais qu'elle ne satisfait pas la politique de résolution : il lui manque un champ requis, ou sa confiance est sous le seuil. L'enrichissement n'est pas facturé (`billable: false`, `units: 0`), et en Sandbox il ne consomme pas la dotation.

```json
"merchant": { "name": "Enseigne", "location": null, "confidence": 0.88 },
"enrichment": { "status": "partial", "reason": "missing_required_fields", "…": "…" }
```

Cet extrait illustre la forme : ici `category` manque, ce qui suffit à rendre le résultat `partial`.

Ce que garantit un `partial` :

- `merchant` n'est pas `null` et porte un `name` ;
- `enrichment.reason` dit pourquoi le résultat n'est pas `resolved`.

| `reason` | Ce qui manque | Ce que vous pouvez en faire |
|---|---|---|
| `missing_required_fields` | Un champ requis, le plus souvent `category` | Afficher le nom, sans catégorie |
| `confidence_below_threshold` | Une confiance suffisante | Afficher avec réserve, ou faire relire |
| `logo_required`, `location_required` | Un logo ou une localisation exigés par la politique | Ne se produit pas sous la politique en vigueur |
| `policy_not_calibrated`, `unspecified` | Voir [Statuts](https://developer.noryo.app/fr-FR/merchant/enrichments/statuses) | Traiter comme un `partial` générique |

## Les champs facultatifs d'un résultat complet

Sous la politique en vigueur, un résultat `resolved` porte toujours `name` et `category`. Les autres champs dépendent de ce que le catalogue sait :

| Champ | Quand il est inconnu |
|---|---|
| `logo_url` | Omis |
| `location` | Présent, à `null` |
| `location.city` ou `location.postal_code` | L'un des deux peut être omis ; jamais les deux |

Un `resolved` sans logo ni localisation reste un résultat complet et facturé : la politique ne les exige pas.

## Que faire d'une donnée partielle

- **Ne promouvez pas un `partial` en `resolved`.** Son nom peut être juste, mais Noryo ne s'engage pas dessus, et il n'est pas facturé pour cette raison.
- **Affichez ce qui est là, sans inventer le reste.** Pas de logo générique présenté comme celui de l'enseigne, pas de ville déduite de votre `country`.
- **Retentez plus tard si c'est utile.** Un rafraîchissement avec la même entrée économique peut aboutir à `refresh_recalculated` ; il n'est facturé que dans ce cas. Voir [Rafraîchir](https://developer.noryo.app/fr-FR/merchant/refresh).
- **Mesurez la part de `partial`** dans votre trafic, par raison : c'est le signal de couverture le plus direct. La page [Usage](https://platform.noryo.app/usage) de Platform les compte par jour.

```ts
const m = body.merchant;
if (body.enrichment.status === "partial") {
  show({ name: m.name, category: m.category ?? null, logo: null, tentative: true });
}
```

---

Page canonique : https://developer.noryo.app/fr-FR/merchant/results/partial-data
