Search foods by name

Cerca gli alimenti nel modo in cui li digita un utente del diario alimentare. I risultati combinano due cataloghi: alimenti generici («banana», «latte intero»), a cui normalmente si riferisce una voce del diario, e prodotti confezionati del catalogo principale di Tuduu. Ogni risultato contiene già i macronutrienti per 100 g e la relativa porzione, quindi per visualizzare un risultato di ricerca non serve effettuare un'altra chiamata. Le pagine contengono 15 elementi e la loro dimensione non è configurabile. Fino a 5 alimenti generici aprono la prima pagina quando corrispondono alla ricerca; tutti gli elementi successivi, nella stessa pagina e in ogni pagina seguente, provengono dal catalogo dei prodotti confezionati. Per scorrere i risultati, invia il valore di «meta.nextCursor» che hai ricevuto, senza «searchText»: il cursore contiene già la query e ha la precedenza se invii entrambi. Un «nextCursor» nullo indica che non ci sono altri risultati. Lo scorrimento si interrompe dopo i primi 1000 prodotti confezionati: restringi la query per raggiungere quelli successivi. La corrispondenza tollera accenti, singolare e plurale e modificatori aggiuntivi: «caffè zuccherato» restituisce il caffè invece di un elenco vuoto. Vengono restituiti solo gli alimenti con calorie note; i risultati confezionati sono limitati alle categorie commestibili e ai prodotti che dichiarano un marchio, perché un prodotto descritto solo dal nome non può essere distinto dai suoi duplicati: questi prodotti restano accessibili tramite id. I risultati confezionati che dichiarano una porzione vengono mostrati per primi. Solo in italiano: questo endpoint restituisce 406 per qualsiasi altro valore di Accept-Language, perché i nomi degli alimenti generici esistono solo in italiano.

POST
/foods/search
Foods
Costo: 20 crediti

Richiesta

application/json
object

FoodSearchRequest

object

searchText?

Nome dell'alimento in testo libero da cercare, come lo digiterebbe un utente del diario. Obbligatorio per avviare una ricerca; ignorato quando viene inviato anche «cursor»

string | null

cursor?

Token opaco restituito come «meta.nextCursor» da una chiamata precedente, per recuperare la pagina successiva. Contiene già la query, quindi «searchText» non è necessario e viene ignorato quando vengono inviati entrambi. Non inviare alcun cursor per avviare una nuova ricerca

string | null