Блог Горошко Андрея Bitrix24 Получить информацию о текущем пользователе user.current

Получить информацию о текущем пользователе user.current

Каждый 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
        }
    }

Возвращаемые данные

Название
тип
Описание
result
object
Корневой элемент ответа, который содержит информацию о пользователе
time
time
Информация о времени выполнения запроса

Обработка ошибок

  • [](./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 и создаю умных ИИ-агентов для автоматизации рутины.

Related Post

Как использовать метод SDK tasks.task.history.list в Битрикс24Как использовать метод SDK tasks.task.history.list в Битрикс24

При разработке и поддержке проектов на платформе 1С-Битрикс критически важно использовать современные стандарты D7 API. В этом руководстве мы детально изучим тему «Как использовать метод SDK tasks.task.history.list в Битрикс24», разберем

Внедрение Битрикс24 для компании по ремонту квартир и отделкеВнедрение Битрикс24 для компании по ремонту квартир и отделке

Профессиональная настройка и внедрение Битрикс24 CRM позволяет систематизировать работу отдела продаж, исключить потерю лидов и автоматизировать ключевые бизнес-процессы компании. Услуга «Внедрение Битрикс24 для компании по ремонту квартир и отделке» обеспечивает

Как использовать метод SDK crm.lead.userfield.add в Битрикс24Как использовать метод SDK crm.lead.userfield.add в Битрикс24

Эффективная интеграция и кастомизация функционала в Битрикс24 часто требует работы на уровне API. Сегодня мы подробно рассмотрим «Как использовать метод SDK crm.lead.userfield.add в Битрикс24». Вы узнаете экспертные методики работы с