Для AI-агентов: markdown этой страницы — /docs-content/openlines/config/search.md индекс документации — /llms.txt

Поиск конфигураций открытых линий

POST /v1/openline-configs/search

Возвращает список конфигураций открытых линий с фильтрацией, сортировкой и пагинацией. Параметры передаются в теле запроса — удобнее для сложных условий, чем query-строка.

Поля запроса (body)

Параметр Тип По умолч. Допустимые значения Описание
Параметрfilter Типobject По умолч.— Допустимые значенияключи — те же 6 полей, что и в sort, значения — по типу поля ОписаниеФильтрация по полям схемы. Доступные поля — GET /v1/openline-configs/fields.
Пример: {"active": false}
Параметрlimit Типnumber По умолч.50 Допустимые значения1–200 ОписаниеКоличество записей на запрос
Параметрoffset Типnumber По умолч.0 Допустимые значения0 и больше ОписаниеПропустить N записей
Параметрsort Типstring По умолч.— Допустимые значенияid, name, active, queueType, workTimeFrom, workTimeTo ОписаниеПоле для сортировки
Параметрorder Типstring По умолч.asc Допустимые значенияasc, desc ОписаниеНаправление сортировки

Пустое тело запроса возвращает все конфигурации — эквивалент GET /v1/openline-configs без параметров.

Примеры

curl — личный ключ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/openline-configs/search" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": { "active": true },
    "limit": 3,
    "sort": "id",
    "order": "desc"
  }'

curl — OAuth-приложение

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/openline-configs/search" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": { "active": true },
    "limit": 3,
    "sort": "id",
    "order": "desc"
  }'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/openline-configs/search', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    filter: { active: true },
    limit: 3,
    sort: 'id',
    order: 'desc',
  }),
})

const { success, data, total } = await res.json()
console.log('Найдено:', total, 'записей, возвращено:', data.length)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/openline-configs/search', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    filter: { active: true },
    limit: 3,
    sort: 'id',
    order: 'desc',
  }),
})

const { success, data, total } = await res.json()

Поля ответа

Поле Тип Описание
Полеsuccess Типboolean ОписаниеВсегда true при успехе
Полеdata Типarray ОписаниеМассив конфигураций (все поля — см. Поля конфигурации)
Полеtotal Типnumber ОписаниеКоличество записей в текущей странице. Общего счётчика по всем конфигурациям портала этот метод не возвращает
Полеlimit Типnumber ОписаниеПрименённое ограничение на количество записей
Полеoffset Типnumber ОписаниеПрименённое смещение
ПолеhasMore Типboolean ОписаниеЕсть ли ещё записи за пределами limit

Пример ответа

JSON
{
  "success": true,
  "data": [
    {
      "id": 21,
      "active": true,
      "name": "Открытая линия 12",
      "queueType": "all",
      "workTimeFrom": "9",
      "workTimeTo": "18.30",
      "crm": "Y",
      "crmCreate": "lead",
      "queueTime": "60",
      "noAnswerTime": "60",
      "welcomeMessage": "Y",
      "dateCreate": {},
      "dateModify": {}
    }
  ],
  "total": 3,
  "limit": 3,
  "offset": 0,
  "hasMore": true
}

Показаны основные поля. Каждый элемент массива содержит ~91 поле, все в camelCase. /fields описывает каждое с label и description. Полный список — Поля конфигурации.

Пример ответа при ошибке

400 — логический оператор $or / $and в фильтре (для этого метода Битрикс24 их не поддерживает):

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_FILTER_OPERATOR",
    "message": "'$or' is not supported. OR/AND logic cannot be expressed in a single openline-configs filter. For same-field OR use { field: { $in: [v1, v2] } }. For cross-field OR run parallel requests. AND is the default — combine conditions as sibling keys in one filter object."
  }
}

Ошибки

HTTP Код Описание
HTTP400 КодINVALID_FILTER_OPERATOR ОписаниеВ фильтре передан логический оператор $or / $and / $not / LOGIC
HTTP400 КодUNSUPPORTED_LIST_FIELD ОписаниеВ select, filter или sort передано одно из полей очереди — queue, queueFull, queueUsersFields, queueOnline. Они приходят только в Получить конфигурацию
HTTP401 КодTOKEN_MISSING ОписаниеНе передан X-Api-Key
HTTP403 КодSCOPE_DENIED ОписаниеAPI-ключ не имеет скоупа imopenlines
HTTP422 КодBITRIX_ERROR ОписаниеИмя поля отсутствует в схеме конфигураций: опечатка или поле, недоступное для фильтрации

Полный список общих ошибок API — Ошибки.

Известные особенности

Пустое тело возвращает все записи — эквивалент GET /v1/openline-configs без параметров.

Остальные особенности — те же, что и у списка: total как счётчик текущей страницы, обход строго по hasMore (на потолке limit=200 за последней полной страницей возможен один пустой ответ), нецелый и меньший единицы limit заменяется значением по умолчанию 50, фильтр и сортировка по 6 camelCase-полям схемы плюс прочие camelCase-имена запасным путём, OR/AND через $or/$and не поддерживаются — используйте $in, полей очереди операторов в ответе нет, а их имена в select, filter или sort возвращают 400 UNSUPPORTED_LIST_FIELD. Подробности — Известные особенности списка.

Смотрите также