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

Поиск типов плательщиков

POST /v1/person-types/search

Ищет типы плательщиков по условиям фильтрации и сортировки, переданным в теле JSON-запроса.

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

Поле Тип По умолч. Описание
filter object — Фильтрация по полям GET /v1/person-types/fields.
Синтаксис фильтрации. Пример: { "id": 21 }
select string[] | string — Список полей, например ["id", "name", "active"], или строка через запятую. В data останутся только выбранные поля. Неизвестные имена отмечаются в meta.warnings с кодом UNKNOWN_SELECT_FIELD
sort string | object | string[] — Сортировка: "-id", { "id": "desc" } или ["id", "-sort"]
order object — Сортировка объектом: { "id": "desc" }. Если передан sort, действует он
limit number 50 Количество записей, от 1 до 5000. Значение больше 5000 приводится к 5000
offset number 0 Количество записей, которые нужно пропустить
withTotal boolean — Принимается как true или false, но для типов плательщиков не меняет подсчёт и наличие meta.total

Пагинация. При limit > 50 Вайбкод автоматически читает несколько страниц по 50 записей. Следующую выборку запросите с увеличенным offset. Проверяйте meta.hasMore после каждого ответа.

Примеры

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/person-types/search" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filter": {"id": 21}}'

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/person-types/search" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"filter": {"id": 21}}'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/person-types/search', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ filter: { id: 21 } }),
})

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

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/person-types/search', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ filter: { id: 21 } }),
})

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data array Массив типов плательщиков
data[].id number ID типа плательщика, RO. Список: GET /v1/person-types
data[].name string Название
data[].code string | null Уникальный код
data[].sort number Порядок сортировки
data[].active boolean Активен ли тип
data[].xmlId string | null Внешний идентификатор
meta.total number Общее количество типов по фильтру. Отсутствует на пустой странице при offset > 0
meta.hasMore boolean Есть ли записи за пределами текущей выборки
meta.durationMs number Длительность запроса в миллисекундах
meta.warnings array Предупреждения о параметрах, с полями code, message, field. Приходит, только если предупреждения есть
meta.pageErrorSample object Код и текст ошибки, из-за которой автоматическое чтение страниц остановилось раньше. Приходит, если из-за ошибки в data меньше записей, чем limit

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

JSON
{
  "success": true,
  "data": [
    {
      "active": true,
      "code": "DOCS_PERSON_397F55D8FB1D",
      "id": 21,
      "name": "Updated documentation payer",
      "sort": 910,
      "xmlId": "DOCS_PERSON_397F55D8FB1D"
    }
  ],
  "meta": {
    "total": 1,
    "hasMore": false,
    "durationMs": 49
  }
}

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

400 — вместо списка полей передан объект:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_SELECT_TYPE",
    "message": "select must be a string (\"id,title\") or an array of strings ([\"id\",\"title\"]); got a object"
  }
}

Ошибки

HTTP Код Описание
400 UNKNOWN_FILTER_FIELD Фильтр по полю, которого нет в схеме. Список полей: GET /v1/person-types/fields
400 INVALID_FILTER_FIELD Имя поля фильтра начинается с неподдерживаемого префикса @ или !@
400 INVALID_FILTER_OPERATOR Неизвестный оператор, пустой объект в условии или логическое условие $or либо $and
400 INVALID_DUPLICATE_FILTER_FIELD Два условия сводятся к одному условию фильтра. Передайте одно из них
400 INVALID_SORT_FIELD В сортировке передано запрещённое имя __proto__, constructor или prototype
400 UNKNOWN_SORT_FIELD Сортировка по неизвестному полю
400 INVALID_SORT_DIRECTION Направление в объекте сортировки не из списка asc, desc, ASC, DESC, 1, -1
400 INVALID_FILTER_SHAPE filter передан строкой, числом, массивом или другим значением вместо объекта условий
400 INVALID_SORT_TYPE Сортировка передана значением неподходящего типа
400 INVALID_LIMIT limit не является числом или строкой с числом
400 INVALID_SELECT_TYPE select не является строкой или массивом строк
400 INVALID_REQUEST Тело запроса не является JSON-объектом
403 SCOPE_DENIED API-ключ не имеет скоупа sale
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 TOKEN_MISSING Нет настроенных токенов доступа к Битрикс24

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

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