Search foods by name

푸드 다이어리 사용자가 입력하는 방식으로 식품을 검색합니다. 결과에는 두 카탈로그의 항목이 함께 표시됩니다. 일반 식품('바나나', '전유')은 일반적으로 다이어리 항목이 가리키는 식품이고, 포장 식품은 Tuduu 마스터 카탈로그에서 가져옵니다. 각 결과에는 이미 100g당 다량 영양소와 1회 제공량이 포함되어 있으므로 검색 결과를 표시하기 위해 후속 호출을 할 필요가 없습니다. 페이지당 15개 항목이 표시되며 페이지 크기는 설정할 수 없습니다. 검색어가 일치하는 경우 최대 5개의 일반 식품이 첫 페이지를 엽니다. 해당 페이지의 나머지 항목과 이후 모든 페이지의 항목은 포장 식품 카탈로그에서 가져옵니다. 스크롤하려면 받은 'meta.nextCursor'를 그대로 보내고 'searchText'는 보내지 마세요. 커서에 이미 검색어가 포함되어 있으며 둘 다 보내면 커서가 우선합니다. 'nextCursor'가 null이면 더 이상 결과가 없다는 뜻입니다. 포장 식품 항목은 처음 1000개까지만 스크롤할 수 있으므로 그 이후 항목에 접근하려면 검색어를 구체화하세요. 매칭 시 악센트, 단수 및 복수, 추가 수식어를 허용합니다. 예를 들어 '설탕을 넣은 커피'를 검색하면 빈 목록 대신 커피가 반환됩니다. 칼로리가 알려진 식품만 반환됩니다. 포장 식품 결과는 식용 카테고리에 속하고 브랜드를 명시한 상품으로 제한됩니다. 이름만으로 설명된 상품은 중복 상품과 구분할 수 없기 때문이며, 이러한 상품은 id로 계속 조회할 수 있습니다. 1회 제공량을 명시한 포장 식품 결과가 먼저 표시됩니다. 이탈리아어만 지원: 일반 식품명이 이탈리아어로만 존재하므로 다른 Accept-Language를 사용하면 이 엔드포인트는 406을 반환합니다.

POST
/foods/search
Foods
비용: 20 크레딧

요청

application/json
object

FoodSearchRequest

object

searchText?

식단 기록 사용자가 입력하는 것처럼 검색할 자유 형식 텍스트 식품 이름입니다. 검색을 시작하려면 필수이며, 'cursor'도 함께 전송되면 무시됩니다

string | null

cursor?

이전 호출에서 'meta.nextCursor'로 반환된 불투명 토큰으로, 그 다음 페이지를 가져오는 데 사용됩니다. 쿼리가 이미 포함되어 있으므로 'searchText'는 필요하지 않으며 둘 다 전송되면 무시됩니다. 새 검색을 시작하려면 cursor를 전송하지 마세요

string | null