Flux produit : distinguer inconnu, absent et zéro

Agentic Commerce Protocol Info · · 5 min

Un champ vide ne signifie ni zéro ni « disponible ». Dans un flux produit, une valeur de remplacement peut transformer une information manquante en promesse commerciale. Le traitement doit dépendre du champ et de sa source.

La spécification du catalogue produit OpenAI distingue les champs obligatoires, facultatifs et conditionnels. Elle demande notamment de ne pas fabriquer de valeurs de remplacement pour les informations facultatives inconnues. Le traitement dépend donc du champ, pas d'une règle universelle « remplir tous les blancs ».

Le cas d'un stock inconnu transformé en stock disponible

Prenons un exemple fictif : le catalogue possède bien une référence et un prix, mais le service de stock ne répond pas au moment de l'export. Le générateur doit tout de même produire une ligne. S'il remplace la réponse absente par « disponible », le fichier paraît complet tout en affirmant quelque chose que le marchand ne sait pas. S'il écrit zéro, il transforme une panne de lecture en rupture de stock.

Ces deux corrections automatiques font disparaître l'incertitude au mauvais endroit. La donnée manquante devient une information commerciale. Le défaut est difficile à repérer, car le fichier peut rester lisible et respecter sa structure.

Dans la spécification produit OpenAI consultée le 2 octobre 2026, availability admet explicitement unknown. Une valeur omise, vide ou non reconnue entraîne le rejet de la ligne. Cette règle concerne ce champ et cette destination : elle n'autorise pas à écrire unknown dans tous les champs du catalogue. La même documentation distingue une valeur absente de zéro et de false.

Le cas d'un stock inconnu transformé en stock disponible
Situation dans la source Ce que l'on sait Décision de transformation
Le service n'a pas répondu La disponibilité n'a pas été obtenue Conserver l'incertitude ; utiliser une valeur autorisée par le contrat
Le stock est confirmé à zéro Le stock observé est nul Appliquer la règle métier de disponibilité de cette offre
Le champ n'existe pas pour ce produit Le modèle source ne fournit pas cette information Examiner si le champ est requis ou facultatif à destination
La valeur est confirmée mais ancienne Une observation existe à une date connue Vérifier sa validité avant de la réutiliser
Une valeur absente ne décrit pas un stock
La source est indisponible. La donnée doit rester inconnue jusqu’à une observation ou une règle explicitement autorisée ; elle ne devient ni stock disponible ni stock nul.

Le tableau est une grille de décision pour l'exporteur. Il ne remplace ni les valeurs permises dans la spécification ni les règles du marchand pour les précommandes et réapprovisionnements.

Pourquoi une cellule vide mérite une explication

Le problème apparaît souvent avant la génération du fichier : une jointure n'a trouvé aucun article, une colonne a changé de nom ou une conversion a rejeté une valeur. Ces situations aboutissent toutes à une cellule vide, mais leurs corrections sont différentes. Rechercher d'abord l'origine du vide évite de traiter une rupture de pipeline comme une absence légitime de donnée.

Conservez donc, dans le diagnostic interne, la valeur reçue, la règle de transformation et la raison de l'absence. Ce journal peut rester séparé du flux public. Le destinataire a besoin d'un contrat respecté ; l'équipe catalogue a besoin de comprendre pourquoi une ligne a été retenue ou écartée.

Le même raisonnement s'applique aux identifiants. La chaîne fictive 00042 et le nombre 42 ne sont pas forcément interchangeables. OpenAI demande de conserver les identifiants sous forme de chaînes pour préserver les zéros initiaux. Une conversion numérique peut donc abîmer une clé avant même le contrôle du stock.

Lorsque plusieurs lignes échouent, regroupez-les par cause. Corriger une règle qui supprime les zéros initiaux est plus utile que retoucher manuellement chaque référence : la prochaine génération reproduirait sinon le défaut.

Résister aux valeurs faciles à produire

Une description peut être reformulée, mais une propriété produit ne se déduit pas de sa vraisemblance. La photographie d'un appareil ne suffit pas à établir sa compatibilité. Le nom d'une gamme ne confirme pas la composition de tous ses modèles.

Lorsqu'un assistant propose une valeur, rattachez-la à une preuve approuvée avant de l'insérer dans le catalogue. Sans cette preuve, classez la proposition comme question à résoudre. La qualité rédactionnelle ne change pas son statut.

Avant de diffuser l'offre, résolvez les champs dont le sens reste incertain : le titre, l'identifiant et le prix doivent décrire le même article.

Prévoir une quarantaine explicable

Une ligne bloquée doit conserver son identifiant interne, la donnée manquante et la raison du blocage. Le journal ne doit pas contenir de secrets ni de données clients : ce contrôle porte sur le catalogue public.

Distinguez une erreur locale d'une absence provenant du fournisseur. Vous pouvez corriger une transformation défectueuse ; vous ne pouvez pas certifier une caractéristique que personne n'a documentée. Dans ce second cas, la résolution attendue est une nouvelle source, pas une nouvelle formulation.

Vérifier aussi ce que voit l'acheteur

Comparez enfin la fiche publique et l'export. Une valeur correcte dans le système interne peut être périmée sur la page de destination. Vérifiez une variante précise, avec la même devise et le même conditionnement.

Pour replacer le flux dans le parcours marchand, consultez le guide ACP de Verity Score. Les exigences de chaque champ restent à vérifier dans la spécification de la destination.

Avant l'envoi, attribuez chaque ligne bloquée à la personne qui peut fournir la donnée ou corriger sa transformation. Intégrez ce contrôle aux étapes de validation d'un agent de commerce, avec un résultat explicite : corrigé, exclu du flux ou en attente de preuve.

Sources et documents de référence