openapi: 3.0.1 info: title: API Ecobalyse description: L'API HTTP Ecobalyse permet de calculer les impacts environnementaux des produits textiles et alimentaires. version: 0.0.1-alpha externalDocs: description: Visiter le site url: https://ecobalyse.beta.gouv.fr servers: - url: https://ecobalyse.beta.gouv.fr/api tags: - name: Commun description: Documentation de l'API multi-domaines au format OpenAPI externalDocs: description: À propos url: https://fabrique-numerique.gitbook.io/ecobalyse - name: Textile description: Documentation de l'API pour le domaine textile au format OpenAPI externalDocs: description: À propos url: https://fabrique-numerique.gitbook.io/ecobalyse - name: Alimentaire description: | Documentation de l'API pour le domaine alimentaire au format OpenAPI **⚠️ En construction, les résultats fournis sont incomplets et probablement invalides.** externalDocs: description: À propos url: https://fabrique-numerique.gitbook.io/ecobalyse security: - token: [] paths: /: get: tags: - Commun summary: Documentation OpenAPI de l'API description: Sert la documentation de l'API au format [OpenAPI](https://swagger.io/specification/) responses: 200: description: Documentation de l'API au format OpenAPI. /textile/countries: get: tags: - Textile summary: Liste des pays utilisables pour les simulations textiles. responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/CountryListResponse" /textile/materials: get: tags: - Textile summary: Liste des matières textile responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/MaterialListResponse" /textile/products: get: tags: - Textile summary: Liste des types de produits textiles responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/ProductListResponse" /textile/simulator: get: deprecated: true tags: - Textile summary: Calcul des impacts environnementaux d'un produit textile parameters: - $ref: "#/components/parameters/massParam" - $ref: "#/components/parameters/materialsParam" - $ref: "#/components/parameters/productParam" - $ref: "#/components/parameters/countrySpinningParam" - $ref: "#/components/parameters/countryFabricParam" - $ref: "#/components/parameters/countryDyeingParam" - $ref: "#/components/parameters/countryMakingParam" - $ref: "#/components/parameters/fabricProcessParam" - $ref: "#/components/parameters/airTransportRatioParam" - $ref: "#/components/parameters/makingWasteParam" - $ref: "#/components/parameters/makingDeadStockParam" - $ref: "#/components/parameters/makingComplexityParam" - $ref: "#/components/parameters/yarnSizeParam" - $ref: "#/components/parameters/surfaceMassParam" - $ref: "#/components/parameters/fadingParam" - $ref: "#/components/parameters/disabledStepsParam" - $ref: "#/components/parameters/dyeingProcessTypeParam" - $ref: "#/components/parameters/printingParam" - $ref: "#/components/parameters/businessParam" - $ref: "#/components/parameters/numberOfReferencesParam" - $ref: "#/components/parameters/priceParam" - $ref: "#/components/parameters/traceabilityParam" - $ref: "#/components/parameters/upcycledParam" - $ref: "#/components/parameters/physicalDurabilityParam" - $ref: "#/components/parameters/trimsParam" responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/GenericImpactsResponse" 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" post: tags: - Textile summary: Calcul des impacts environnementaux d'un produit textile requestBody: description: Requête modélisant les paramètres du produit à évaluer required: true content: application/json: schema: $ref: "#/components/schemas/TextileQuery" examples: tShirtFrance: $ref: "#/components/examples/tShirtFrance" tShirtChina: $ref: "#/components/examples/tShirtChina" responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/GenericImpactsResponse" 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" /textile/simulator/{impact}: get: deprecated: true tags: - Textile summary: Calcul d'un impact environnemental spécifique d'un produit textile parameters: - $ref: "#/components/parameters/impactUrlParam" - $ref: "#/components/parameters/massParam" - $ref: "#/components/parameters/materialsParam" - $ref: "#/components/parameters/productParam" - $ref: "#/components/parameters/countrySpinningParam" - $ref: "#/components/parameters/countryFabricParam" - $ref: "#/components/parameters/countryDyeingParam" - $ref: "#/components/parameters/countryMakingParam" - $ref: "#/components/parameters/fabricProcessParam" - $ref: "#/components/parameters/airTransportRatioParam" - $ref: "#/components/parameters/makingWasteParam" - $ref: "#/components/parameters/makingDeadStockParam" - $ref: "#/components/parameters/makingComplexityParam" - $ref: "#/components/parameters/yarnSizeParam" - $ref: "#/components/parameters/surfaceMassParam" - $ref: "#/components/parameters/fadingParam" - $ref: "#/components/parameters/disabledStepsParam" - $ref: "#/components/parameters/dyeingProcessTypeParam" - $ref: "#/components/parameters/printingParam" - $ref: "#/components/parameters/businessParam" - $ref: "#/components/parameters/numberOfReferencesParam" - $ref: "#/components/parameters/priceParam" - $ref: "#/components/parameters/traceabilityParam" - $ref: "#/components/parameters/upcycledParam" - $ref: "#/components/parameters/physicalDurabilityParam" - $ref: "#/components/parameters/trimsParam" responses: 200: description: successful operation content: application/json: schema: $ref: "#/components/schemas/SingleImpactResponse" 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" post: tags: - Textile summary: Calcul des impacts environnementaux d'un produit textile parameters: - $ref: "#/components/parameters/impactUrlParam" requestBody: description: Requête modélisant les paramètres du produit à évaluer required: true content: application/json: schema: $ref: "#/components/schemas/TextileQuery" examples: tShirtFrance: $ref: "#/components/examples/tShirtFrance" tShirtChina: $ref: "#/components/examples/tShirtChina" responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/GenericImpactsResponse" 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" /textile/simulator/detailed: get: deprecated: true tags: - Textile summary: Calcul exhaustif des impacts environnementaux d'un produit textile description: L'intégralité des calculs intermédiaires sont présentés dans une réponse détaillée parameters: - $ref: "#/components/parameters/massParam" - $ref: "#/components/parameters/materialsParam" - $ref: "#/components/parameters/productParam" - $ref: "#/components/parameters/countrySpinningParam" - $ref: "#/components/parameters/countryFabricParam" - $ref: "#/components/parameters/countryDyeingParam" - $ref: "#/components/parameters/countryMakingParam" - $ref: "#/components/parameters/fabricProcessParam" - $ref: "#/components/parameters/airTransportRatioParam" - $ref: "#/components/parameters/makingWasteParam" - $ref: "#/components/parameters/makingDeadStockParam" - $ref: "#/components/parameters/makingComplexityParam" - $ref: "#/components/parameters/yarnSizeParam" - $ref: "#/components/parameters/surfaceMassParam" - $ref: "#/components/parameters/fadingParam" - $ref: "#/components/parameters/disabledStepsParam" - $ref: "#/components/parameters/dyeingProcessTypeParam" - $ref: "#/components/parameters/printingParam" - $ref: "#/components/parameters/businessParam" - $ref: "#/components/parameters/numberOfReferencesParam" - $ref: "#/components/parameters/priceParam" - $ref: "#/components/parameters/traceabilityParam" - $ref: "#/components/parameters/upcycledParam" - $ref: "#/components/parameters/physicalDurabilityParam" - $ref: "#/components/parameters/trimsParam" responses: 200: description: Opération réussie content: application/json: schema: type: object 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" post: tags: - Textile summary: Calcul des impacts environnementaux d'un produit textile requestBody: description: Requête modélisant les paramètres du produit à évaluer required: true content: application/json: schema: $ref: "#/components/schemas/TextileQuery" examples: tShirtFrance: $ref: "#/components/examples/tShirtFrance" tShirtChina: $ref: "#/components/examples/tShirtChina" responses: 200: description: Opération réussie content: application/json: schema: type: object 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" /textile/trims: get: tags: - Textile summary: Liste des accessoires pour vêtements responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/TrimListResponse" /food/countries: get: tags: - Alimentaire summary: Liste des pays utilisables pour les simulations alimentairess. responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/CountryListResponse" /food/ingredients: get: tags: - Alimentaire summary: Liste des ingrédients disponibles pour élaborer une recette responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/IngredientListResponse" /food/transforms: get: tags: - Alimentaire summary: Liste des procédés de transformation alimentaire responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/TransformListResponse" /food/packagings: get: tags: - Alimentaire summary: Liste des emballages disponibles pour conditionner une recette responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/PackagingListResponse" /food: get: deprecated: true tags: - Alimentaire summary: Calcul des impacts environnementaux d'une recette alimentaire parameters: - $ref: "#/components/parameters/ingredientsParam" - $ref: "#/components/parameters/transformParam" - $ref: "#/components/parameters/packagingParam" - $ref: "#/components/parameters/distributionParam" - $ref: "#/components/parameters/preparationParam" responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/RecipeResultsResponse" 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" post: tags: - Alimentaire summary: Calcul des impacts environnementaux d'une recette alimentaire requestBody: description: Requête modélisant les éléments de la recette à évaluer required: true content: application/json: schema: $ref: "#/components/schemas/FoodQuery" examples: CarrotCake: summary: "Carrot cake conventionnel" value: ingredients: - id: cf30d3bc-e99c-418a-b7e3-89a894d410a5 mass: 120 - id: 38788025-a65e-4edf-a92f-aab0b89b0d61 mass: 140 - id: 8f3863e7-f981-4367-90a2-e1aaa096a6e0 mass: 60 - id: 4d5198e7-413a-4ae2-8448-535aa3b302ae mass: 225 transform: id: 7541cf94-1d4d-4d1c-99e3-a9d5be0e7569 mass: 545 packaging: - id: c352add7-8037-464e-bff2-7da517419f88 mass: 105 distribution: ambient preparation: - refrigeration SpanishOrganicCarrotCake: summary: "Carrot cake bio, origine Espagne" value: ingredients: - id: cfd4a437-aa49-49ff-818e-353421f2fc09 mass: 120 country: ES - id: a98b8776-a96d-48e9-b218-976f5452907a mass: 140 country: ES - id: 2bf307e8-8cb0-400b-a4f1-cf615d9e96f4 mass: 60 country: ES - id: 9042b6d0-c309-4757-a03f-ba802f0c8c01 mass: 225 country: ES transform: id: 7541cf94-1d4d-4d1c-99e3-a9d5be0e7569 mass: 545 packaging: - id: c352add7-8037-464e-bff2-7da517419f88 mass: 105 distribution: ambient preparation: - refrigeration BrazilianMango: summary: "Mangue du Brésil" value: ingredients: - id: db0e5f44-34b4-4160-b003-77c828d75e60 mass: 500 country: BR transform: null packaging: [] distribution: ambient preparation: [] responses: 200: description: Opération réussie content: application/json: schema: $ref: "#/components/schemas/RecipeResultsResponse" 400: description: Paramètres invalides content: application/json: schema: $ref: "#/components/schemas/InvalidParametersError" components: securitySchemes: token: description: > Ce token d'API, permettant d'obtenir les impacts détaillés des calculs effectués, peut être obtenu après [inscription préalable](https://ecobalyse.beta.gouv.fr/#/auth) sur le site Ecobalyse. Vous trouverez le token dans la section *Mon compte*. type: apiKey name: token in: header examples: tShirtFrance: summary: "T-Shirt France 100% Coton" value: mass: 0.17 materials: - id: "ei-coton" share: 1 country: "FR" product: "tshirt" countrySpinning: "FR" countryFabric: "FR" countryDyeing: "FR" countryMaking: "FR" fabricProcess: "knitting-mix" tShirtChina: summary: "T-Shirt Chine, low-cost, 100% Coton" value: mass: 0.17 materials: - id: "ei-coton" share: 1 product: "tshirt" countrySpinning: "CN" countryFabric: "CN" countryDyeing: "CN" countryMaking: "CN" airTransportRatio: 0.33 makingWaste: null makingDeadStock: null makingComplexity: null yarnSize: null surfaceMass: null fabricProcess: "knitting-mix" disabledSteps: - use parameters: impactUrlParam: name: impact in: path description: | Trigramme de l'impact étudié ([la liste est documenté ici](https://fabrique-numerique.gitbook.io/ecobalyse/methodologie/impacts-consideres)) required: true schema: type: string minLength: 3 maxLength: 3 default: "cch" enum: - "acd" - "bvi" - "cch" - "ecs" - "etf" - "fru" - "fwe" - "htc" - "htn" - "ior" - "ldu" - "mru" - "ozd" - "pco" - "pef" - "pma" - "swe" - "tre" - "wtu" massParam: name: mass in: query description: Masse du produit fini, **exprimée en kilogrammes** required: true style: form schema: type: number minimum: 0.01 example: 0.17 materialsParam: name: "materials[]" in: query description: | Liste des matières composant le produit (liste disponible sur le point d'entrée `/textile/materials`). Le format de chaque entrée est composé de l'identifiant de la matière et de la part du produit qu'elle représente, optionnellement du [procédé de filature ou filage pour la matière](https://fabrique-numerique.gitbook.io/ecobalyse/textile/etapes-du-cycle-de-vie/etape-2-fabrication-du-fil-new-draft#hypotheses-par-defaut), et optionnellement du code du pays d'origine de la matière : - `ei-coton;0.3` signifie *30% coton*; - `ei-coton-rdp;0.7` signifie *70% coton recyclé (déchets de production)*; - `ei-coton;0.3;UnconventionalSpinning` signifie *30% coton avec un procédé de filature non conventionel* - `ei-coton;0.3;UnconventionalSpinning;FR` signifie *30% coton avec un procédé de filature non conventionel en provenance de France* - `ei-coton;0.3;;FR` signifie *30% coton avec un procédé de filature par défaut en provenance de France* > Par exemple, les paramètres à passer pour un t-shirt 30% coton, 30% coton recyclé et 40% acrylique sont : > > ```js > materials[]=ei-coton;0.3&materials[]=coton-rdp;0.3&materials[]=acrylique;0.4 > ``` Le procédé de filature ou filage est à choisir entre : - `ConventionalSpinning` : filature conventionnelle (à anneaux : ring spun) pour les matières naturelles ou artificielles - `UnconventionalSpinning` : filature non conventionnelle (à bouts libérées : open-end) pour les matières naturelles ou artificielles - `SyntheticSpinning` : filage pour les matières synthétiques required: true style: form schema: type: array items: type: string examples: coton: value: ["ei-coton;1"] acrylique: value: ["ei-coton;0.7", "ei-pet;0.3"] mixed: value: ["ei-coton;0.3", "coton-rdp;0.3", "ei-pet;0.4"] spinning: value: ["ei-coton;0.96;UnconventionalSpinning"] productParam: name: product in: query description: Identifiant du produit (liste disponible sur le point d'entrée `/textile/products`) required: true style: form schema: type: string examples: tshirt: value: "tshirt" pantalon: value: "pantalon" countrySpinningParam: name: countrySpinning in: query description: | Code pays pour l'étape de **Filature** (liste disponible sur le point d'entrée `textile/countries`). Si non spécifié, le pays de filature pris en considération est celui de production de la matière la plus représentée dans le mix. required: false style: form schema: type: string minLength: 2 maxLength: 2 examples: Default: value: "" Chine: value: "CN" France: value: "FR" countryFabricParam: name: countryFabric in: query description: | Code pays pour l'étape de **Tissage/Tricotage** (liste disponible sur le point d'entrée `textile/countries`) required: false style: form schema: type: string minLength: 2 maxLength: 2 examples: Chine: value: "CN" France: value: "FR" countryDyeingParam: name: countryDyeing in: query description: "Code pays pour l'étape de **Teinture** (liste disponible sur le point d'entrée `textile/countries`)" required: false style: form schema: type: string minLength: 2 maxLength: 2 examples: Chine: value: "CN" France: value: "FR" countryMakingParam: name: countryMaking in: query description: "Code pays pour l'étape de **Confection** (liste disponible sur le point d'entrée `textile/countries`)" required: false style: form schema: type: string minLength: 2 maxLength: 2 examples: Chine: value: "CN" France: value: "FR" airTransportRatioParam: name: airTransportRatio in: query description: | Part de **transport aérien** entre l'étape de **Confection** et l'étape de **Distribution**, entre `0` et `1` required: false style: form schema: type: number minimum: 0 maximum: 1 businessParam: name: business in: query description: | Type d'entreprise et d'offre de services : - `small-business`: PME/TPE - `large-business-with-services`: Grande entreprise avec service de réparation - `large-business-without-services` (par défaut): Grande entreprise sans service de réparation required: false style: form schema: type: string enum: - small-business - large-business-with-services - large-business-without-services numberOfReferencesParam: name: numberOfReferences in: query description: | Nombre de références au catalogue de la marque. required: false style: form schema: type: number minimum: 1 maximum: 999999 priceParam: name: price in: query description: | Prix du produit, en Euros (€). required: false style: form schema: type: number minimum: 1 maximum: 1000 traceabilityParam: name: traceability in: query description: | Traçabilité renforcée required: false style: form schema: type: string enum: ["true", "false"] upcycledParam: name: upcycled in: query description: | Produit remanufacturé required: false style: form schema: type: string enum: ["true", "false"] makingWasteParam: name: makingWaste in: query description: | Taux de perte en confection (incluant la découpe), entre `0` et `0.4`. **⚠️ Sur les produits tricotés en "fully fashioned / seamless", ce paramètre n'a aucun impact (valeur fixe: 0.02).** **⚠️ Sur les produits tricotés en "integral / whole garment", ce paramètre n'a aucun impact (valeur fixe: 0).** required: false style: form schema: type: number minimum: 0 maximum: 0.4 makingDeadStockParam: name: makingDeadStock in: query description: | Taux de stocks dormants lors de la confection, entre `0` et `0.3`. required: false style: form schema: type: number minimum: 0 maximum: 0.3 makingComplexityParam: name: makingComplexity in: query description: | Complexité de la confection, parmi la liste de choix suivants : - `very-high` : très élevée - `high` : élevée - `medium` : moyenne - `low` : faible - `very-low` : très faible **⚠️ Sur les produits tricotés en "fully fashioned / seamless", ce paramètre n'a aucun impact (valeur fixe: very-low).** **⚠️ Sur les produits tricotés en "integral / whole garment", ce paramètre n'a aucun impact (valeur fixe: vide, non applicable).** required: false style: form schema: type: string enum: ["very-high", "high", "medium", "low", "very-low"] yarnSizeParam: name: yarnSize in: query description: | Titrage du fil exprimé en **numéro métrique** (`Nm`). Il est aussi possible de l'exprimer en décitex (`Dtex`) en spécifiant l'unité. Exemples de saisie : - `40` : 40Nm - `40Nm` : 40Nm - `250Dtex` : 250Dtex, équivalent à 40Nm required: false style: form schema: type: string minimum: 9 maximum: 200 fabricProcessParam: name: fabricProcess in: query description: | Le processus utilisé pour tisser ou tricoter le tissu, parmi la liste de choix suivants : - `knitting-mix` : Tricotage moyen (mix de métiers circulaire & rectiligne) - `knitting-fully-fashioned` : Tricotage fully-fashioned / seamless - `knitting-integral` : Tricotage intégral / whole garment - `knitting-circular` : Tricotage circulaire, inventaire désagrégé - `knitting-straight` : Tricotage rectiligne, inventaire désagrégé - `weaving` : Tissage required: false style: form schema: type: string enum: - knitting-mix - knitting-fully-fashioned - knitting-integral - knitting-circular - knitting-straight - weaving examples: knitting-mix: value: "knitting-mix" knitting-fully-fashioned: value: "knitting-fully-fashioned" knitting-integral: value: "knitting-integral" knitting-circular: value: "knitting-circular" knitting-straight: value: "knitting-straight" weaving: value: "weaving" surfaceMassParam: name: surfaceMass in: query description: | Le grammage de l'étoffe, exprimé en gr/m², représente sa masse surfacique. **⚠️ Sur les produits tricotés, ce paramètre n'impacte que l'impression.** required: false style: form schema: type: number minimum: 80 maximum: 500 fadingParam: name: fading in: query description: | Active l'application du **procédé de délavage** pour l'étape de confection d'un produit. required: false style: form schema: type: string enum: ["true", "false"] examples: default: value: "" enabled: value: "true" disabled: value: "false" disabledStepsParam: name: disabledSteps in: query description: | Liste des étapes du cycle de vie à désactiver, séparée par des virgules. Chaque étape est identifiée par un code : - `material`: Matière - `spinning`: Filature - `fabric`: Tissage ou Tricotage - `ennobling`: Ennoblissement (incluant le pré-traitement, la teinture et la finition) - `making`: Confection - `distribution`: Distribution - `use`: Utilisation - `eol`: Fin de vie Par exemple, pour désactiver l'étape de filature ainsi que celle d'ennoblissement, on peut passer `disabledSteps=spinning,ennobling`. required: false style: form schema: type: string examples: default: summary: "Aucune étape désactivée" value: "" making: summary: "Confection desactivée" value: "making" spinningDyeing: summary: "Filature et ennoblissement désactivés" value: "spinning,ennobling" dyeingProcessTypeParam: name: dyeingProcessType in: query description: | Ce paramètre permet de préciser le type de procédé avec lequel est teint le produit; il peut prendre les valeurs suivantes : - `average`: Teinture moyenne - `continuous`: Teinture en continu - `discontinuous`: Teinture discontinue ⚠️ En l’absence d’utilisation explicite du paramètre, le type de teinture utilisé sera teinture moyenne. required: false style: form schema: type: string examples: default: summary: "Teinture moyenne (par défault)" value: "" continuous: summary: "Teinture en continu" value: "continuous" discontinuous: summary: "Teinture discontinue" value: "discontinuous" printingParam: name: printing in: query description: | Ce paramètre permet de préciser le type d'impression effectuée sur le produit, suivi du pourcentage de surface teinte. Par exemple, `pigment;0.1` signifie impression pigmentaire sur 10% de la superficie du vêtement. L'identifiant de procédé d'impression peut prendre les valeurs suivantes : - `pigment` pour une impression pigmentaire ; - `substantive` pour une impression fixé/lavé ; required: false style: form schema: type: string examples: default: summary: "Aucune impression" value: "" pigment: summary: "Pigmentaire sur 50% de la surface" value: "pigment;0.5" substantive: summary: "Fixé/Lavé sur 20% de la surface" value: "substantive;0.2" ingredientsParam: name: "ingredients[]" in: query description: | Liste des ingrédients composant la recette (liste disponible sur le point d'entrée `/food/ingredients`). Le format de chaque entrée est composé de : - l'identifiant de la matière (pour avoir la liste, utiliser l'API de liste d'ingrédients) - sa masse **exprimée en grammes** - un éventuel code de pays d'origine (ex: `BR` pour le Brésil) - un éventuel transport par avion *uniquement si c'est un [ingrédient de catégorie "HORS EUROPE-MAGHREB (AVION)"](https://fabrique-numerique.gitbook.io/ecobalyse/alimentaire/transport#circuits-consideres)* (valeurs possible: ``, `byPlane`, `noPlane`) Quelques exemples : - `8f3863e7-f981-4367-90a2-e1aaa096a6e0;268` signifie *268g de lait (id ecobalyse du lait : 8f3863e7-f981-4367-90a2-e1aaa096a6e0)*; - `85641d75-149d-4863-a1a8-463e71a85fc2;123;ES` signifie *123g de tomates conventionnelles (id ecobalyse des tomates conventionnelles : 85641d75-149d-4863-a1a8-463e71a85fc2) provenance d'Espagne*; - `db0e5f44-34b4-4160-b003-77c828d75e60;123` signifie *123g de mangues (id ecobalyse des mangues hors EU : db0e5f44-34b4-4160-b003-77c828d75e60) en provenance de son origine par défaut (hors Europe-Maghreb, transport par avion)*; - `db0e5f44-34b4-4160-b003-77c828d75e60;123;;noPlane` signifie *123g de mangues en provenance de son origine par défaut (hors Europe-Maghreb), par bateau*; - `db0e5f44-34b4-4160-b003-77c828d75e60;123;BR` signifie *123g de mangues en provenance du Brésil, par avion*; - `db0e5f44-34b4-4160-b003-77c828d75e60;123;BR;byPlane` signifie de la même manière *123g de mangues en provenance du Brésil, par avion*; - `db0e5f44-34b4-4160-b003-77c828d75e60;123;BR;noPlane` signifie *123g de mangues en provenance du Brésil, par bateau (pas par avion)*; > Par exemple, les paramètres à passer pour une recette à base de 268g de lait et 30g de carrotes bio d'espagne sont : > > ```js > ingredients[]=8f3863e7-f981-4367-90a2-e1aaa096a6e0;268&ingredients[]=9042b6d0-c309-4757-a03f-ba802f0c8c01;30;ES > ``` required: true style: form schema: type: array items: type: string examples: oneIngredient: summary: Lait value: ["8f3863e7-f981-4367-90a2-e1aaa096a6e0;268"] twoIngredients: summary: Lait, carrotes bio value: ["8f3863e7-f981-4367-90a2-e1aaa096a6e0;268", "9042b6d0-c309-4757-a03f-ba802f0c8c01;30"] threeIngredients: summary: Lait, carrotes bio, oeuf value: ["8f3863e7-f981-4367-90a2-e1aaa096a6e0;268", "9042b6d0-c309-4757-a03f-ba802f0c8c01;30", "cf30d3bc-e99c-418a-b7e3-89a894d410a5;149"] fourIngredients: summary: Lait, carrotes bio, oeuf, tomates d'espagne value: ["8f3863e7-f981-4367-90a2-e1aaa096a6e0;268", "9042b6d0-c309-4757-a03f-ba802f0c8c01;30", "cf30d3bc-e99c-418a-b7e3-89a894d410a5;149", "85641d75-149d-4863-a1a8-463e71a85fc2;123;;ES"] byPlane: summary: Mangue du Brésil par avion value: ["db0e5f44-34b4-4160-b003-77c828d75e60;123;;BR"] noPlane: summary: Mangue du Brésil par bateau value: ["db0e5f44-34b4-4160-b003-77c828d75e60;123;;BR;noPlane"] packagingParam: name: "packaging[]" in: query description: | Liste des emballages composant la recette (liste disponible sur le point d'entrée `/food/packaging`). Le format de chaque entrée est composé de l'identifiant de l'emballage et de sa masse **exprimée en grammes**. required: true style: form schema: type: array items: type: string examples: onePackaging: summary: "105g de Carton" value: ["c352add7-8037-464e-bff2-7da517419f88;105"] transformParam: name: transform in: query description: | Identifiant du procédé de transformation (optionnel — liste disponible sur le point d'entrée `/food/transforms`) Le format est composé de l'identifiant de l'emballage et de sa masse **exprimée en grammes**. Par exemple: `7541cf94-1d4d-4d1c-99e3-a9d5be0e7569;1000` pour 1kg de matière à cuire. required: false style: form schema: type: string minLength: 32 maxLength: 32 examples: Default: summary: "Aucune transformation" value: "" Cuisson: summary: Cuisson d'1kg de matière value: "7541cf94-1d4d-4d1c-99e3-a9d5be0e7569;1000" distributionParam: name: distribution in: query description: | Choix du mode de stockage chez le distributeur, parmi ces valeurs possibles : - `ambient`: Température ambiante (valeur par défaut) - `fresh`: Réfrigéré - `frozen`: Congelé La distribution inclut 450km de transport terrestre vers le site de stockage + 150km vers le site de distribution. required: false style: form schema: type: string description: Type de distribution chez le distributeur enum: - "ambient" - "fresh" - "frozen" examples: ambient: summary: "Température ambiante" value: "ambient" fresh: summary: "Réfrigéré" value: "fresh" frozen: summary: "Congelé" value: "frozen" preparationParam: name: preparation[] in: query description: | Liste des techniques de préparation mobilisées **à l'étape de consommation** : - `frying`: Friture - `pan-cooking`: Cuisson à la poêle - `pan-warming`: Réchauffage à la poêle - `oven`: Cuisson au four - `microwave`: Cuisson au four micro-ondes - `refrigeration`: Réfrigération - `freezing`: Congélation **Un maximum de deux techniques de préparation est autorisé.** required: false style: form schema: type: array items: type: string enum: - "freezing" - "frying" - "microwaves" - "oven" - "pan-cooking" - "pan-warming" - "refrigeration" maxItems: 2 description: Liste d'identifiants de techniques de préparation. examples: Default: summary: "Sans préparation" value: "" frying: summary: Friture value: frying freezing: summary: Congélation value: freezing freezingAndOven: summary: Congélation et cuisson au four value: ["freezing", "oven"] physicalDurabilityParam: name: physicalDurability in: query description: La durabilité physique du produit. required: false style: form schema: type: number minimum: 0.67 maximum: 1.45 trimsParam: name: "trims[]" in: query description: | Liste des accessoires du vêtement (boutons, zip, etc). La chaîne est composée d'un identifiant d'accessoire et d'une quantité, séparés par un point-virgule (`;`). Par exemple: - `0e8ea799-9b06-490c-a925-37564746c454;1` pour une fermeture éclair - `0c903fc7-279b-4375-8cfa-ca8133b8e973;4` pour quatre boutons en acier La liste des accessoires disponibles est accessible sur le point d'entrée `/textile/trims`. required: false style: form schema: type: array items: type: string examples: zip: summary: "Une fermeture éclair" value: ["0e8ea799-9b06-490c-a925-37564746c454;1"] fourButtons: summary: "4 boutons en métal" value: ["0c903fc7-279b-4375-8cfa-ca8133b8e973;4"] oneButtonAndOneZip: summary: "Un bouton en métal et une fermeture éclair" value: ["0c903fc7-279b-4375-8cfa-ca8133b8e973;1", "0e8ea799-9b06-490c-a925-37564746c454;1"] schemas: Impacts: type: object properties: acd: type: number description: "Acidification (mol éq. H+)" bvi: type: number description: "Biodiversité locale (BVI)" cch: type: number description: "Changement climatique (kg éq. CO2)" ecs: type: number description: "Score d'impacts (µPts d'impact)" etf: type: number description: "Écotoxicité de l'eau douce (CTUe)" fru: type: number description: "Utilisation de ressources fossiles (MJ)" fwe: type: number description: "Eutrophisation eaux douces (kg éq. P)" htc: type: number description: "Toxicité humaine - cancer (CTUh)" htn: type: number description: "Toxicité humaine - non-cancer (CTUh)" ior: type: number description: "Radiations ionisantes (éq. kBq U235)" ldu: type: number description: "Utilisation des sols (sans dimension (pt))" mru: type: number description: "Utilisation de ressources minérales et métalliques (kg éq. Sb)" ozd: type: number description: "Appauvrissement de la couche d'ozone (kg éq. CFC 11)" pco: type: number description: "Formation d'ozone photochimique (kg éq. COVNM)" pef: type: number description: "Score PEF (µPt)" pma: type: number description: "Particules (incidence de maladie)" swe: type: number description: "Eutrophisation marine (kg éq. N)" tre: type: number description: "Eutrophisation terrestre (mol éq. N)" wtu: type: number description: "Utilisation de ressources en eau (m³)" TextileQuery: type: object additionalProperties: false required: - materials properties: mass: type: number description: Masse du produit fini materials: type: array description: Liste des matières composant le vêtement items: "$ref": "#/components/schemas/TextileQueryMaterial" minItems: 1 product: type: string description: Le type de produit enum: - chemise - jean - jupe - manteau - pantalon - pull - tshirt countrySpinning: type: string description: Pays de filature countryFabric: type: string description: Pays de tissage ou de tricotage countryDyeing: type: string description: Pays de teinture ou d'ennoblissement countryMaking: type: string description: Pays de confection airTransportRatio: type: number description: Part de transport aérien minimum: 0 maximum: 1 dyeingProcessType: type: string description: Type de teinture enum: - average - continuous - discontinuous makingWaste: type: number description: Taux de perte en confection minimum: 0 maximum: 0.4 makingDeadStock: type: number description: Taux de stocks dormants lors de la confection minimum: 0 maximum: 0.3 makingComplexity: type: string description: Complexité de la confection enum: - very-high - high - medium - low - very-low - not-applicable yarnSize: type: number description: Titrage du fil, exprimé en numéro métrique (Nm) surfaceMass: type: number description: Le grammage de l'étoffe, exprimé en gr/m² minimum: 80 maximum: 500 fabricProcess: type: string enum: - knitting-mix - knitting-fully-fashioned - knitting-integral - knitting-circular - knitting-straight - weaving disabledSteps: type: array enum: - material - spinning - fabric - making - ennobling - distribution - use - eol business: type: string description: | Type d'entreprise et d'offre de services : - `small-business`: PME/TPE - `large-business-with-services`: Grande entreprise avec service de réparation - `large-business-without-services` (par défaut): Grande entreprise sans service de réparation enum: - small-business - large-business-with-services - large-business-without-services numberOfReferences: description: | Nombre de références au catalogue de la marque. type: number minimum: 1 maximum: 999999 price: description: | Prix du produit. type: number minimum: 1 maximum: 1000 traceability: description: | Traçabilité renforcée type: boolean upcycled: description: | Produit remanufacturé type: boolean physicalDurability: description: La durabilité physique du produit. type: number minimum: 0.67 maximum: 1.45 trims: description: | Liste des accessoires du vêtement (boutons, zip, etc). La liste des accessoires disponibles est accessible sur le point d'entrée `/textile/trims`. type: array items: type: object properties: id: type: string format: uuid quantity: type: integer minimum: 0 TextileQueryMaterial: type: object additionalProperties: false required: - id - share properties: id: type: string share: type: number minimum: 0.01 maximum: 1 spinning: type: string enum: - ConventionalSpinning - UnconventionalSpinning - SyntheticSpinning country: type: string minLength: 2 maxLength: 2 FoodQuery: type: object additionalProperties: false required: - ingredients properties: ingredients: type: array items: "$ref": "#/components/schemas/FoodQueryIngredient" minItems: 1 transform: "$ref": "#/components/schemas/FoodQueryTransform" packaging: type: array items: "$ref": "#/components/schemas/FoodQueryPackaging" distribution: type: string description: Distribution enum: [ambient, fresh, frozen] preparation: type: array description: Préparation avant consommation items: type: string enum: - frying - pan-cooking - pan-warming - oven - microwave - refrigeration - freezing FoodQueryIngredient: type: object additionalProperties: false required: - id - mass properties: id: type: string description: Identifiant de l'ingrédient mass: type: number description: Masse de l'ingrédient, **en grammes** country: type: string description: Code ISO du pays d'origine byPlane: type: string description: Transport par avion enum: ["", byPlane, noPlane] FoodQueryTransform: type: object additionalProperties: false required: - id - mass properties: id: type: string description: Identifiant du procédé de transformation mass: type: number description: Masse de produit à transformer, **en grammes** FoodQueryPackaging: type: object additionalProperties: false required: - id - mass properties: id: type: string description: Identifiant du procédé d'emballage, **en grammes** mass: type: number description: Masse de cet emballage, **en kilogrammes** InvalidParametersError: type: object properties: error: type: array description: Description de l'erreur de validation des paramètres fournis items: type: string documentation: type: string description: "Lien hypertexte vers la documentation de l'API" CountryListResponse: type: array description: Liste des pays. items: type: object properties: code: type: string name: type: string MaterialListResponse: type: array description: Liste des matières items: type: object properties: uuid: type: string name: type: string ProductListResponse: type: array description: Liste des types de produits items: type: object properties: id: type: string name: type: string TrimListResponse: type: array description: Liste des accessoires pour vêtements items: type: object properties: id: type: string name: type: string RecipeResultsResponse: type: object description: | Recipe impact results. properties: results: type: object properties: impacts: $ref: "#/components/schemas/Impacts" GenericImpactsResponse: type: object description: | Impacts environnementaux exprimés dans leurs unités respectives, dont [la documentation est disponible ici](https://fabrique-numerique.gitbook.io/ecobalyse/methodologie/impacts-consideres). properties: impacts: $ref: "#/components/schemas/Impacts" description: type: string description: Une description de la simulation. query: type: object description: Le jeu de paramètres utilisé pour effectuer la simulation. SingleImpactResponse: type: object properties: impacts: type: object properties: "{impact}": type: number description: Valeur de l'impact recherché description: type: string description: Une description de la simulation. query: type: object description: Le jeu de paramètres utilisé pour effectuer la simulation. IngredientListResponse: type: array description: Liste des ingrédients utilisables dans une recette items: type: object properties: id: type: string name: type: string defaultOrigin: type: string description: Lieu d'origine par défaut de cet ingrédient dont la liste est disponible dans [la documentation](https://fabrique-numerique.gitbook.io/ecobalyse/alimentaire/transport#circuits-consideres) PackagingListResponse: type: array description: Liste des emballages utilisables pour conditionner une recette items: type: object properties: id: type: string name: type: string TransformListResponse: type: array description: Liste des procédés de transformation utilisables pour une recette items: type: object properties: id: type: string name: type: string