Set Parameters for Individual Card crm.contact.details.configuration.set
Scope:
crmWho can execute the method:
- Any user has the right to retrieve their own and common settings
- Only an administrator has the right to retrieve others' settings
Method Development Stopped
The method crm.contact.details.configuration.set continues to function, but there is a more relevant alternative crm.item.details.configuration.set.
The method sets the contact card settings: it writes personal settings for the specified user or common settings for all users.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
scope |
The scope of the settings. Possible values:
Default — |
|
userId |
User identifier. Required only when setting personal settings. If not specified — takes the |
|
data* |
The list The structure is described below |
section
Describes a specific section with fields within the contact 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 |
The array The structure is described below |
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 |
Whether to always show the field:
Default — |
|
options |
Additional list of options for the field |
section_element.options
|
Name |
Fields where the option is available |
Description |
|
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 |
|
Whether the payment acceptance button is shown. Possible values:
Default — |
|
isPaymentDocumentsVisible |
|
Whether the "Payment and Delivery" block is shown. Possible values:
Default — |
Code Examples
How to Use Examples in Documentation
For the user with id = 1, set the following configuration for the contact item card:
- Section 1 — Personal Data
- First Name
- Always show
- Last Name
- Always show
- Middle Name
- Date of Birth
- Phone
- Always show
- Default country: United Kingdom (+44)
- Address
- Always show
- Default address type: Registration Address (see
crm.enum.addresstype)
- First Name
- Section 2 — Main 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 '{"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":"Main 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.contact.details.configuration.set
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"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":"Main 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.contact.details.configuration.set
try
{
const response = await $b24.callMethod(
'crm.contact.details.configuration.set',
{
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: "Main 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;
result.error()
? console.error(result.error())
: console.info(result)
;
}
catch( error )
{
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'crm.contact.details.configuration.set',
[
'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' => "Main 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();
if ($response->getError()) {
echo 'Error: ' . $response->getError();
} else {
echo 'Success: ' . print_r($result, true);
// Your logic for processing data
processData($result);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error setting contact details configuration: ' . $e->getMessage();
}
BX24.callMethod(
'crm.contact.details.configuration.set',
{
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: "Main 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) => {
result.error()
? console.error(result.error())
: console.info(result.data())
;
},
);
require_once('crest.php');
$result = CRest::call(
'crm.contact.details.configuration.set',
[
'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' => 'Main 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": 1724677217.639681,
"finish": 1724677217.986853,
"duration": 0.3471717834472656,
"processing": 0.01840806007385254,
"date_start": "2024-08-26T15:00:17+02:00",
"date_finish": "2024-08-26T15:00:17+02:00",
"operating": 0
}
}
Returned Values
|
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 |
Access denied. |
The user does not have administrative rights |
|
Empty value |
Parameter 'data' must be array. |
A non-array was passed in |
|
Empty value |
The data must be indexed array. |
A non-indexed array was passed in |
|
Empty value |
There are no data to write. |
An empty array was passed in |
|
Empty value |
Section at index |
The value in |
|
Empty value |
Section at index |
An empty value was passed in |
|
Empty value |
Section at index |
An empty value was passed in |
|
Empty value |
Element at index |
An empty value was passed 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
- Managing Contact Cards: Overview of Methods
- Get Parameters of crm.contact.details.configuration.get
- Set Common Contact Card for All Users crm.contact.details.configuration.forceCommonScopeForAll
- Reset Contact Card Parameters crm.contact.details.configuration.reset