Каждый PHP-разработчик, работающий с экосистемой Bitrix Framework, должен глубоко понимать работу её ключевых компонентов. В этой статье мы проведем подробный аудит темы «Получить информацию о текущем пользователе user.current», проанализируем лучшие практики и покажем, как правильно использовать битрикс в реальных задачах.
Получить информацию о текущем пользователе user.current
> Scope: user, user_brief, user_basic
>
> Кто может выполнять метод: любой пользователь
Метод user.current получает информации о текущем пользователе.
Перечень полей пользователей Битрикс24, который будет получен в результате выполнения метода, зависит от скоупа приложения/вебхука. Подробности о доступе к данным пользователей можно узнать в статье.
Метод параметров не имеет. Однако, сделав REST-запрос с использованием данных из $_REQUEST к домену DOMAIN и добавив AUTH_ID к запросу для доступа к Битрикс24, можно узнать какой пользователь открыл страницу в контексте Битрикс24.
Примеры кода
- cURL (Webhook)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webbhook_here**/user.current- cURL (OAuth)
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{}' \
https://**put_your_bitrix24_address**/rest/user.current- JS
try
{
const response = await $b24.callMethod(
"user.current",
{}
);
const result = response.getData().result;
console.dir(result);
}
catch( error )
{
console.error('Error:', error);
}- PHP
try {
$response = $b24Service
->core
->call(
'user.current',
[]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
} else {
echo 'Current user data: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting current user data: ' . $e->getMessage();
}- BX24.js
BX24.callMethod(
"user.current",
{},
function(result)
{
if(result.error())
console.error(result.error());
else
console.dir(result.data());
}
);- PHP CRest
require_once('crest.php');
$result = CRest::call(
'user.current',
[]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';Обработка ответа
HTTP-статус: 200
{
"result":{
"ID":"3",
"ACTIVE":true,
"NAME":"Иван",
"LAST_NAME":"Иванов",
"EMAIL":"test@gmail.com",
"LAST_LOGIN":"2024-07-23T08:07:26+00:00",
"DATE_REGISTER":"2024-07-22T00:00:00+00:00",
"IS_ONLINE":"Y",
"LAST_ACTIVITY_DATE":"2024-07-23 08:08:50",
"PERSONAL_GENDER":"",
"PERSONAL_BIRTHDAY":"",
"WORK_POSITION":"",
"UF_EMPLOYMENT_DATE":"",
"UF_DEPARTMENT":[1]
},
"time":{
"start":1721722262.960948,
"finish":1721722262.985244,
"duration":0.024296045303344727,
"processing":0.0012989044189453125,
"date_start":"2024-07-23T08:11:02+00:00",
"date_finish":"2024-07-23T08:11:02+00:00",
"operating":0
}
}Возвращаемые данные
Названиетип | Описание |
|---|---|
resultobject | Корневой элемент ответа, который содержит информацию о пользователе |
timetime | Информация о времени выполнения запроса |
Обработка ошибок
- [](./user-add)
- [](./user-update)
- [](./user-get)
- [](./user-search)
- [](./user-fields)
- [](../../tutorials/crm/how-to-get-lists/get-activity-list-by-deals)
[ключ_текущем]: Тот, чей токен вы использовали при вызове REST. Если вы используете сохраненный админский токен, то выведется администратор. Если используете токен, который приходит в POST-запросе во фрейм приложения, то будет пользователь, который зашел в приложение.
💡 Экспертное мнение и рекомендации
Советы эксперта по интеграции:
- Всегда используйте кэширование при частых запросах к битрикс, чтобы разгрузить базу данных.
- Соблюдайте стандарты PSR при написании обработчиков для «Получить информацию о текущем пользователе user.current».
- Регулярно проводите аудит производительности системы с помощью встроенного монитора 1С-Битрикс.
Похожая задача в бизнесе?
Помогу автоматизировать процессы и внедрить ИИ
Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.
или на почту: gorandvas@yandex.ru