calendar.user.settings.set
Установить пользовательские настройки календаря
Описание
Метод устанавливает пользовательские настройки календаря для текущего пользователя.
Параметры
settings
object
обязательный
Объект со значениями пользовательских настроек календаря
Параметр settings
view
string
необязательный
Стандартное представление для календаря. Возможные значения:
- day — день
- week — неделя
- month — месяц
- list — список
meetSection
string
необязательный
Календарь для приглашений
crmSection
string
необязательный
Календарь для CRM
showDeclined
boolean
необязательный
Показывать события, в которых пользователь отказался принять участие
denyBusyInvitation
boolean
необязательный
Запрещать приглашать в событие, если время занято
collapseOffHours
string
необязательный
Скрывать нерабочее время в календаре в недельном и дневном представлении. Возможные значения:
- Y — скрывать
- N — не скрывать
showWeekNumbers
string
необязательный
Показывать номер недель. Возможные значения:
- Y — показывать
- N — не показывать
showTasks
string
необязательный
Отображать задачи в календаре. Возможные значения:
- Y — отображать
- N — не отображать
syncTasks
string
необязательный
Синхронизировать календарь задач. Возможные значения:
- Y — да
- N — нет
showCompletedTasks
string
необязательный
Отображать завершенные задачи. Возможные значения:
- Y — отображать
- N — не отображать
lastUsedSection
string
необязательный
Идентификатор календаря, который используется при создании событий, если в параметрах не передан идентификатор календаря.
Значение по умолчанию — false
sendFromEmail
string
необязательный
E-mail для отправки почтовых приглашений
defaultSections
object
необязательный
Настройки предустановленных календарей.
Ключем объекта настроек может быть:
- user[id] — тип Календарь пользователя c идентификатором пользователя. Например, user12 соответствует календарю пользователя с идентификатором 12
- group[id] — тип Календарь группы с идентификатором группы. Например, group36 соответствует календарю группы с идентификатором 36
Значением объекта является идентификатор календаря
syncPeriodPast
string
необязательный
Количество месяцев для синхронизации в прошлом периоде
syncPeriodFuture
string
необязательный
Количество месяцев для синхронизации в будущем периоде
defaultReminders
object
необязательный
Объект со стандартными настройками напоминаний о событии
Объект defaultReminders
fullDay
array
необязательный
Массив стандартных настроек напоминаний для целодневных событий
withTime
array
необязательный
Массив стандартных настроек напоминаний для событий с указанием времени
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"settings":{"view":"month","meetSection":"4","crmSection":"4","showDeclined":true,"denyBusyInvitation":false,"collapseOffHours":"N","showWeekNumbers":"N","showTasks":"Y","syncTasks":"N","showCompletedTasks":"N","lastUsedSection":"false","sendFromEmail":"","defaultSections":{"user1":"4","group6":"49"},"syncPeriodPast":"3","syncPeriodFuture":"12","defaultReminders":{"fullDay":[{"type":"min","count":15}],"withTime":[{"type":"min","count":50}]}}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/calendar.user.settings.set
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"settings":{"view":"month","meetSection":"4","crmSection":"4","showDeclined":true,"denyBusyInvitation":false,"collapseOffHours":"N","showWeekNumbers":"N","showTasks":"Y","syncTasks":"N","showCompletedTasks":"N","lastUsedSection":"false","sendFromEmail":"","defaultSections":{"user1":"4","group6":"49"},"syncPeriodPast":"3","syncPeriodFuture":"12","defaultReminders":{"fullDay":[{"type":"min","count":15}],"withTime":[{"type":"min","count":50}]}},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/calendar.user.settings.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
// Shape of the payload returned in result (match the "response handling" section of the page)
type CalendarUserSettingsSetResult = boolean
try {
const response = await $b24.actions.v2.call.make<CalendarUserSettingsSetResult>({
method: 'calendar.user.settings.set',
params: {
settings: {
view: 'month',
meetSection: '4',
crmSection: '4',
showDeclined: true,
denyBusyInvitation: false,
collapseOffHours: 'N',
showWeekNumbers: 'N',
showTasks: 'Y',
syncTasks: 'N',
showCompletedTasks: 'N',
lastUsedSection: 'false',
sendFromEmail: '',
defaultSections: {
user1: '4',
group6: '49',
},
syncPeriodPast: '3',
syncPeriodFuture: '12',
defaultReminders: {
fullDay: [
{
type: 'min',
count: 15,
},
],
withTime: [
{
type: 'min',
count: 50,
},
],
},
},
},
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('Settings 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 setCalendarUserSettings() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'calendar.user.settings.set',
params: {
settings: {
view: 'month',
meetSection: '4',
crmSection: '4',
showDeclined: true,
denyBusyInvitation: false,
collapseOffHours: 'N',
showWeekNumbers: 'N',
showTasks: 'Y',
syncTasks: 'N',
showCompletedTasks: 'N',
lastUsedSection: 'false',
sendFromEmail: '',
defaultSections: {
user1: '4',
group6: '49',
},
syncPeriodPast: '3',
syncPeriodFuture: '12',
defaultReminders: {
fullDay: [
{
type: 'min',
count: 15,
},
],
withTime: [
{
type: 'min',
count: 50,
},
],
},
},
},
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('Settings saved:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', setCalendarUserSettings)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.calendar.user.settings.set(
settings={
"view": "month",
"meetSection": "4",
"crmSection": "4",
"showDeclined": True,
"denyBusyInvitation": False,
"collapseOffHours": "N",
"showWeekNumbers": "N",
"showTasks": "Y",
"syncTasks": "N",
"showCompletedTasks": "N",
"lastUsedSection": "false",
"sendFromEmail": "",
"defaultSections": {
"user1": "4",
"group6": "49",
},
"syncPeriodPast": "3",
"syncPeriodFuture": "12",
"defaultReminders": {
"fullDay": [
{
"type": "min",
"count": 15,
},
],
"withTime": [
{
"type": "min",
"count": 50,
},
],
},
},
).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(
'calendar.user.settings.set',
[
'settings' => [
'view' => 'month',
'meetSection' => '4',
'crmSection' => '4',
'showDeclined' => true,
'denyBusyInvitation' => false,
'collapseOffHours' => 'N',
'showWeekNumbers' => 'N',
'showTasks' => 'Y',
'syncTasks' => 'N',
'showCompletedTasks' => 'N',
'lastUsedSection' => 'false',
'sendFromEmail' => '',
'defaultSections' => [
'user1' => '4',
'group6' => '49'
],
'syncPeriodPast' => '3',
'syncPeriodFuture' => '12',
'defaultReminders' => [
'fullDay' => [
[
'type' => 'min',
'count' => 15
]
],
'withTime' => [
[
'type' => 'min',
'count' => 50
]
]
]
]
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error setting user calendar settings: ' . $e->getMessage();
}
BX24.callMethod(
'calendar.user.settings.set',
{
settings: {
view: 'month',
meetSection: '4',
crmSection: '4',
showDeclined: true,
denyBusyInvitation: false,
collapseOffHours: 'N',
showWeekNumbers: 'N',
showTasks: 'Y',
syncTasks: 'N',
showCompletedTasks: 'N',
lastUsedSection: 'false',
sendFromEmail: '',
defaultSections: {
user1: '4',
group6: '49'
},
syncPeriodPast: '3',
syncPeriodFuture: '12',
defaultReminders: {
fullDay: [
{
type: 'min',
count: 15
}
],
withTime: [
{
type: 'min',
count: 50
}
]
}
}
}
);
require_once('crest.php');
$result = CRest::call(
'calendar.user.settings.set',
[
'settings' => [
'view' => 'month',
'meetSection' => '4',
'crmSection' => '4',
'showDeclined' => true,
'denyBusyInvitation' => false,
'collapseOffHours' => 'N',
'showWeekNumbers' => 'N',
'showTasks' => 'Y',
'syncTasks' => 'N',
'showCompletedTasks' => 'N',
'lastUsedSection' => 'false',
'sendFromEmail' => '',
'defaultSections' => [
'user1' => '4',
'group6' => '49'
],
'syncPeriodPast' => '3',
'syncPeriodFuture' => '12',
'defaultReminders' => [
'fullDay' => [
[
'type' => 'min',
'count' => 15
]
],
'withTime' => [
[
'type' => 'min',
'count' => 50
]
]
]
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "calendar.user.settings.set", b24.Params{
"settings": b24.Params{
"view": "month",
"meetSection": "4",
"crmSection": "4",
"showDeclined": true,
"denyBusyInvitation": false,
"collapseOffHours": "N",
"showWeekNumbers": "N",
"showTasks": "Y",
"syncTasks": "N",
"showCompletedTasks": "N",
"lastUsedSection": "false",
"sendFromEmail": "",
"defaultSections": b24.Params{
"user1": "4",
"group6": "49",
},
"syncPeriodPast": "3",
"syncPeriodFuture": "12",
"defaultReminders": b24.Params{
"fullDay": []b24.Params{
{
"type": "min",
"count": 15,
},
},
"withTime": []b24.Params{
{
"type": "min",
"count": 50,
},
},
},
},
})
if err != nil {
return fmt.Errorf("calendar.user.settings.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": 1733318565.183275,
"finish": 1733318565.695058,
"duration": 0.5117831230163574,
"processing": 0.29406094551086426,
"date_start": "2024-12-04T13:22:45+00:00",
"date_finish": "2024-12-04T13:22:45+00:00"
}
}
Возвращаемые данные
result
boolean
Возвращает true в случае успешного выполнения
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Не задан обязательный параметр \"settings\" для метода \"calendar.user.settings.set\""
}
| Код | Описание | Значение |
|---|---|---|
| — | Не задан обязательный параметр "settings" для метода "calendar.user.settings.set" | Не передан обязательный параметр settings |

