Поиск по строкам
Представьте каталог со столбцами «Товар», «Цена» и «В наличии». Агенту можно задать вопрос: «Какие товары со словом “чай” есть в наличии? Покажи сначала самые дешёвые». Для этого подключите таблицу к агенту и разрешите ему читать таблицы. Право на редактирование не требуется.
Подготовьте заголовки
Назовите столбцы в первой строке листа. Пустой заголовок исключает столбец из поиска по именам, но данные в его ячейках сохраняются. Если два заголовка совпадают, запрос не выполняется: в ошибке указаны обе ячейки, например A1 и C1. Переименуйте один столбец.
Используйте в фильтре или сортировке заголовок в точности как на листе. При поиске через агента имя row_number зарезервировано для номера строки на листе. У первой строки данных номер 2. Не используйте это имя для собственного столбца. Если менять заголовки нельзя, укажите диапазон ячеек, например A2:C20: его можно прочитать без поиска по именам.
Пример запроса через API
POST /api/knowledge-base/tables/:id/rows/query читает данные, но не меняет таблицу. Нужен доступ к просмотру базы знаний. Для каталога из примера тело запроса будет таким:
{
"filters": [
{ "column": "Товар", "contains": "чай" },
{ "column": "В наличии", "equals": true }
],
"sort": { "column": "Цена", "direction": "asc" },
"limit": 10
}
Все фильтры должны выполняться одновременно. contains ищет часть текста без учёта регистра. equals сравнивает точное значение: число 0 и текст "0" различаются. Пустые значения в столбце сортировки идут последними.
Без sheet_id поиск идёт по первому листу. По умолчанию возвращается до 50 строк, максимум за запрос 500; для следующей страницы используйте offset. В отличие от инструмента агента, API не добавляет в результаты поле с номером строки.