Search foods by name

Pesquise alimentos da mesma forma que um usuário de diário alimentar os digita. Os resultados combinam dois catálogos: alimentos genéricos ("banana", "leite integral"), que são o que uma entrada de diário normalmente representa, e produtos embalados do catálogo principal da Tuduu. Cada resultado já inclui seus macronutrientes por 100 g e sua porção, portanto listar um resultado de pesquisa não exige nenhuma chamada posterior. As páginas contêm 15 itens e seu tamanho não é configurável. Até 5 alimentos genéricos aparecem na primeira página quando a consulta corresponde a algum deles; todo o restante, nessa página e em todas as páginas seguintes, vem do catálogo de produtos embalados. Para rolar, envie de volta o 'meta.nextCursor' recebido, sem precisar de 'searchText': o cursor já contém a consulta e tem prioridade se você enviar ambos. Um 'nextCursor' nulo significa que não há mais resultados. A rolagem para após os primeiros 1000 produtos embalados — refine a consulta para alcançar resultados além desse limite. A correspondência tolera acentos, singular/plural e modificadores adicionais: "caffè zuccherato" retorna café em vez de uma lista vazia. Somente alimentos com calorias conhecidas são retornados; os resultados embalados são restritos a categorias comestíveis e a produtos que declaram uma marca, pois um produto descrito apenas pelo nome não pode ser distinguido de seus duplicados — esses produtos continuam acessíveis pelo id. Os resultados embalados que declaram uma porção aparecem primeiro. Somente italiano: este endpoint retorna 406 para qualquer outro Accept-Language, porque os nomes dos alimentos genéricos existem apenas em italiano.

POST
/foods/search
Foods
Custo: 20 créditos

Solicitação

application/json
object

FoodSearchRequest

object

searchText?

Nome do alimento em texto livre a ser pesquisado, como um usuário do diário o digitaria. Obrigatório para iniciar uma pesquisa; ignorado quando 'cursor' também é enviado

string | null

cursor?

Token opaco retornado como 'meta.nextCursor' por uma chamada anterior, para buscar a página posterior àquela. Ele já contém a consulta, portanto, 'searchText' não é necessário e é ignorado quando ambos são enviados. Não envie cursor para iniciar uma nova pesquisa

string | null