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

Запросить данные из 1С

POST /v1/onec/tools/{method}/call

Ставит в очередь чтение данных инструментом из каталога 1С. Ответ приходит сразу и несёт идентификатор операции, а сами данные забираются отдельным запросом, когда 1С выполнит чтение.

Учётную запись 1С, от имени которой пойдёт чтение, выбирает платформа по сопоставлению вызывающего. Передать или подменить её в запросе нельзя.

Параметры

Параметр Тип Обяз. Описание
Параметрmethod (path) Типstring Обяз.да ОписаниеМетод инструмента из каталога. Буквы, знаки, цифры и ._-, до 100 символов. В URL кодируется, само значение сохраняется посимвольно
ПараметрinstanceId (query) Типstring Обяз.нет ОписаниеИдентификатор базы 1С в формате UUID, в которой выполнить чтение. Список: GET /v1/onec/instances. Обязателен, когда к порталу подключено или уже подключалось несколько баз, — в том числе на время перевыпуска ключа одной из них. При одной базе можно не передавать

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

Поле Тип Обяз. По умолч. Описание
Полеcolumns Типarray Обяз.нет По умолч.— ОписаниеКолонки из inputSchema.properties.columns.items.enum инструмента, до 200 без повторов. Имя колонки — от 1 до 128 символов. Опущено — вернутся все колонки, доступные учётной записи 1С
Полеfilters Типobject Обяз.нет По умолч.— ОписаниеФильтры из inputSchema.properties.filters.properties инструмента. До 50 ключей на объект, до 200 элементов в массиве, до 1024 символов в строке, вложенность до 6 уровней и до 2000 значений суммарно
Полеlimit Типinteger Обяз.нет По умолч.1000 ОписаниеСколько строк прочитать за операцию, от 1 до 10 000
Полеoffset Типinteger Обяз.нет По умолч.0 ОписаниеСколько строк пропустить. Для следующей страницы берите nextOffset из результата операции

Примеры

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

Terminal
curl -X POST https://vibecode.bitrix24.tech/v1/onec/tools/bank.list/call \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "columns": ["Код", "Наименование"],
    "filters": { "Наименование": "Банк" },
    "limit": 100,
    "offset": 0
  }'

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

javascript
const method = encodeURIComponent('bank.list')

const res = await fetch(`https://vibecode.bitrix24.tech/v1/onec/tools/${method}/call`, {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    columns: ['Код', 'Наименование'],
    filters: { Наименование: 'Банк' },
    limit: 100,
    offset: 0,
  }),
})

const { data } = await res.json()
console.log(data.operationId, res.headers.get('Location'))

Поля ответа

Поле Тип Описание
Полеsuccess Типboolean ОписаниеВсегда true при успехе
Полеdata.operationId Типstring ОписаниеИдентификатор операции для GET /v1/onec/operations/{operationId}
Полеdata.status Типstring ОписаниеСостояние операции сразу после постановки — pending
Полеdata.expiresAt Типstring ОписаниеДо какого момента операция ждёт выполнения, ISO 8601. После него операция читается со статусом expired

Заголовок ответа Location несёт адрес чтения этой же операции — то же значение, что data.operationId в пути.

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

Статус ответа — 202 Accepted:

JSON
{
  "success": true,
  "data": {
    "operationId": "cl9x2k4t70000qz8h3m1vb7ry",
    "status": "pending",
    "expiresAt": "2026-09-14T12:15:00.000Z"
  }
}

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

403 — у вызывающего нет активного сопоставления с учётной записью 1С:

JSON
{
  "success": false,
  "error": {
    "code": "ONEC_USER_NOT_MAPPED",
    "message": "The caller has no active 1C user mapping."
  }
}

Ошибки

