biconnector.dataset.add
Создать датасет
Описание
Метод biconnector.dataset.add создает новый датасет, связанный с источником данных.
Параметры
fields
object
обязательный
Объект, содержащий данные для создания нового датасета. Формат объекта:
{
"field_1": "value_1",
"field_2": "value_2",
...,
"field_n": "value_n"
}
field_n— название поляvalue_n— значение поля
Параметр fields
name
string
обязательный
Название датасета. Название должно начинаться с буквы, можно использовать только строчные латинские буквы a-z, цифры и знак _. Максимальная длина названия 230 символа
externalName
string
обязательный
Название датасета во внешнем источнике, в приложении
externalCode
string
обязательный
Уникальный код датасета во внешнем источнике, используется при выборке данных
sourceId
integer
обязательный
Идентификатор источника, можно получить методами biconnector.source.list или biconnector.source.add
description
string
необязательный
Описание датасета
fields
array
обязательный
Список полей датасета, (Подробное описание)
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"fields": {
"sourceId": 3,
"name": "rest_dataset",
"externalName": "extranalName",
"externalCode": "extrnalCode",
"description": "Описание датасета",
"fields": [
{ "type": "int", "name": "ID", "externalCode": "ID" },
{ "type": "string", "name": "NAME", "externalCode": "NAME" },
{ "type": "string", "name": "SURNAME", "externalCode": "SURNAME" },
{ "type": "double", "name": "SCORE", "externalCode": "SCORE" },
{ "type": "date", "name": "DATA", "externalCode": "DATA" },
{ "type": "datetime", "name": "TIME", "externalCode": "TIME" }
]
}
}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/biconnector.dataset.add
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"fields": {
"sourceId": 3,
"name": "rest_dataset",
"externalName": "extranalName",
"externalCode": "extrnalCode",
"description": "Описание датасета",
"fields": [
{ "type": "int", "name": "ID", "externalCode": "ID" },
{ "type": "string", "name": "NAME", "externalCode": "NAME" },
{ "type": "string", "name": "SURNAME", "externalCode": "SURNAME" },
{ "type": "double", "name": "SCORE", "externalCode": "SCORE" },
{ "type": "date", "name": "DATA", "externalCode": "DATA" },
{ "type": "datetime", "name": "TIME", "externalCode": "TIME" }
]
},
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/biconnector.dataset.add
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of the payload returned in result (match the "response handling" section of the page)
type DatasetAddResult = {
id: number
}
try {
const response = await $b24.actions.v2.call.make<DatasetAddResult>({
method: 'biconnector.dataset.add',
params: {
fields: {
sourceId: 3,
name: 'rest_dataset',
externalName: 'extranalName',
externalCode: 'extrnalCode',
description: 'Dataset description',
fields: [
{ type: 'int', name: 'ID', externalCode: 'ID' },
{ type: 'string', name: 'NAME', externalCode: 'NAME' },
{ type: 'string', name: 'SURNAME', externalCode: 'SURNAME' },
{ type: 'double', name: 'SCORE', externalCode: 'SCORE' },
{ type: 'date', name: 'DATA', externalCode: 'DATA' },
{ type: 'datetime', name: 'TIME', externalCode: 'TIME' },
],
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Created dataset id:', result.id)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function addDataset() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'biconnector.dataset.add',
params: {
fields: {
sourceId: 3,
name: 'rest_dataset',
externalName: 'extranalName',
externalCode: 'extrnalCode',
description: 'Dataset description',
fields: [
{ type: 'int', name: 'ID', externalCode: 'ID' },
{ type: 'string', name: 'NAME', externalCode: 'NAME' },
{ type: 'string', name: 'SURNAME', externalCode: 'SURNAME' },
{ type: 'double', name: 'SCORE', externalCode: 'SCORE' },
{ type: 'date', name: 'DATA', externalCode: 'DATA' },
{ type: 'datetime', name: 'TIME', externalCode: 'TIME' },
],
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Created dataset id:', result.id)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addDataset)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.biconnector.dataset.add(
fields={
"sourceId": 3,
"name": "rest_dataset",
"externalName": "extranalName",
"externalCode": "extrnalCode",
"description": "Dataset description",
"fields": [
{
"type": "int",
"name": "ID",
"externalCode": "ID",
},
{
"type": "string",
"name": "NAME",
"externalCode": "NAME",
},
{
"type": "string",
"name": "SURNAME",
"externalCode": "SURNAME",
},
{
"type": "double",
"name": "SCORE",
"externalCode": "SCORE",
},
{
"type": "date",
"name": "DATA",
"externalCode": "DATA",
},
{
"type": "datetime",
"name": "TIME",
"externalCode": "TIME",
},
],
},
).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(
'biconnector.dataset.add',
[
'fields' => [
'sourceId' => 3,
'name' => 'rest_dataset',
'externalName' => 'extranalName',
'externalCode' => 'extrnalCode',
'description' => 'Описание датасета',
'fields' => [
['type' => 'int', 'name' => 'ID', 'externalCode' => 'ID'],
['type' => 'string', 'name' => 'NAME', 'externalCode' => 'NAME'],
['type' => 'string', 'name' => 'SURNAME', 'externalCode' => 'SURNAME'],
['type' => 'double', 'name' => 'SCORE', 'externalCode' => 'SCORE'],
['type' => 'date', 'name' => 'DATA', 'externalCode' => 'DATA'],
['type' => 'datetime', 'name' => 'TIME', 'externalCode' => 'TIME'],
],
],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
echo 'Error: ' . $result->error();
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding dataset: ' . $e->getMessage();
}
BX24.callMethod(
'biconnector.dataset.add',
{
fields: {
"sourceId": 3,
"name": "rest_dataset",
"externalName": "extranalName",
"externalCode": "extrnalCode",
"description": "Описание датасета",
"fields": [
{ "type": "int", "name": "ID", "externalCode": "ID" },
{ "type": "string", "name": "NAME", "externalCode": "NAME" },
{ "type": "string", "name": "SURNAME", "externalCode": "SURNAME" },
{ "type": "double", "name": "SCORE", "externalCode": "SCORE" },
{ "type": "date", "name": "DATA", "externalCode": "DATA" },
{ "type": "datetime", "name": "TIME", "externalCode": "TIME" }
]
}
},
(result) => {
result.error()
? console.error(result.error())
: console.info(result.data());
}
);
require_once('crest.php');
$result = CRest::call(
'biconnector.dataset.add',
[
'fields' => [
'sourceId' => 3,
'name' => 'rest_dataset',
'externalName' => 'extranalName',
'externalCode' => 'extrnalCode',
'description' => 'Описание датасета',
'fields' => [
[ 'type' => 'int', 'name' => 'ID', 'externalCode' => 'ID' ],
[ 'type' => 'string', 'name' => 'NAME', 'externalCode' => 'NAME' ],
[ 'type' => 'string', 'name' => 'SURNAME', 'externalCode' => 'SURNAME' ],
[ 'type' => 'double', 'name' => 'SCORE', 'externalCode' => 'SCORE' ],
[ 'type' => 'date', 'name' => 'DATA', 'externalCode' => 'DATA' ],
[ 'type' => 'datetime', 'name' => 'TIME', 'externalCode' => 'TIME' ]
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "biconnector.dataset.add", b24.Params{
"fields": b24.Params{
"sourceId": 3,
"name": "rest_dataset",
"externalName": "extranalName",
"externalCode": "extrnalCode",
"description": "Описание датасета",
"fields": []b24.Params{
{
"type": "int",
"name": "ID",
"externalCode": "ID",
},
{
"type": "string",
"name": "NAME",
"externalCode": "NAME",
},
{
"type": "string",
"name": "SURNAME",
"externalCode": "SURNAME",
},
{
"type": "double",
"name": "SCORE",
"externalCode": "SCORE",
},
{
"type": "date",
"name": "DATA",
"externalCode": "DATA",
},
{
"type": "datetime",
"name": "TIME",
"externalCode": "TIME",
},
},
},
})
if err != nil {
return fmt.Errorf("biconnector.dataset.add: %w", err)
}
var item struct {
ID b24.ID `json:"id"`
}
if err := json.Unmarshal(res.Result, &item); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println(item.ID)
Ответ
HTTP-статус: 200
{
"result": {
"id": 10
},
"time": {
"start": 1725013197.635808,
"finish": 1725013198.580873,
"duration": 0.9450650215148926,
"processing": 0.6822988986968994,
"date_start": "2024-08-30T12:19:57+02:00",
"date_finish": "2024-08-30T12:19:58+02:00",
"operating": 0
}
}
Возвращаемые данные
result
object
Корневой элемент ответа. Содержит поле id с идентификатором созданного датасета
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 200
{
"error": "VALIDATION_FIELDS_NOT_PROVIDED",
"error_description": "Fields not provided."
}
| Код | Описание | Значение |
|---|---|---|
VALIDATION_FIELDS_NOT_PROVIDED |
Fields not provided. | Поля не переданы в запросе |
VALIDATION_UNKNOWN_PARAMETERS |
Unknown parameters: #LIST_OF_PARAMS# | Обнаружены неизвестные параметры: перечень |
VALIDATION_REQUIRED_FIELD_MISSING |
Field "#TITLE#" is required. | Обязательное поле #TITLE# не передано |
VALIDATION_READ_ONLY_FIELD |
Field "#TITLE#" is read only. | Поле #TITLE# доступно только для чтения и не может быть изменено |
VALIDATION_IMMUTABLE_FIELD |
Field "#TITLE#" is immutable. | Поле #TITLE# неизменяемое |
VALIDATION_INVALID_FIELD_TYPE |
Field "#TITLE#" must be of type #TYPE#. | Поле #TITLE# должно быть типа #TYPE# |
SOURCE_NOT_FOUND |
Source was not found. | Источник не найден |
DATASET_ALREADY_EXIST |
Dataset with this name already exists. | Датасет с таким именем уже существует |
VALIDATION_DATASET_NAME_INVALID |
Dataset name has to start with a lowercase Latin character. Possible entry includes lowercase Latin characters (a-z), numbers (0-9) and underscores. | Неправильный формат названия датасета. Название должно начинаться с буквы, можно использовать только строчные латинские буквы (a-z), цифры и знак _ |
VALIDATION_DATASET_NAME_TOO_LONG |
Dataset name must not exceed 230 characters. | Название датасета не должно превышать 230 символов |
VALIDATION_DUPLICATE_FIELD_CODE |
Duplicate values found in the "code" parameter: #LIST_CODES# | Обнаружены дубликаты в параметре externalCode полей датасета |
VALIDATION_DUPLICATE_FIELD_NAME |
Duplicate values found in the "name" parameter: #LIST_NAMES# | Обнаружены дубликаты в параметре name полей датасета |
VALIDATION_FIELD_MISSING_REQUIRED_PARAMETERS |
Field must include the required parameters: "name", "externalCode" and "type". | Поле должно включать параметры name, externalCode и type |
VALIDATION_FIELD_NAME_INVALID_FORMAT |
Field "name" has to start with an uppercase Latin character. Possible entry includes uppercase Latin characters (A-Z), numbers (0-9) and underscores. | Неправильный формат названия поля. Название должно начинаться с буквы, можно использовать только заглавные латинские буквы (A-Z), цифры и знак _ |
VALIDATION_FIELD_NAME_TOO_LONG |
Field "name" must not exceed 32 characters. | Название поля не должно превышать 32 символов |
VALIDATION_FIELD_INVALID_TYPE |
Invalid field type. | Некорректный тип поля |
| — | Error adding dataset |
Ошибка добавления датасета |

