crm.contact.details.configuration.set
Установить параметры индивидуальной карточки
Описание
Метод устанавливает настройки карточки контактов: записывает личные настройки карточки указанного пользователя или общие настройки для всех пользователей.
Параметры
scope
string
необязательный
Область применения настроек.
Возможные значения:
- P — личные настройки
- C — общие настройки
По умолчанию — P
userId
user
необязательный
Идентификатор пользователя. Нужен только при установке личных настроек.
Если не задан — берется id текущего пользователя
data
section[]
обязательный
Список section описывает конфигурацию разделов полей в карточке элемента.
Структура описана ниже
section
name
string
обязательный
Уникальное название раздела
title
string
обязательный
Название раздела.
Отображается в карточке элемента
type
string
обязательный
Тип раздела.
На данный момент доступно только значение 'section'
elements
section_element[]
необязательный
Массив section_element описывает конфигурацию полей в разделе.
Структура описана ниже
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"userId":1,"data":[{"name":"section_1","title":"Личные данные","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":"Основная информация","type":"section","elements":[{"name":"TYPE_ID"},{"name":"SOURCE_ID"},{"name":"POST"}]},{"name":"section_3","title":"Дополнительная информация","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":"Личные данные","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":"Основная информация","type":"section","elements":[{"name":"TYPE_ID"},{"name":"SOURCE_ID"},{"name":"POST"}]},{"name":"section_3","title":"Дополнительная информация","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
// 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
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'crm.contact.details.configuration.set',
params: {
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' },
],
},
],
},
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('Configuration saved:', result)
}
} 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 setContactDetailsConfiguration() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'crm.contact.details.configuration.set',
params: {
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' },
],
},
],
},
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('Configuration saved:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', setContactDetailsConfiguration)
</script>
try {
$response = $b24Service
->core
->call(
'crm.contact.details.configuration.set',
[
'userId' => 1,
'data' => [
[
'name' => "section_1",
'title' => "Личные данные",
'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' => "Основная информация",
'type' => "section",
'elements' => [
['name' => "TYPE_ID"],
['name' => "SOURCE_ID"],
['name' => "POST"],
],
],
[
'name' => "section_3",
'title' => "Дополнительная информация",
'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);
// Нужная вам логика обработки данных
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: "Личные данные",
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: "Основная информация",
type: "section",
elements: [
{ name: "TYPE_ID" },
{ name: "SOURCE_ID" },
{ name: "POST" },
],
},
{
name: "section_3",
title: "Дополнительная информация",
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' => 'Личные данные',
'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' => 'Основная информация',
'type' => 'section',
'elements' => [
['name' => 'TYPE_ID'],
['name' => 'SOURCE_ID'],
['name' => 'POST'],
],
],
[
'name' => 'section_3',
'title' => 'Дополнительная информация',
'type' => 'section',
'elements' => [
['name' => 'PHOTO'],
['name' => 'COMMENTS'],
['name' => 'UF_CRM_1720697698689'],
],
],
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.contact.details.configuration.set", b24.Params{
"userId": 1,
"data": []b24.Params{
{
"name": "section_1",
"title": "Личные данные",
"type": "section",
"elements": []b24.Params{
{
"name": "NAME",
"optionFlags": 1,
},
{
"name": "LAST_NAME",
"optionFlags": 1,
},
{
"name": "SECOND_NAME",
},
{
"name": "BIRTHDATE",
},
{
"name": "PHONE",
"optionFlags": 1,
"options": b24.Params{
"defaultCountry": "GB",
},
},
{
"name": "ADDRESS",
"optionFlags": 1,
"options": b24.Params{
"defaultAddressType": 4,
},
},
},
},
{
"name": "section_2",
"title": "Основная информация",
"type": "section",
"elements": []b24.Params{
{
"name": "TYPE_ID",
},
{
"name": "SOURCE_ID",
},
{
"name": "POST",
},
},
},
{
"name": "section_3",
"title": "Дополнительная информация",
"type": "section",
"elements": []b24.Params{
{
"name": "PHOTO",
},
{
"name": "COMMENTS",
},
{
"name": "UF_CRM_1720697698689",
},
},
},
},
})
if err != nil {
return fmt.Errorf("crm.contact.details.configuration.set: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 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
}
}
Возвращаемые данные
result
boolean
Корневой элемент ответа.
Возвращает true в случае успеха
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Element at index 0 in section at index 1 does not have name."
}
| Код | Описание | Значение |
|---|---|---|
| — | Access denied. | У пользователя нет административных прав |
| — | Parameter 'data' must be array. | В data передан не массив |
| — | The data must be indexed array. | В data передан не индексированный массив |
| — | There are no data to write. | В data передан пустой массив |
| — | Section at index i have type data[i].type. The expected type is 'section'. |
В data[i].type находится значение отличное от 'section' |
| — | Section at index i does not have name. |
В data[i].name передано пустое значение |
| — | Section at index i does not have title. |
В data[i].title передано пустое значение |
| — | Element at index j in section at index i does not have name. |
В data[i].elements[j].name передано пустое значение |

