Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Установить коды доступа для роли landing.role.setAccessCodes». Вы узнаете экспертные методики работы с landing.role.setAccessCodes и научитесь избегать типичных ошибок начинающих разработчиков.
Установить коды доступа для роли landing.role.setAccessCodes
Тут может не хватать некоторых данных — дополним в ближайшее время
- нужны правки под стандарт написания
- не указаны типы параметров
- не указана обязательность параметров
- отсутствуют примеры
- отсутствует ответ в случае успеха
- отсутствует ответ в случае ошибки
Scope: landing | Права на выполнение: администратор
Метод landing.role.setAccessCodes устанавливает для роли коды доступа, для которых будет действовать данная роль (и ее ограничения на сайты). На вход методу передается идентификатор роли и массив кодов доступа. Если массив будет пуст, коды для роли будут сброшены.
Права независимы и могут даваться точечно. Например, пользователь может обладать только правом публикации без возможности любого изменения.
В качестве ключей можно использовать значения:
- SG
— рабочая группа, например SG1 — рабочая группа с идентификатором 2; - U
— пользователь, например U45 — пользователь с идентификатором 45; - DR
— отдел, включая подразделы, например DR23 — раздел с идентификатором 23; - UA — все авторизованные пользователи.
- G
— группа пользователей, например G2 — группа пользователей с идентификатором 2.
Входящие параметры и конфигурация метода
| Параметр | Описание |
|---|---|
idunknown | Идентификатор роли. |
codesunknown | Массив кодов доступа. |
Практические примеры использования в коде
- JS
try
{
const response = await $b24.callMethod(
'landing.role.setAccessCodes',
{
id: 11,
codes: [
'SG3_A', 'G4'
]
}
);
const result = response.getData().result;
console.info(result);
}
catch( error )
{
console.error(error);
}- PHP
try {
$response = $b24Service
->core
->call(
'landing.role.setAccessCodes',
[
'id' => 11,
'codes' => [
'SG3_A', 'G4'
],
]
);
$result = $response
->getResponseData()
->getResult();
echo 'Success: ' . print_r($result, true);
// Нужная вам логика обработки данных
processData($result);
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error setting access codes: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
'landing.role.setAccessCodes',
{
id: 11,
codes: [
'SG3_A', 'G4'
]
},
function(result)
{
if(result.error())
{
console.error(result.error());
}
else
{
console.info(result.data());
}
}
);💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к landing.role.setAccessCodes, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Установить коды доступа для роли landing.role.setAccessCodes».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru