Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "create_cart", "delete_cart", "get_cart" and 8 more
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":false,"title":"Créer un panier"}
{"destructiveHint":true,"openWorldHint":truefalse,"readOnlyHint":false,"title":"Supprimer un panier"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Lire un panier"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Lire l’espace de configuration d’un produit"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Lire la fiche d’un produit"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Comparer les prix par quantité"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Coter une sélection"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Résoudre un produit par SKU ou URL"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Rechercher des produits"}
{"destructiveHint":true,"openWorldHint":truefalse,"readOnlyHint":false,"title":"Modifier un panier"}
{"destructiveHint":false,"openWorldHint":truefalse,"readOnlyHint":true,"title":"Valider une sélection"}
Changed the definition of "create_cart", "get_product_configuration", "get_product_details" and 6 more
⟨29 unchanged words⟩ — hors TVA et hors port. Chaque ligneexigedésigneunleproductIdproduitETpar son productId (rendu par search_products) ; le sku,tousestdeuxfacultatif.rendus`unitPriceHt`paret
Changed the definition of "create_cart", "quote_by_quantity", "quote_product" and 3 more
⟨111 unchanged words⟩ },"selection":{"description":"Sélection d’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ; `{\"options\": []}`est valide etcote donc la configuration pardéfaut du produit.défaut. La résolution est TOLÉRANTE :uncodeapprochantou libellé, sans souci de casse ni d’accents ; une valeur partielle estrésoluretenue si une SEULE valeur la contient (« vinyle » → « Impression sur vinyle adhésif contrecollé », « A5 » → « 14,8 x 21 cm (A5) »), ou par ses mesures (« 148x210 mm ») ; parmi plusieurs, la plus proche est retenue etl’écart
Changed the definition of "create_cart", "get_cart" and "update_cart"
⟨40 unchanged words⟩ ET son sku, tous deux rendus par search_products. Renvoie le panier complet : n’appelez pas get_cart juste après.
⟨19 unchanged words⟩ l’âge des prix — au-delà, re-cotez avec quote_product. Sert à RELIRE un panier existant (plus tard dans la conversation, ou quand l’utilisateur demande à le revoir) : inutile juste après create_cart ou update_cart, qui renvoient déjà le panier complet.
Certificate recorded, valid to 2026-12-16
Authorization not required
First tool surface recorded: 11 tools (server version 0.1.1)
Showing the latest 7 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨52 unchanged words⟩ :{"productId":{"description":"Identifiant produit(`zeloomProductId`)rendu parsearch_products.search_products (alias : `zeloomProductId`).","minimum":1,"type":"integer"} ⟨46 unchanged words⟩ integer"},"selection":{"description":"Sélectiond’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ;d’options`{\"options\":[]}` cote donc la configuration par défaut. La résolution est TOLÉRANTEmême:formecodeetoumêmeslibellé,règlessansquesouci`selection` decasse ni d’accents ; une valeur partielle est retenue si une SEULE valeur la contientquote_product (« vinyle » → « Impression sur vinyle adhésifcodescontrecolléou»libellés,« A5 » →défauts«du14produit,8x 21 cm (A5) »)`preset`,ou par ses mesures (« 148x210 mm »tailles); parmi plusieurs, la plus proche est retenue et signalée. Ce qui n’est pas retenu tel quel est signalé dans `alerts` et dans `summary`..","properties":{"options":{"items":{"properties":{"option":{"description":"Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabarit de taille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe de ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{"exclusiveMinimum" ⟨10 unchanged words⟩ ,"type":"object"},"type":{"description":"Seuls ces 4 types sont SÉLECTIONNABLES. Un autre type déclaré par la configuration (LIST_OF_RANGES, QUANTITY_BY_VALUE) est décrit mais non sélectionnable : le défaut du produit s’applique.","enum":["QUANTITY","DELIVERY_TIME","LIST_OF_VALUES","SIZE"],"type":"string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et DELIVERY_TIME).","type":"string"}},"required":["option ⟨3 unchanged words⟩ },"maxItems":50,"type":"array"},"preset":{"maxLength":128,"type":"string"}},"required":["options"],"type":"object"},"sku":{"description":"SKU exact rendu par search_products.REQUISFACULTATIF : absent, iln’existeestpasdéduitdedurésolutionproductIdinverse(PRODUCT_AMBIGUOUSproductIdsi→plusieurssku.fiches vendent ce produit : le message cite leurs SKU).","maxLength":128,"type":"string"}},"required":["productId","sku","selection"],"type":"object"}, ⟨7 unchanged words⟩
⟨28 unchanged words⟩ à prix figé mais un espace de configuration. `presets` : configurations prêtes à l’emploi, cotables telles quelles via `selection.preset`. Les dépendances entre options (une finition qui exige le recto verso…) n’y figurent pas : validate_selection les révèle (`enabledOptions`).
⟨39 unchanged words⟩ aucun prix — pour coter, passez parquote_product.quote_product ; un prix écrit dans les textes de la fiche (« Dès 14.5 € ») est souvent périmé, ne l’annoncez pas. Les vidéos sont dans `videos`, pas dans `images`. Fournissez exactement unargument.argument (`productId`, `sku` ou `url`). Les champs absents ne sont pas renseignés au ⟨6 unchanged words⟩
{"properties":{"productId":{"description":"Identifiant rendu par search_products (alias : `zeloomProductId`).","minimum":1,"type":"integer"},"sku":{"description":"SKU exact, tel ⟨11 unchanged words⟩ string"},"url":{"description":"URL d’une fiche produit delawww.fulfiller.com (http, sans www ou relative acceptées). Une pageproduitcatégoriesurestwww.fulfiller.com.refusée : cherchez alors avec search_products.","maxLength":2048,"minLength":1,"type ⟨4 unchanged words⟩
⟨19 unchanged words⟩ combien pour 100, 250, 500 ? ».UnPrix de chaque palier : `devis.finalPriceHt` (promotion déduite). Même règle que quote_product, palier par palier : hors plageressort en→ erreur localisée sans invalider lesautres.autres ; hors du pas → coté au palier commandable le plus proche, que `quotedQuantity` indique (le prix porte sur cette quantité, pas sur le palier demandé).
{"properties":{"productId":{"description":"Identifiant rendu par search_products.","minimum":1,"type":"integer"},"quantities ⟨20 unchanged words⟩ array"},"selection":{"description":"Sélectiond’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ;d’options`{\"options\":[]}` cote donc la configuration par défaut. La résolution est TOLÉRANTEmême:formecodeetoumêmeslibellé,règlessansquesouci`selection` decasse ni d’accents ; une valeur partielle est retenue si une SEULE valeur la contientquote_product (« vinyle » → « Impression sur vinyle adhésifcodescontrecolléou»libellés,« A5 » →défauts«du14produit,8x 21 cm (A5) »)`preset`,ou par ses mesures (« 148x210 mm »tailles); parmi plusieurs, la plus proche est retenue et signalée. Ce qui n’est pas retenu tel quel est signalé dans `alerts` et dans `summary`..","properties":{"options":{"items":{"properties":{"option":{"description":"Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabarit de taille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe de ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{"exclusiveMinimum" ⟨10 unchanged words⟩ ,"type":"object"},"type":{"description":"Seuls ces 4 types sont SÉLECTIONNABLES. Un autre type déclaré par la configuration (LIST_OF_RANGES, QUANTITY_BY_VALUE) est décrit mais non sélectionnable : le défaut du produit s’applique.","enum":["QUANTITY","DELIVERY_TIME","LIST_OF_VALUES","SIZE"],"type":"string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et DELIVERY_TIME).","type":"string"}},"required":["option ⟨2 unchanged words⟩ object"},"maxItems":50,"type":"array"},"preset":{"maxLength":128,"type":"string"}},"required":["options"],"type ⟨7 unchanged words⟩
⟨21 unchanged words⟩ délai, promotion. C’est le seul prix ferme. Le prix à annoncer est `devis.finalPriceHt` (promotion déduite) ; `devis.priceHt` est le prix catalogue, BARRÉ quand `devis.promo` est présent. Pour dire à l’utilisateur ce qui est coté, ⟨37 unchanged words⟩
{"properties":{"productId":{"description":"Identifiant rendu par search_products.","minimum":1,"type":"integer"},"selection ⟨93 unchanged words⟩ plusieurs, la plus proche est retenue etsignalée.signalée, ou la SEULE compatible avec le reste de la sélection (« soft touch » sur une carte recto verso). Ce qui n’est pas retenu tel quel est ⟨130 unchanged words⟩ m s’écrit width 300, height 100) etdansDANS les bornes dugabarit.gabarit : hors bornes, la cotation est refusée (SIZE_OUT_OF_RANGE, bornes dans le message).","properties":{"code":{"description": ⟨98 unchanged words⟩ object"},"maxItems":50,"type":"array"},"preset":{"description":"Code ou nom d’un preset de get_product_configuration (`presets` : « Le moins cher », « Top vente »…) : ses valeurs servent de base, `options` les précise ou les remplace.","maxLength":128,"type":"string"}},"required":["options"],"type ⟨6 unchanged words⟩
Convertit une identité EXACTE en identité complète (productId, sku, nom, url) : `sku` (lisible dans le JSON-LD d’une page produit)ou, `url` de lapage.page, ou `productId`. À PRÉFÉRER à search_products dès que vous tenez l’un desdeuxtrois — la recherche est approximative, celle-ci ne ⟨6 unchanged words⟩
{"properties":{"productId":{"description":"Identifiant rendu par search_products (alias : `zeloomProductId`).","minimum":1,"type":"integer"},"sku":{"description":"SKU exact (ex. ⟨9 unchanged words⟩ string"},"url":{"description":"URL d’une fiche produit delawww.fulfiller.com (http, sans www ou relative acceptées). Une pageproduitcatégoriesurestwww.fulfiller.com.refusée : cherchez alors avec search_products.","maxLength":2048,"minLength":1,"type ⟨4 unchanged words⟩
⟨8 unchanged words⟩ des produits COTABLES (productId, sku, url, et le prix d’appel du site quand il en affiche un). Point d’entrée obligatoire : les autres outils travaillent sur le productId renvoyé ici. `startingPrice` estunlePLANCHERprixdontd’appellaAFFICHÉ par le site : indicatif, parfois périmé ou propre à une configuration, ni plancher garanti ni prix ferme — seul quote_product l’est. Sa base (TOTAL, UNIT, PER_SQUARE_METER) change d’un produit à l’autre—: ne comparez jamais deux basesdifférentes et n’annoncez pas ce prix comme ferme : seul quote_product l’est.différentes. Pour le citer, utilisez `startingPrice.displayLabel`. Un résultat ⟨21 unchanged words⟩
⟨16 unchanged words⟩ :"integer"},"q":{"description":"Mots-clésUn ou deux mots produit en français (ex. « carte de visite », « bâche publicitaire »), pas une phrase : le moteur exige TOUS les mots. Une phrase qui ne trouve rien est réessayée une fois sans ses mots de contexte (`relaxedQuery` le signale). Les dimensions (« 300x100 »), les ⟨21 unchanged words⟩ ignorées : elles se précisent à la cotation. Il faut au moins un mot de 3 lettres ou plus : une requête sans mot exploitable (« ab », « 50 ») est refusée.","maxLength":200,"minLength":1,"type ⟨5 unchanged words⟩
⟨10 unchanged words⟩ :{"productId":{"description":"Identifiant produit(`zeloomProductId`)rendu parsearch_products.search_products (alias : `zeloomProductId`).","minimum":1,"type":"integer"} ⟨46 unchanged words⟩ integer"},"selection":{"description":"Sélectiond’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ;d’options`{\"options\":[]}` cote donc la configuration par défaut. La résolution est TOLÉRANTEmême:formecodeetoumêmeslibellé,règlessansquesouci`selection` decasse ni d’accents ; une valeur partielle est retenue si une SEULE valeur la contientquote_product (« vinyle » → « Impression sur vinyle adhésifcodescontrecolléou»libellés,« A5 » →défauts«du14produit,8x 21 cm (A5) »)`preset`,ou par ses mesures (« 148x210 mm »tailles); parmi plusieurs, la plus proche est retenue et signalée. Ce qui n’est pas retenu tel quel est signalé dans `alerts` et dans `summary`..","properties":{"options":{"items":{"properties":{"option":{"description":"Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabarit de taille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe de ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{"exclusiveMinimum" ⟨10 unchanged words⟩ ,"type":"object"},"type":{"description":"Seuls ces 4 types sont SÉLECTIONNABLES. Un autre type déclaré par la configuration (LIST_OF_RANGES, QUANTITY_BY_VALUE) est décrit mais non sélectionnable : le défaut du produit s’applique.","enum":["QUANTITY","DELIVERY_TIME","LIST_OF_VALUES","SIZE"],"type":"string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et DELIVERY_TIME).","type":"string"}},"required":["option ⟨3 unchanged words⟩ },"maxItems":50,"type":"array"},"preset":{"maxLength":128,"type":"string"}},"required":["options"],"type":"object"},"sku":{"description":"SKU exact rendu par search_products.REQUISFACULTATIF : absent, iln’existeestpasdéduitdedurésolutionproductIdinverse(PRODUCT_AMBIGUOUSproductIdsi→plusieurssku.fiches vendent ce produit : le message cite leurs SKU).","maxLength":128,"type":"string"}},"required":["productId","sku","selection"],"type":"object"}, ⟨90 unchanged words⟩
⟨54 unchanged words⟩ retenue diffère de celle demandée, `alerts` dit pourquoi. `enabledOptions` liste, pour chaque option, les valeurs activables AVEC cette sélection : c’est là que se lisent les dépendances entre options.
{"properties":{"productId":{"description":"Identifiant rendu par search_products.","minimum":1,"type":"integer"},"selection":{"description":"Sélectiond’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ;d’options`{\"options\":[]}` cote donc la configuration par défaut. La résolution est TOLÉRANTEmême:formecodeetoumêmeslibellé,règlessansquesouci`selection` decasse ni d’accents ; une valeur partielle est retenue si une SEULE valeur la contientquote_product (« vinyle » → « Impression sur vinyle adhésifcodescontrecolléou»libellés,« A5 » →défauts«du14produit,8x 21 cm (A5) »)`preset`,ou par ses mesures (« 148x210 mm »tailles); parmi plusieurs, la plus proche est retenue et signalée. Ce qui n’est pas retenu tel quel est signalé dans `alerts` et dans `summary`..","properties":{"options":{"items":{"properties":{"option":{"description":"Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabarit de taille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe de ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{"exclusiveMinimum" ⟨10 unchanged words⟩ ,"type":"object"},"type":{"description":"Seuls ces 4 types sont SÉLECTIONNABLES. Un autre type déclaré par la configuration (LIST_OF_RANGES, QUANTITY_BY_VALUE) est décrit mais non sélectionnable : le défaut du produit s’applique.","enum":["QUANTITY","DELIVERY_TIME","LIST_OF_VALUES","SIZE"],"type":"string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et DELIVERY_TIME).","type":"string"}},"required":["option ⟨2 unchanged words⟩ object"},"maxItems":50,"type":"array"},"preset":{"maxLength":128,"type":"string"}},"required":["options"],"type ⟨6 unchanged words⟩
⟨28 unchanged words⟩ },"selection":{"description":"Sélection d’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ; `{\"options\": []}`est valide etcote donc la configuration pardéfaut du produit.défaut. La résolution est TOLÉRANTE :uncodeapprochantou libellé, sans souci de casse ni d’accents ; une valeur partielle estrésoluretenue si une SEULE valeur la contient (« vinyle » → « Impression sur vinyle adhésif contrecollé », « A5 » → « 14,8 x 21 cm (A5) »), ou par ses mesures (« 148x210 mm ») ; parmi plusieurs, la plus proche est retenue etl’écartsignalée. Ce qui n’est pas retenu tel quel est signalé dans`alerts`.`alerts` et dans `summary`.","properties":{"options":{"items": ⟨3 unchanged words⟩ Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabaritet dimensionsdepersonnaliséestaille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe detaille.ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{ ⟨46 unchanged words⟩ "string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et ⟨23 unchanged words⟩
⟨21 unchanged words⟩ délai, promotion. C’est le seul prix ferme. Pour dire à l’utilisateur ce qui est coté, citez `summary` (libellés lisibles). Si `requiresReview` vaut `true`, le prix porte sur`resolvedSelection`la sélection décrite par `summary`, pas sur lademande.demande : les lignes dont le `status` n’est ni AS_REQUESTED ni DEFAULT disent ce qui a changé.
⟨6 unchanged words⟩ },"selection":{"description":"Sélection d’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ; `{\"options\": []}`est valide etcote donc la configuration pardéfaut du produit.défaut. La résolution est TOLÉRANTE :uncodeapprochantou libellé, sans souci de casse ni d’accents ; une valeur partielle estrésoluretenue si une SEULE valeur la contient (« vinyle » → « Impression sur vinyle adhésif contrecollé », « A5 » → « 14,8 x 21 cm (A5) »), ou par ses mesures (« 148x210 mm ») ; parmi plusieurs, la plus proche est retenue etl’écartsignalée. Ce qui n’est pas retenu tel quel est signalé dans`alerts`.`alerts` et dans `summary`.","properties":{"options":{"items": ⟨3 unchanged words⟩ Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabaritet dimensionsdepersonnaliséestaille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe detaille.ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{ ⟨46 unchanged words⟩ "string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et ⟨22 unchanged words⟩
⟨54 unchanged words⟩ ce prix comme ferme : seul quote_product l’est. Pour le citer, utilisez `startingPrice.displayLabel`. Un résultat peut lister dans `alsoListedAs` d’autres fiches du site qui vendent le MÊME produit : ne les présentez pas comme des produits distincts.
⟨25 unchanged words⟩ de visite », « bâche publicitaire »). Les dimensions (« 300x100 »), les mesures (« 350g », « 1 000 ex ») et une quantité en tête de requête (« 500 cartes ») sont ignorées : elles se précisent à la cotation.","maxLength":200,"minLength":1,"type ⟨5 unchanged words⟩
⟨69 unchanged words⟩ },"selection":{"description":"Sélection d’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ; `{\"options\": []}`est valide etcote donc la configuration pardéfaut du produit.défaut. La résolution est TOLÉRANTE :uncodeapprochantou libellé, sans souci de casse ni d’accents ; une valeur partielle estrésoluretenue si une SEULE valeur la contient (« vinyle » → « Impression sur vinyle adhésif contrecollé », « A5 » → « 14,8 x 21 cm (A5) »), ou par ses mesures (« 148x210 mm ») ; parmi plusieurs, la plus proche est retenue etl’écartsignalée. Ce qui n’est pas retenu tel quel est signalé dans`alerts`.`alerts` et dans `summary`.","properties":{"options":{"items": ⟨3 unchanged words⟩ Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabaritet dimensionsdepersonnaliséestaille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe detaille.ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{ ⟨46 unchanged words⟩ "string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et ⟨134 unchanged words⟩
⟨16 unchanged words⟩ à corriger une sélection avant de la coter.Lisez`summary``alerts`décrit en clair la sélection retenue, et son `status` dit pour chaque option si la valeur est celle demandée, un défaut, ou un changement. `requiresReview`:à `true`signifie que: la sélection retenue diffère de celledemandée.demandée, `alerts` dit pourquoi.
⟨6 unchanged words⟩ },"selection":{"description":"Sélection d’options. Une option non précisée prend la valeur de la préselection par défaut du produit (`preselections` de get_product_configuration), comme sur le site ; `{\"options\": []}`est valide etcote donc la configuration pardéfaut du produit.défaut. La résolution est TOLÉRANTE :uncodeapprochantou libellé, sans souci de casse ni d’accents ; une valeur partielle estrésoluretenue si une SEULE valeur la contient (« vinyle » → « Impression sur vinyle adhésif contrecollé », « A5 » → « 14,8 x 21 cm (A5) »), ou par ses mesures (« 148x210 mm ») ; parmi plusieurs, la plus proche est retenue etl’écartsignalée. Ce qui n’est pas retenu tel quel est signalé dans`alerts`.`alerts` et dans `summary`.","properties":{"options":{"items": ⟨3 unchanged words⟩ Code de l’option, tel que rendu par get_product_configuration. Un libellé (« Délai de livraison ») est rattaché à la seule option qui lui correspond, et c’est signalé.","type":"string"},"quantity":{"description":"Quantité demandée (type QUANTITY). Hors des paliers du produit, l’alerte donne les quantités possibles et la plus proche.","minimum":1,"type":"integer"},"size":{"description":"Gabaritet dimensionsdepersonnaliséestaille (option de type SIZE). Gabarit FIXE (bornes min = max) : le code suffit, ses dimensions sont complétées, et des dimensions données dans un sens ou dans l’autre (60×80 ou 80×60) désignent le même gabarit. Gabarit à SAISIE LIBRE (`allowsCustomInput`) : width et height sont requises, dans l’unité de l’option (`unit`, souvent cm : une bâche de 3 m × 1 m s’écrit width 300, height 100) et dans les bornes du gabarit.","properties":{"code":{"description":"Code ou libellé du gabarit, ou ses mesures (« 60x80 », « 148x210 mm ») : elles désignent le gabarit fixe detaille.ces dimensions, sinon le gabarit sur mesure.","type":"string"},"height":{ ⟨46 unchanged words⟩ "string"},"value":{"description":"Code ou libellé de la valeur retenue (types LIST_OF_VALUES et ⟨22 unchanged words⟩
⟨15 unchanged words⟩ , cotés). Renvoie le panier complet aprèsapplication.application : n’appelez pas get_cart juste après.