Контекст API
Контекст API хранит данные текущего запроса: параметры, роут и сведения об авторизованном пользователе. Контроллеры и обработчики событий используют один объект контекста.
Получение контекста
use Native\Api\Context;
$context = Context::getCurrent();Данные запроса
| Метод | Результат |
|---|---|
| getRequestId() | Идентификатор запроса |
| getRequestMethod() | HTTP-метод |
| isCli() | true, если модуль выполняется через PHP CLI |
| getParams() | Объединённые параметры адреса, строки запроса и тела |
| getRoute() | Текущий роут; до его выбора — null |
| getAuth() | Данные авторизации, включая User ID; без авторизации — null |
Используйте getRequestId(), чтобы найти запрос в истории.
Этот идентификатор связывает основную запись, входящие и исходящие данные и каталог файловых журналов.
Метод getRequestStatus() возвращает PROCESSED или REJECTED:
статус отражает прохождение проверки лимита.
Выполнение в CLI
$context->isCli() позволяет определить запуск через командную строку.
В этом режиме обработчики onAfterResponse выполняются сразу после отправки ответа;
их результат не меняет уже отправленный ответ.
Пользователь
После авторизации API контекст содержит ID пользователя Битрикса, от имени которого выполняется запрос:
$userId = $context->getAuth()?->getUserId();Без авторизации $userId равен null. Права пользователя на запрашиваемые данные проверяет контроллер.
Настройки роута
В контроллере полная конфигурация роута, включая пользовательские настройки, доступна через:
$config = $context->getRoute()
->getConfig()
->toArray();IP-списки выбранного роута можно получить без чтения полного конфига:
$config = $context->getRoute()?->getConfig();
$whitelist = $config?->getSecurityIpWhitelist() ?? [];
$blacklist = $config?->getSecurityIpBlacklist() ?? [];Назначение списков описано в безопасности роута.
События
В обработчики событий контекст передаётся в параметре apiContext. Метод setParams() позволяет изменить параметры запроса.