note.document.add
Создать документ
Описание
Метод относится к REST 3.0. Особенности вызова и формат ответа новой версии API описаны в обзоре REST 3.0.
Метод note.document.add создает новый документ в базе знаний и возвращает его объект.
Параметры
fields
object
обязательный
Объект с полями нового документа. Описание структуры объекта
Параметр fields
collectionId
integer
обязательный
Идентификатор базы знаний.
Идентификатор можно получить методом note.collection.list
title
string
обязательный
Заголовок документа.
Заголовок документа не должен превышать 255 символов
parentId
integer
необязательный
Идентификатор родительского документа.
Идентификатор можно получить методом note.document.tree.list.
Используйте, если нужно создать вложенный документ. Родительский документ должен принадлежать той же базе знаний, что и collectionId
markdown
string
необязательный
Начальное содержимое документа в Markdown.
Максимальный размер: 1 048 576 байт
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"collectionId":42,"title":"Глава 1","parentId":10,"markdown":"# Глава 1\n\nТекст документа"}}' \
https://**put_your_bitrix24_address**/rest/api/**put_your_user_id_here**/**put_your_webhook_here**/note.document.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"fields":{"collectionId":42,"title":"Глава 1","parentId":10,"markdown":"# Глава 1\n\nТекст документа"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/api/note.document.add
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
type DocumentAddResult = {
item: {
id: number
collectionId: number | null
parentId: number | null
title: string
markdown: string
position: number
createdBy: number
updatedBy: number
createdAt: string
updatedAt: string
}
}
try {
const response = await $b24.actions.v3.call.make<DocumentAddResult>({
method: 'note.document.add',
params: {
fields: {
collectionId: 42,
title: 'Глава 1',
parentId: 10,
markdown: '# Глава 1\n\nТекст документа',
},
},
requestId: Text.getUuidRfc4122()
})
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Document created:', result.item.id, result.item.title)
}
} catch (error) {
console.error(error)
}
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addDocument() {
try {
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v3.call.make({
method: 'note.document.add',
params: {
fields: {
collectionId: 42,
title: 'Глава 1',
parentId: 10,
markdown: '# Глава 1\n\nТекст документа',
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Document created:', result.item.id, result.item.title)
} catch (error) {
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addDocument)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
fields = {
"collectionId": 42,
"title": "Глава 1",
"parentId": 10,
"markdown": "# Глава 1\n\nТекст документа",
}
try:
bitrix_response = client.note.document.add(
fields=fields,
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'note.document.add',
[
'fields' => [
'collectionId' => 42,
'title' => 'Глава 1',
'parentId' => 10,
'markdown' => "# Глава 1\n\nТекст документа",
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error creating document: ' . $e->getMessage();
}
BX24.callMethod(
'note.document.add',
{
fields: {
collectionId: 42,
title: 'Глава 1',
parentId: 10,
markdown: '# Глава 1\n\nТекст документа'
}
},
function(result){
console.info(result.data());
console.log(result);
}
);
require_once('crest.php');
$result = CRest::call(
'note.document.add',
[
'fields' => [
'collectionId' => 42,
'title' => 'Глава 1',
'parentId' => 10,
'markdown' => "# Глава 1\n\nТекст документа"
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "note.document.add", b24.Params{
"fields": b24.Params{
"collectionId": 42,
"title": "Глава 1",
"parentId": 10,
"markdown": "# Глава 1\n\nТекст документа",
},
})
if err != nil {
return fmt.Errorf("note.document.add: %w", err)
}
// Метод заворачивает ответ в объект с ключом "item".
raw, ok := b24.Unwrap(res.Result, "item")
if !ok {
return fmt.Errorf("в ответе нет ключа item")
}
var item struct {
ID b24.ID `json:"id"`
CollectionID b24.ID `json:"collectionId"`
ParentID b24.ID `json:"parentId"`
Title string `json:"title"`
Markdown string `json:"markdown"`
Position int `json:"position"`
}
if err := json.Unmarshal(raw, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID, item.CollectionID)
Ответ
HTTP-статус: 200
{
"result": {
"item": {
"id": 77,
"collectionId": 42,
"parentId": 10,
"title": "Глава 1",
"markdown": "# Глава 1\n\nТекст в Markdown...",
"position": 5,
"createdBy": 1,
"updatedBy": 1,
"createdAt": "2026-04-20T12:00:00Z",
"updatedAt": "2026-04-20T12:00:00Z"
}
},
"time": {
"start": 1780390800,
"finish": 1780390800.214321,
"duration": 0.21432113647460938,
"processing": 0.17321419715881348,
"date_start": "2026-06-16T12:00:00+03:00",
"date_finish": "2026-06-16T12:00:00+03:00",
"operating_reset_at": 1780391400,
"operating": 0
}
}
Возвращаемые данные
result
object
Объект с результатом создания документа
item
object
Объект созданного документа
id
integer
Идентификатор созданного документа
collectionId
integer
Идентификатор базы знаний
parentId
integer
Идентификатор родительского документа или null
title
string
Заголовок документа
markdown
string
Содержимое документа в Markdown
position
integer
Позиция документа среди соседних страниц
createdBy
integer
Идентификатор автора документа
updatedBy
integer
Идентификатор последнего редактора документа
createdAt
datetime
Дата и время создания документа в UTC
updatedAt
datetime
Дата и время последнего изменения документа в UTC
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": {
"code": "BITRIX_REST_V3_EXCEPTION_VALIDATION_DTOVALIDATIONEXCEPTION",
"message": "Ошибка при валидации объекта",
"validation": [
{
"message": "Не заполнено обязательное поле \"title\"",
"field": "title"
}
]
}
}
| Код | Описание | Значение |
|---|---|---|
Поле |
Описание ошибки | Как исправить |
fields |
Обязательное поле fields не указано |
Добавьте объект fields в тело запроса |

