Set User Calendar Settings calendar.user.settings.set
Scope:
calendarWho can execute the method: any user
This method sets user calendar settings for the current user.
Method Parameters
Required parameters are marked with *
|
Name |
Description |
|
settings* |
An object with values for user calendar settings |
Parameter settings
|
view |
Default view for the calendar. Possible values:
|
|
meetSection |
Calendar for invitations |
|
crmSection |
Calendar for CRM |
|
showDeclined |
Show events that the user declined to participate in |
|
denyBusyInvitation |
Prevent inviting to an event if the time is busy |
|
collapseOffHours |
Hide non-working hours in the calendar in weekly and daily views. Possible values:
|
|
showWeekNumbers |
Show week numbers. Possible values:
|
|
showTasks |
Display tasks in the calendar. Possible values:
|
|
syncTasks |
Synchronize task calendar. Possible values:
|
|
showCompletedTasks |
Display completed tasks. Possible values:
|
|
lastUsedSection |
Identifier of the calendar used when creating events if the calendar identifier is not provided in the parameters. Default value — |
|
sendFromEmail |
E-mail for sending mail invitations |
|
defaultSections |
Settings for preset calendars. The key of the settings object can be:
The value of the object is the calendar identifier |
|
syncPeriodPast |
Number of months for synchronization in the past period |
|
syncPeriodFuture |
Number of months for synchronization in the future period |
|
defaultReminders |
An object with standard event reminder settings |
Object defaultReminders
|
Name |
Description |
|
fullDay |
Array of standard reminder settings for all-day events |
|
withTime |
Array of standard reminder settings for timed events |
Reminder settings object
|
Name |
Description |
|
type |
Time type of reminder. Possible values:
|
|
count |
Numeric value of the time interval |
Code Examples
How to Use Examples in Documentation
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
try
{
const response = await $b24.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
}
]
}
}
}
);
const result = response.getData().result;
console.log('Result:', result);
// Your required data processing logic
processResult(result);
}
catch( error )
{
console.error('Error:', 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);
// Your required data processing logic
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>';
Response Handling
HTTP status: 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"
}
}
Returned Data
|
Name |
Description |
|
result |
Returns |
Error Handling
HTTP status: 400
{
"error": "",
"error_description": "The required parameter "settings" for the method "calendar.user.settings.set" is not set"
}
|
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 |
Error Message |
Description |
|
Empty string |
The required parameter "settings" for the method "calendar.user.settings.set" is not set |
The required parameter |
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
- Calendar: Overview of Methods
- Get main calendar settings calendar.settings.get
- Get User Calendar Settings calendar.user.settings.get