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

Поля складского документа

GET /v1/catalog-documents/fields

Возвращает схему всех полей складского документа. Помогает собрать тело запроса для создания и обновления документа.

Параметры

Параметр Тип По умолч. Описание
refresh (query) string false Передайте true, чтобы получить схему без кэша. Пример: ?refresh=true

Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/catalog-documents/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/catalog-documents/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-documents/fields', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
const required = Object.entries(data.fields)
  .filter(([, field]) => field.required)
  .map(([name]) => name)
console.log('Обязательные при создании:', required)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-documents/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()
const required = Object.entries(data.fields)
  .filter(([, field]) => field.required)
  .map(([name]) => name)
console.log('Обязательные при создании:', required)

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.fields object Карта полей документа: ключ — имя поля, значение — его описание
data.fields.<поле>.type string Тип значения: number, string, datetime
data.fields.<поле>.readonly boolean true — поле заполняется системой и не принимается при создании и обновлении
data.fields.<поле>.createOnly boolean Приходит со значением true у полей, которые задаются только при создании. На обновлении такое поле отклоняется с 400 READONLY_FIELD
data.fields.<поле>.required boolean Приходит со значением true у полей, обязательных при создании
data.fields.<поле>.label string Подпись поля
data.fields.<поле>.description string Описание поля
data.batch string[] Операции, доступные в массовом режиме через Batch: create, update, delete
meta.warnings array Приходит, только если схему полей не удалось получить от Битрикс24 целиком. Содержит объект с кодом fields_partial и текстом message: в ответе только поля из схемы Вайбкод, часть подписей может отсутствовать. Повторите запрос

Подписи label и description приходят на русском языке.

Поля документа:

Поле Тип RO Описание
id number да Идентификатор документа
docType string Тип документа: A — приход, S — оприходование, M — перемещение, R — возврат, D — списание. Обязательно при создании, задаётся только при создании
currency string Валюта документа. Обязательно при создании, задаётся только при создании. Список: GET /v1/currencies
responsibleId number Ответственный сотрудник. Обязательно при создании. Список: GET /v1/users
status string да Статус проведения: Y — проведён, N — не проведён. Меняется проведением и отменой проведения
dateStatus datetime да Дата смены статуса проведения. У нового документа совпадает с датой создания
createdBy number Сотрудник, создавший документ. Задаётся только при создании. Список: GET /v1/users
dateCreate datetime да Дата создания
title string Название документа
docNumber string Номер документа. null, если не задан
commentary string Комментарий. null, если не задан
dateDocument datetime Дата документа. null, если не задана
siteId string Идентификатор сайта портала. Если не передать при создании, подставляется s1
total number Сумма документа. Из позиций не рассчитывается: если сумму не задать, остаётся null и после проведения
modifiedBy number Сотрудник, последним изменивший документ. Список: GET /v1/users
statusBy number Сотрудник, сменивший статус проведения. null, пока статус не менялся. Список: GET /v1/users
dateModify datetime Дата последнего изменения

Даты приходят в ISO 8601 по UTC, например 2026-10-12T13:20:16.000Z.

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

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": {
        "type": "number",
        "readonly": true,
        "label": "ID документа",
        "description": "ID документа"
      },
      "docType": {
        "type": "string",
        "readonly": false,
        "createOnly": true,
        "required": true,
        "label": "Тип документа",
        "description": "Тип документа"
      },
      "currency": {
        "type": "string",
        "readonly": false,
        "createOnly": true,
        "required": true,
        "label": "Валюта",
        "description": "Валюта"
      },
      "responsibleId": {
        "type": "number",
        "readonly": false,
        "required": true,
        "label": "Ответственный",
        "description": "Ответственный"
      },
      "status": {
        "type": "string",
        "readonly": true,
        "label": "Статус проведения",
        "description": "Статус проведения"
      },
      "dateStatus": {
        "type": "datetime",
        "readonly": true,
        "label": "Дата статуса",
        "description": "Дата статуса"
      },
      "createdBy": {
        "type": "number",
        "readonly": false,
        "createOnly": true,
        "label": "Создал",
        "description": "Создал"
      },
      "dateCreate": {
        "type": "datetime",
        "readonly": true,
        "label": "Дата создания",
        "description": "Дата создания"
      },
      "title": {
        "type": "string",
        "readonly": false,
        "label": "Название",
        "description": "Название"
      },
      "docNumber": {
        "type": "string",
        "readonly": false,
        "label": "Номер документа",
        "description": "Номер документа"
      },
      "commentary": {
        "type": "string",
        "readonly": false,
        "label": "Комментарий",
        "description": "Комментарий"
      },
      "dateDocument": {
        "type": "datetime",
        "readonly": false,
        "label": "Дата документа",
        "description": "Дата документа"
      },
      "siteId": {
        "type": "string",
        "readonly": false,
        "label": "Сайт",
        "description": "Сайт"
      },
      "total": {
        "type": "number",
        "readonly": false,
        "label": "Сумма документа",
        "description": "Сумма документа"
      },
      "modifiedBy": {
        "type": "number",
        "readonly": false,
        "label": "Изменил",
        "description": "Изменил"
      },
      "statusBy": {
        "type": "number",
        "readonly": false,
        "label": "Изменил статус",
        "description": "Изменил статус"
      },
      "dateModify": {
        "type": "datetime",
        "readonly": false,
        "label": "Дата изменения",
        "description": "Дата изменения"
      }
    },
    "batch": [
      "create",
      "update",
      "delete"
    ]
  }
}

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

401 — не передан API-ключ:

JSON
{
  "success": false,
  "error": {
    "code": "MISSING_API_KEY",
    "message": "API key required. Pass via X-Api-Key header."
  }
}

Ошибки

HTTP Код Описание
401 MISSING_API_KEY Не передан заголовок X-Api-Key
401 INVALID_API_KEY Переданный API-ключ не найден
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
403 SCOPE_DENIED API-ключ не имеет скоупа catalog
429 RATE_LIMITED Превышен лимит запросов: 300 в минуту на портал, все API-ключи портала делят один лимит. Действующее значение — в заголовке x-ratelimit-limit. Повторите после срока из заголовка Retry-After

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

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