Для 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 — личный ключ
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 — личный ключ
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:
{
"success": true,
"data": {
"operationId": "cl9x2k4t70000qz8h3m1vb7ry",
"status": "pending",
"expiresAt": "2026-09-14T12:15:00.000Z"
}
}
Пример ответа при ошибке
403 — у вызывающего нет активного сопоставления с учётной записью 1С:
{
"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.