Create Dataset biconnector.dataset.add
Scope:
biconnectorWho can execute the method: a user with access to the "Analyst's Workspace" section
The method biconnector.dataset.add creates a new dataset associated with a data source.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
fields* |
An object containing data to create a new dataset. The object format is:
|
Parameter fields
|
Name |
Description |
|
name* |
The name of the dataset. The name must start with a letter and can only use lowercase Latin letters |
|
externalName* |
The name of the dataset in the external source, in the application. |
|
externalCode* |
A unique code for the dataset in the external source, used when retrieving data. |
|
sourceId* |
The identifier of the source, which can be obtained using the methods biconnector.source.list or biconnector.source.add. |
|
description |
Description of the dataset. |
|
fields* |
A list of dataset fields, (Detailed description) |
Code Examples
How to Use Examples in Documentation
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"fields": {
"sourceId": 3,
"name": "rest_dataset",
"externalName": "externalName",
"externalCode": "externalCode",
"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": "DATE", "externalCode": "DATE" },
{ "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": "externalName",
"externalCode": "externalCode",
"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": "DATE", "externalCode": "DATE" },
{ "type": "datetime", "name": "TIME", "externalCode": "TIME" }
]
},
"auth": "**put_access_token_here**"
}' \
https://**put_your_bitrix24_address**/rest/biconnector.dataset.add
try
{
const response = await $b24.callMethod(
'biconnector.dataset.add',
{
fields: {
"sourceId": 3,
"name": "rest_dataset",
"externalName": "externalName",
"externalCode": "externalCode",
"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": "DATE", "externalCode": "DATE" },
{ "type": "datetime", "name": "TIME", "externalCode": "TIME" }
]
}
}
);
const result = response.getData().result;
result.error()
? console.error(result.error())
: console.info(result);
}
catch( error )
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'biconnector.dataset.add',
[
'fields' => [
'sourceId' => 3,
'name' => 'rest_dataset',
'externalName' => 'externalName',
'externalCode' => 'externalCode',
'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' => 'DATE', 'externalCode' => 'DATE'],
['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": "externalName",
"externalCode": "externalCode",
"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": "DATE", "externalCode": "DATE" },
{ "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' => 'externalName',
'externalCode' => 'externalCode',
'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' => 'DATE', 'externalCode' => 'DATE' ],
[ 'type' => 'datetime', 'name' => 'TIME', 'externalCode' => 'TIME' ]
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP status: 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
}
}
Returned Data
|
Name |
Description |
|
result |
The root element of the response, contains the identifier of the created dataset. |
|
time |
Information about the request execution time. |
HTTP status: 200
{
"error": "VALIDATION_FIELDS_NOT_PROVIDED",
"error_description": "Fields not provided."
}
|
Name |
Description |
|
error |
String error code. It may consist of digits, Latin letters, and underscores |
|
error_description |
Textual description of the error. The description is not intended to be shown to the end user in its raw form |
Possible Error Codes
|
Code |
Description |
Value |
|
|
Fields not provided. |
Fields were not passed in the request. |
|
|
Unknown parameters: #LIST_OF_PARAMS# |
Unknown parameters detected: list. |
|
|
Field "#TITLE#" is required. |
Required field #TITLE# was not provided. |
|
|
Field "#TITLE#" is read only. |
Field #TITLE# is read-only and cannot be modified. |
|
|
Field "#TITLE#" is immutable. |
Field #TITLE# is immutable. |
|
|
Field "#TITLE#" must be of type #TYPE#. |
Field #TITLE# must be of type #TYPE#. |
|
|
Source was not found. |
Source not found. |
|
|
Dataset with this name already exists. |
A dataset with this name already exists. |
|
|
Dataset name has to start with a lowercase Latin character. Possible entry includes lowercase Latin characters (a-z), numbers (0-9) and underscores. |
Incorrect dataset name format. The name must start with a letter and can only use lowercase Latin letters |
|
|
Dataset name must not exceed 230 characters. |
Dataset name must not exceed 230 characters. |
|
|
Duplicate values found in the "code" parameter: #LIST_CODES# |
Duplicates found in the |
|
|
Duplicate values found in the "name" parameter: #LIST_NAMES# |
Duplicates found in the |
|
|
Field must include the required parameters: "name", "externalCode" and "type". |
Field must include the parameters |
|
|
Field "name" has to start with an uppercase Latin character. Possible entry includes uppercase Latin characters (A-Z), numbers (0-9) and underscores. |
Incorrect field name format. The name must start with a letter and can only use uppercase Latin letters |
|
|
Field "name" must not exceed 32 characters. |
Field name must not exceed 32 characters. |
|
|
Invalid field type. |
Invalid field type. |
|
|
|
Error adding dataset. |
Statuses and System Error Codes
HTTP Status: 20x, 40x, 50x
The errors described below may occur when calling any method.
|
Status |
Code |
Description |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
An internal server error has occurred, please contact the server administrator or Bitrix24 technical support |
|
|
|
The request intensity limit has been exceeded |
|
|
|
The current method is not allowed to be called using batch |
|
|
|
The maximum length of parameters passed to the batch method has been exceeded |
|
|
|
Invalid access token or webhook code |
|
|
|
The methods must be called using the HTTPS protocol |
|
|
|
The REST API is blocked due to overload. This is a manual individual block, to remove it you need to contact Bitrix24 technical support |
|
|
|
The REST API is available only on commercial plans |
|
|
|
The user whose access token or webhook was used to call the method lacks permissions |
|
|
|
The manifest is not available |
|
|
|
The request requires higher privileges than those provided by the webhook token |
|
|
|
The provided access token has expired |
|
|
|
The user does not have access to the application. This means that the application is installed, but the account administrator has allowed access to this application only for specific users |
|
|
|
The public part of the site is closed. To open the public part of the site on an on-premise installation, disable the option "Temporary closure of the public part of the site". Path to the setting: Desktop > Settings > Product Settings > Module Settings > Main Module > Temporary closure of the public part of the site |
Continue Learning
- Get Fields of the Dataset biconnector.dataset.fields
- Update Dataset biconnector.dataset.update
- Update Dataset Fields biconnector.dataset.fields.update
- Get dataset by id biconnector.dataset.get
- Get the list of datasets biconnector.dataset.list
- Delete dataset biconnector.dataset.delete