enВойти в Senler

Поиск по строкам

Представьте каталог со столбцами «Товар», «Цена» и «В наличии». Агенту можно задать вопрос: «Какие товары со словом “чай” есть в наличии? Покажи сначала самые дешёвые». Для этого подключите таблицу к агенту и разрешите ему читать таблицы. Право на редактирование не требуется.

Подготовьте заголовки

Назовите столбцы в первой строке листа. Пустой заголовок исключает столбец из поиска по именам, но данные в его ячейках сохраняются. Если два заголовка совпадают, запрос не выполняется: в ошибке указаны обе ячейки, например 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 не добавляет в результаты поле с номером строки.