Строка
  • Документация
  • API
Начало работы
Руководства
Примеры
    Примеры запросовПоиск и первый экспортФильтрация выборкиHybrid-поиск с фильтрами и колонкамиМассовая выгрузкаПовторная выгрузкаPython и обработка ошибок
Справка
API ReferenceAPI
Примеры

Hybrid-поиск с фильтрами и колонками

Типичная задача: текстовый поиск + фильтры (регион, WhatsApp, email…) и нужны конкретные поля в карточках — не стандартный набор name, domain, city.

Без параметра columns API подбирает колонки автоматически (columnProjection: inferred). Фильтр по whatsapp отберёт компании, но не добавит whatsapp в ответ. Решение — явный columns.

Поиск бесплатен. Кредиты списываются только при экспорте. Полный список полей — в Поиск → Выбор колонок.


Сценарий: логистика в Подмосковье с WhatsApp

Задача: найти компании по запросу «логистика», отфильтровать по региону и наличию WhatsApp, в ответе получить название, описание, ключевые слова, email, phone и whatsapp.

  1. POST-запрос (рекомендуется при нескольких фильтрах):

    TerminalCode
    curl -sS -X POST "https://app.strokka.com/api/v1/companies" \ -H "Content-Type: application/json" \ -d '{ "search": "логистика", "searchMode": "hybrid", "limit": 10, "columns": ["name", "description", "keywords", "email", "phone", "whatsapp"], "filters": [ {"field": "region", "operator": "contains", "value": "Москов", "logic": "and"}, {"field": "whatsapp", "operator": "not_empty", "value": "true", "logic": "and"} ] }'
  2. Проверьте ответ

    ПолеОжидаемое значение
    columnProjection"explicit"
    displayFieldsname, description, keywords, email, phone, whatsapp
    totalCountЧисло компаний по фильтрам (например ~800)
    companies[].*Только запрошенные поля + id + relevance

    Контакты приходят с маской — для полных данных используйте экспорт.

  3. Тот же запрос через GET (удобно для быстрой проверки в браузере/curl):

    TerminalCode
    curl -sS --get "https://app.strokka.com/api/v1/companies" \ --data-urlencode "search=логистика" \ --data-urlencode "searchMode=hybrid" \ --data-urlencode "limit=10" \ --data-urlencode "columns=name,description,keywords,email,phone,whatsapp" \ --data-urlencode "filter[region][contains][and]=Москов" \ --data-urlencode "filter[whatsapp][not_empty][and]=true"

Сравнение: с columns и без

Без columns — фильтр работает, но в карточках может не быть whatsapp:

TerminalCode
curl -sS -X POST "https://app.strokka.com/api/v1/companies" \ -H "Content-Type: application/json" \ -d '{ "search": "логистика", "searchMode": "hybrid", "limit": 3, "filters": [ {"field": "whatsapp", "operator": "not_empty", "value": "true", "logic": "and"} ] }'

В ответе: columnProjection: "inferred", displayFields обычно без whatsapp.

С columns — строгая проекция, только то, что запросили:

TerminalCode
curl -sS -X POST "https://app.strokka.com/api/v1/companies" \ -H "Content-Type: application/json" \ -d '{ "search": "логистика", "searchMode": "hybrid", "limit": 3, "columns": ["name", "whatsapp"], "filters": [ {"field": "whatsapp", "operator": "not_empty", "value": "true", "logic": "and"} ] }'

Ошибки

СитуацияHTTPЧто делать
Неизвестное поле в columns, например "foo"422Исправьте имя; список допустимых полей — в тексте ошибки
Опечатка в фильтре422См. Фильтры
Слишком частые запросы429Пауза; см. Лимиты

Пример 422:

Code
{ "detail": "Unknown columns: ['foo']. Allowed fields include: address, city, description, email, …" }

Что дальше?

  • Поиск — все режимы и параметр columns
  • Фильтрация выборки — больше сценариев с фильтрами
  • Поиск и экспорт — полные контакты без маски
Нашли ошибку?

Связаться

Last modified on July 3, 2026
Фильтрация выборкиМассовая выгрузка
On this page
  • Сценарий: логистика в Подмосковье с WhatsApp
  • Сравнение: с columns и без
  • Ошибки
  • Что дальше?
JSON