HTTP Код Описание
HTTP400 КодONEC_VALIDATION ОписаниеМетод содержит символы вне букв, знаков, цифр и ._-
HTTP400 КодONEC_VALIDATION ОписаниеВ теле есть поле вне columns, filters, limit, offset
HTTP400 КодONEC_VALIDATION Описаниеlimit вне диапазона 1–10 000 или offset отрицательный
HTTP400 КодONEC_VALIDATION Описаниеcolumns не массив строк, содержит повторы, длиннее 200 элементов или несёт пустое имя колонки либо имя длиннее 128 символов
HTTP400 КодONEC_VALIDATION Описаниеfilters превышает ограничение по числу ключей, длине строки, вложенности или числу значений
HTTP400 КодONEC_INSTANCE_REQUIRED ОписаниеК порталу подключено или уже подключалось несколько баз 1С, а instanceId не передан. Операция не создана
HTTP403 КодONEC_USER_NOT_MAPPED ОписаниеУ вызывающего нет действующего сопоставления с учётной записью 1С выбранной базы
HTTP403 КодONEC_USER_NOT_MAPPED ОписаниеВызов ключом авторизации vibe_app_…: доступ к 1С выдаётся сотруднику, а не приложению, поэтому раздел работает только с личным ключом
HTTP403 КодONEC_ACCOUNT_UNAVAILABLE ОписаниеВыбранная учётная запись 1С или её назначение неактивны
HTTP404 КодONEC_NOT_CONNECTED ОписаниеНа портале нет активного подключения 1С либо оно отключено
HTTP404 КодONEC_NOT_CONNECTED ОписаниеБазы с переданным instanceId на портале нет, она отключена, её ключ подключения перевыпущен и модуль Вайбкод ещё не подключился с новым ключом, либо значение не в формате UUID
HTTP409 КодONEC_SETTINGS_MISSING ОписаниеМодуль Вайбкод в 1С ещё не передал свои настройки
HTTP409 КодONEC_CAPABILITY_MISSING ОписаниеМодуль не объявил чтение данных среди своих возможностей
HTTP409 КодONEC_MAPPING_CONFLICT ОписаниеНазначения по подразделениям выбирают разные учётные записи 1С
HTTP409 КодONEC_MAPPING_VERSION_CONFLICT ОписаниеНазначения изменились во время проверки доступа — повторите вызов
HTTP503 КодONEC_DIRECTORY_UNAVAILABLE ОписаниеСостав подразделений Битрикс24 проверить не удалось. Операция не создана, повторите позже — это не отказ в доступе
HTTP503 КодONEC_ASSIGNMENTS_DISABLED ОписаниеНазначения пользователей 1С на портале временно выключены. Операция не создана
HTTP404 КодROUTE_NOT_FOUND ОписаниеИнтеграция 1С на портале недоступна — ответ совпадает с ответом на неизвестный путь
HTTP404 КодROUTE_NOT_FOUND ОписаниеМетод в URL длиннее 100 символов
HTTP403 КодSCOPE_DENIED ОписаниеКлючу не хватает скоупа vibe:onec. Скоуп проверяется после метода и тела запроса, поэтому ключ без скоупа с некорректным методом или телом получает 400 ONEC_VALIDATION
HTTP403 КодWRITE_BLOCKED_READONLY_KEY ОписаниеКлюч в режиме «только чтение» операции не создаёт
HTTP401 КодMISSING_API_KEY ОписаниеНе передан заголовок X-Api-Key
HTTP429 КодRATE_LIMITED ОписаниеПревышен лимит запросов — повторите после времени из заголовка Retry-After
HTTP503 Кодuser_self_deletion_pending ОписаниеВладелец ключа удаляет свою учётную запись на портале. Заголовок Retry-After равен 604800 — столько длится отсрочка удаления

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

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

Вызов только ставит задачу. 202 означает, что операция принята, а не что данные прочитаны — результат забирается через GET /v1/onec/operations/{operationId}.

Каждый вызов создаёт новую операцию. Повтор с тем же телом не возвращает прежнюю операцию и не отменяет её, а ставит ещё одну. Для повторного чтения той же выборки храните operationId из первого ответа.

Учётная запись 1С выбирается на стороне платформы. Сопоставления у каждой базы свои, поэтому сотрудник, сопоставленный в одной базе, в другой получает 403 ONEC_USER_NOT_MAPPED. Когда на портале включены назначения по подразделениям, личное назначение имеет приоритет над назначениями подразделений вместе со всеми вложенными. Приостановленное назначение не даёт запасного варианта, а уже поставленная операция не переводится на другую учётную запись.

Значение фильтра интерпретирует 1С. Платформа проверяет только ограничения и передаёт объект как есть, а равенство это или вхождение части строки — решает модуль в 1С.

Фильтр, которого инструмент не объявлял, роняет операцию. Такой вызов принимается с 202, а 1С завершает операцию статусом failed и присылает в поле error код UNKNOWN_FILTER.

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