Search foods by name

Ищите продукты так, как их вводит пользователь дневника питания. Результаты объединяют два каталога: обычные продукты («банан», «цельное молоко»), которые обычно указываются в записи дневника, и упакованные товары из главного каталога Tuduu. Каждый результат уже содержит данные о макронутриентах на 100 г и своей порции, поэтому для отображения результата поиска не требуется дополнительный запрос. На страницах отображается 15 элементов, их размер нельзя настроить. Если запрос даёт совпадения, первые 5 обычных продуктов открывают первую страницу; все остальные результаты — на этой и каждой последующей странице — поступают из каталога упакованных товаров. Для прокрутки отправьте полученное значение «meta.nextCursor» без «searchText»: курсор уже содержит запрос и имеет приоритет, если переданы оба параметра. Значение «nextCursor» null означает, что результатов больше нет. Прокрутка прекращается после первых 1000 упакованных товаров — чтобы найти товары за этим пределом, уточните запрос. При сопоставлении учитываются диакритические знаки, формы единственного и множественного числа, а также дополнительные уточнения: «caffè zuccherato» возвращает кофе, а не пустой список. Возвращаются только продукты с известной калорийностью; результаты упакованных товаров ограничены съедобными категориями и товарами, у которых указана торговая марка, поскольку товар, описанный только названием, нельзя отличить от его дубликатов — такие товары по-прежнему доступны по идентификатору. Сначала отображаются упакованные товары, для которых указана порция. Только итальянский язык: эта конечная точка возвращает ответ 406 для любого другого значения Accept-Language, поскольку названия обычных продуктов доступны только на итальянском.

POST
/foods/search
Foods
Стоимость: 20 кредитов

Запрос

application/json
object

FoodSearchRequest

object

searchText?

Текстовое название продукта для поиска, которое пользователь дневника ввёл бы самостоятельно. Необходимо для начала поиска; игнорируется, если также передан cursor

string | null

cursor?

Непрозрачный токен, возвращённый как «meta.nextCursor» предыдущим вызовом, для получения страницы после предыдущей. Он уже содержит запрос, поэтому searchText не нужен и игнорируется, если переданы оба параметра. Не передавайте cursor, чтобы начать новый поиск

string | null