Upload a ZIP file containing .xls, .xlsx or .pdf files with restaurant recipes.
Each file represents a dish and should follow this naming format:
<id>_<name>.<extension>
id(optional): External ID of the dish.- If provided, it must match an existing dish and the recipe will be updated.
- If missing or invalid, the dish will require manual review.
name: Free text for identification purposes.
In addition all files must follow the expected format, including:
- A valid recipe name
- Ingredients and quantities
- Nutritional information
- Optional sample image
The system will validate each file individually. If any error is found, the import will fail and detailed feedback will be returned.
If any errors that may have occurred are related to obtaining the sample images, the recipes will still be uploaded, returning a warning with a list of the names of those files that have had a conflict.
Two-phase import process
The import may be completed in one or two phases:
Phase 1 — Automatic processing
- The system parses all files and attempts to process them automatically.
Possible outcomes:
- All recipes are valid -> recipes are imported directly without further interactions
- Issues detected -> a
recipes_review.zipfile is returned
Phase 2 — Manual review (if required)
-
The returned ZIP contains files that must be reviewed and completed before re-uploading:
-
recipes_review.xlsx→ used to validate each dish:- Status → define if the dish already exists (
OK) or must be created (NEW) - Dish ID → required when
Status = OK - Dish Name → required for new dishes or to update an existing name
- Status → define if the dish already exists (
-
ingredients_review.xlsx(optional) → used to map ingredients that could not be automatically recognized:- Assign an existing Ingredient ID or leave it empty to keep it as free text
-
Images folder (if applicable) → contains extracted images associated with each recipe
-
-
After completing the required fields, the ZIP must be uploaded again to finalize the import.
Important behavior
If an ID for an existing recipe is provided (duplicate ID), that recipe will be overwritten. Make sure the IDs are unique, and if you really want to modify a recipe, make sure the ID belongs to that existing recipe.
Full documentation
For detailed instructions, examples, and Excel format: Visit the Kiosk documentation
Optional: custom_sections can be provided to override default Excel section names or nutrient labels.
Only the specified keys are overridden; missing keys fall back to defaults.
Supported keys:
- header_row
- ingredients_start
- serving_size
- nutrients_start
- file_end
- calorie_nutrient_code
- protein_nutrient_code
- carbohydrates_nutrient_code
- sugar_nutrient_code
- fats_nutrient_code
- saturated_fats_nutrient_code
- polyunsaturated_fats_nutrient_code
- monosaturated_fats_nutrient_code
- fiber_nutrient_code
- sodium_nutrient_code
Example: { "header_row": "RECEPTA", "ingredients_start": "INGREDIENTES" }
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
401Unauthorized
403Access denied
