Set Parameters for CRM Item Card crm.item.details.configuration.set
Method name: crm.item.details.configuration.set
Scope:
crmWho can execute the method: access permission checks depend on the provided data:
- Any user can set their personal settings
- A user can set common and others' settings only if they are an administrator
The method sets the settings for the card of a specific CRM object. It records personal settings for the specified user or common settings for all users.
Note
- The settings for repeat lead detail forms may differ from those of simple lead detail forms. The parameter
extras.leadCustomerTypeis used to switch between lead detail form settings. - The settings for the CRM entity detail form may vary depending on their Sales Funnel. The parameters used for switching are:
extras.categoryId— for SPAsextras.dealCategoryId— for deals
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
entityTypeId* |
Identifier of the system or user-defined type of CRM objects |
|
data* |
List of |
|
userId |
Identifier of the user for whom you want to set the configuration. If the parameter is not provided, the Required only when requesting personal settings |
|
scope |
Scope of the settings. Allowed values:
By default, the value is |
|
extras |
Additional parameters. Possible values and their structure are described below |
section
Describes a specific section with fields within the item card.
Required parameters are marked with *
|
Name |
Description |
|
name* |
Unique name of the section |
|
title* |
Title of the section. Displayed in the item card |
|
type* |
Type of the section. Currently, only the value |
|
elements |
Array of |
section_element
Configuration of a specific field within the section.
Required parameters are marked with *
|
Name |
Description |
|
name* |
Field identifier. The list of available fields can be found using |
|
optionFlags |
Should the field always be shown:
By default, the value is |
|
options |
Additional options list for the field |
section_element.options
|
Name |
Fields where the option is available |
Description |
Default |
|
defaultAddressType |
|
Identifier of the default address type. To find possible address types, use |
|
|
defaultCountry |
|
Country code for the default phone number format — a string of two Latin letters. For example, |
|
|
isPayButtonVisible |
|
Is the payment acceptance button shown. Possible values:
|
|
|
isPaymentDocumentsVisible |
|
Is the "Payment and Delivery" block shown. Possible values:
|
|
extras
The extras parameter depends on the CRM object.
|
CRM Object |
Name |
Description |
|
SPA |
|
Identifier of the SPA funnel. Can be obtained using If not specified, the default funnel identifier for this SPA will be used |
|
Deal |
|
Identifier of the deal funnel. Can be obtained using If not specified, the default funnel identifier for deals will be used |
|
Lead |
|
Type of leads. Possible values:
|
Code Examples
How to Use Examples in Documentation
For the user with id = 1, set the following configuration for the item card
- Section 1 - Personal Data
- First Name
- Show always
- Last Name
- Show always
- Middle Name
- Date of Birth
- Phone
- Show always
- Default country: United Kingdom(+44)
- Address
- Show always
- Default address type: Registration Address (see
crm.enum.addresstype)
- First Name
- Section 2 - Basic Information
- Contact Type
- Source
- Position
- Section 3 - Additional Information
- Photo
- Comment
- Custom Field #1
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityTypeId":3,"userId":1,"data":[{"name":"section_1","title":"Personal Data","type":"section","elements":[{"name":"NAME","optionFlags":1},{"name":"LAST_NAME","optionFlags":1},{"name":"SECOND_NAME"},{"name":"BIRTHDATE"},{"name":"PHONE","optionFlags":1,"options":{"defaultCountry":"GB"}},{"name":"ADDRESS","optionFlags":1,"options":{"defaultAddressType":4}}]},{"name":"section_2","title":"Basic Information","type":"section","elements":[{"name":"TYPE_ID"},{"name":"SOURCE_ID"},{"name":"POST"}]},{"name":"section_3","title":"Additional Information","type":"section","elements":[{"name":"PHOTO"},{"name":"COMMENTS"},{"name":"UF_CRM_1720697698689"}]}]}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.item.details.configuration.set
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"entityTypeId":3,"userId":1,"data":[{"name":"section_1","title":"Personal Data","type":"section","elements":[{"name":"NAME","optionFlags":1},{"name":"LAST_NAME","optionFlags":1},{"name":"SECOND_NAME"},{"name":"BIRTHDATE"},{"name":"PHONE","optionFlags":1,"options":{"defaultCountry":"GB"}},{"name":"ADDRESS","optionFlags":1,"options":{"defaultAddressType":4}}]},{"name":"section_2","title":"Basic Information","type":"section","elements":[{"name":"TYPE_ID"},{"name":"SOURCE_ID"},{"name":"POST"}]},{"name":"section_3","title":"Additional Information","type":"section","elements":[{"name":"PHOTO"},{"name":"COMMENTS"},{"name":"UF_CRM_1720697698689"}]}],"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.item.details.configuration.set
try
{
const response = await $b24.callMethod(
'crm.item.details.configuration.set',
{
entityTypeId: 3,
userId: 1,
data: [
{
name: "section_1",
title: "Personal Data",
type: "section",
elements: [
{
name: "NAME",
optionFlags: 1,
},
{
name: "LAST_NAME",
optionFlags: 1,
},
{
name: "SECOND_NAME",
},
{
name: "BIRTHDATE",
},
{
name: "PHONE",
optionFlags: 1,
options: {
defaultCountry: "GB",
},
},
{
name: "ADDRESS",
optionFlags: 1,
options: {
defaultAddressType: 4,
},
},
],
},
{
name: "section_2",
title: "Basic Information",
type: "section",
elements: [
{ name: "TYPE_ID" },
{ name: "SOURCE_ID" },
{ name: "POST" },
],
},
{
name: "section_3",
title: "Additional Information",
type: "section",
elements: [
{ name: "PHOTO" },
{ name: "COMMENTS" },
{ name: "UF_CRM_1720697698689" },
],
},
],
}
);
const result = response.getData().result;
console.info(result);
}
catch( error )
{
console.error(error);
}
try {
$response = $b24Service
->core
->call(
'crm.item.details.configuration.set',
[
'entityTypeId' => 3,
'userId' => 1,
'data' => [
[
'name' => "section_1",
'title' => "Personal Data",
'type' => "section",
'elements' => [
[
'name' => "NAME",
'optionFlags' => 1,
],
[
'name' => "LAST_NAME",
'optionFlags' => 1,
],
[
'name' => "SECOND_NAME",
],
[
'name' => "BIRTHDATE",
],
[
'name' => "PHONE",
'optionFlags' => 1,
'options' => [
'defaultCountry' => "GB",
],
],
[
'name' => "ADDRESS",
'optionFlags' => 1,
'options' => [
'defaultAddressType' => 4,
],
],
],
],
[
'name' => "section_2",
'title' => "Basic Information",
'type' => "section",
'elements' => [
['name' => "TYPE_ID"],
['name' => "SOURCE_ID"],
['name' => "POST"],
],
],
[
'name' => "section_3",
'title' => "Additional Information",
'type' => "section",
'elements' => [
['name' => "PHOTO"],
['name' => "COMMENTS"],
['name' => "UF_CRM_1720697698689"],
],
],
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error setting details configuration: ' . $e->getMessage();
}
BX24.callMethod(
'crm.item.details.configuration.set',
{
entityTypeId: 3,
userId: 1,
data: [
{
name: "section_1",
title: "Personal Data",
type: "section",
elements: [
{
name: "NAME",
optionFlags: 1,
},
{
name: "LAST_NAME",
optionFlags: 1,
},
{
name: "SECOND_NAME",
},
{
name: "BIRTHDATE",
},
{
name: "PHONE",
optionFlags: 1,
options: {
defaultCountry: "GB",
},
},
{
name: "ADDRESS",
optionFlags: 1,
options: {
defaultAddressType: 4,
},
},
],
},
{
name: "section_2",
title: "Basic Information",
type: "section",
elements: [
{ name: "TYPE_ID" },
{ name: "SOURCE_ID" },
{ name: "POST" },
],
},
{
name: "section_3",
title: "Additional Information",
type: "section",
elements: [
{ name: "PHOTO" },
{ name: "COMMENTS" },
{ name: "UF_CRM_1720697698689" },
],
},
],
},
(result) => {
if (result.error())
{
console.error(result.error());
return;
}
console.info(result.data());
},
);
require_once('crest.php');
$result = CRest::call(
'crm.item.details.configuration.set',
[
'entityTypeId' => 3,
'userId' => 1,
'data' => [
[
'name' => "section_1",
'title' => "Personal Data",
'type' => "section",
'elements' => [
[
'name' => "NAME",
'optionFlags' => 1,
],
[
'name' => "LAST_NAME",
'optionFlags' => 1,
],
[
'name' => "SECOND_NAME",
],
[
'name' => "BIRTHDATE",
],
[
'name' => "PHONE",
'optionFlags' => 1,
'options' => [
'defaultCountry' => "GB",
],
],
[
'name' => "ADDRESS",
'optionFlags' => 1,
'options' => [
'defaultAddressType' => 4,
],
],
],
],
[
'name' => "section_2",
'title' => "Basic Information",
'type' => "section",
'elements' => [
['name' => "TYPE_ID"],
['name' => "SOURCE_ID"],
['name' => "POST"],
],
],
[
'name' => "section_3",
'title' => "Additional Information",
'type' => "section",
'elements' => [
['name' => "PHOTO"],
['name' => "COMMENTS"],
['name' => "UF_CRM_1720697698689"],
],
],
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Response Handling
HTTP status: 200
{
"result": true,
"time": {
"start": 1720699969.76157,
"finish": 1720699970.153406,
"duration": 0.39183592796325684,
"processing": 0.02178215980529785,
"date_start": "2024-07-11T14:12:49+02:00",
"date_finish": "2024-07-11T14:12:50+02:00",
"operating": 0
}
}
Returned Data
|
Name |
Description |
|
result |
Root element of the response. Returns |
|
time |
Information about the execution time of the request |
Error Handling
HTTP status: 400
{
"error": "",
"error_description": "Element at index 0 in section at index 1 does not have name."
}
|
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 |
|
Empty value |
Parameter 'entityTypeId' is not defined |
Required parameter |
|
Empty value |
The entity type ' |
The method does not support this entity type |
|
Empty value |
Access denied. |
The user does not have administrative rights |
|
Empty value |
Parameter 'data' must be an array. |
A non-array was provided in |
|
Empty value |
The data must be an indexed array. |
A non-indexed array was provided in |
|
Empty value |
There are no data to write. |
An empty array was provided in |
|
Empty value |
Section at index |
The value in |
|
Empty value |
Section at index |
An empty value was provided in |
|
Empty value |
Section at index |
An empty value was provided in |
|
Empty value |
Element at index |
An empty value was provided in |
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
- Configuring Sections in the Detail Form of CRM Entities
- Get Parameters of CRM Item Detail Configuration
- Reset Item Card Parameters crm.item.details.configuration.reset
- Set Common Detail for All Users crm.item.details.configuration.forceCommonScopeForAll