category_id | integer | null | Catégorie d’ingrédient (id de list_categories type ingredient ; null = sans catégorie). |
ingredient_id obligatoire | integer | ID de l'ingrédient |
name | string | Nouveau nom (optionnel) |
unit | string | Unité (optionnel) |
cooking_coefficient | number | Coefficient de transformation cuisson : poids_final = poids_brut × coefficient (1=neutre, >1 expansion, <1 perte). Optionnel. |
price_per_unit | number | Prix unitaire (optionnel) |
quantity_in_stock | number | Quantité en stock (optionnel) |
alert_threshold | number | Seuil d'alerte (optionnel) |
description | string | Description (optionnel) |
calories | number | Calories (optionnel) |
proteins | number | Protéines (optionnel) |
carbs | number | Glucides (optionnel) |
fats | number | Lipides (optionnel) |
allergens | array | Allergènes (liste FERMÉE, table allergens : 1 Gluten, 2 Crustacés, 3 Œufs, 4 Poisson, 5 Arachides, 6 Soja, 7 Lait, 8 Fruits à coque, 9 Céleri, 10 Moutarde, 11 Graines de sésame, 12 Anhydride sulfureux et sulfites, 13 Lupin, 14 Mollusques). Ids ou noms (accents et casse ignorés). REMPLACE la liste ; [] = aucun allergène. |
copy_from_dish_id | integer | Reprendre la photo d’un PLAT du restaurant (fichier recopié, aucune génération IA, aucune facturation). confirm:true si la fiche a déjà une photo. |
copy_from_ingredient_id | integer | Reprendre la photo d’un INGRÉDIENT du restaurant (même règle). |
copy_from_recipe_id | integer | Reprendre la photo d’une RECETTE du restaurant (même règle). |
copy_from_product_id | integer | Reprendre la photo d’un PRODUIT du restaurant (même règle). |
image_url | string | PHOTO depuis une adresse https:// PUBLIQUE et DIRECTE vers le fichier (Canva, bibliothèque RapidoCMS, site du client) : téléchargée, contrôlée (JPEG/PNG/WebP/GIF, 8 Mo max, jamais un réseau interne) puis stockée chez FoodEatUp. Aucune facturation. confirm:true si la fiche a déjà une photo. Exclusif avec image_action et copy_from_*. |
image_action | string | PHOTO de la fiche : generate = nouvelle image IA, edit = retouche la photo ACTUELLE. Remplace la photo existante (irréversible) : exige confirm:true. |
image_instruction | string | Avec generate : ce que la photo doit montrer (défaut : nom + description de la fiche). Avec edit : ce qu'il faut changer, ex. « enlève le fond », « plus lumineux ». |
confirm | boolean | Obligatoire dès que image_action est fourni : remplacer la photo est irréversible. |