Событие создания системного пользователя приложения ONAPPUSERREADY
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
базовыйКто может подписаться: обработчик приложения регистрируется автоматически
Событие ONAPPUSERREADY вызывается после успешного завершения установки приложения, когда Битрикс24 создал или повторно активировал системного пользователя приложения.
Обработчик события регистрируется автоматически на URL обработчика приложения, который используется для установки. Обработчик переносится вместе с конфигурацией приложения.
В отличие от ONAPPINSTALL, событие ONAPPUSERREADY приходит при немедленном и отложенном завершении установки приложения и передает долгоживущую авторизацию системного пользователя. Если приложению нужна работа без участия сотрудника, опирайтесь на событие ONAPPUSERREADY.
Что получает обработчик
Данные передаются POST-запросом в формате form-encoded
{
"event": "ONAPPUSERREADY",
"event_handler_id": "17",
"data": {
"access_token": "s1a2b3c4d5e6f70890abcdef1234567890abcd",
"refresh_token": "r1a2b3c4d5e6f70890abcdef1234567890abcd",
"expires_in": "3600",
"scope": "crm,user,task",
"domain": "oauth.bitrix.info",
"server_endpoint": "https://oauth.bitrix.info/rest/",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"member_id": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
"user_id": "512",
"client_id": "app.573ad8a0346747.09223434",
"status": "L",
"LANGUAGE_ID": "ru"
},
"ts": "1756890123",
"auth": {
"access_token": "u9z8y7x6w5v4u3t2s1r0q9p8o7n6m5l4",
"refresh_token": "q9z8y7x6w5v4u3t2s1r0q9p8o7n6m5l4",
"expires_in": "3600",
"scope": "crm,user,task",
"domain": "oauth.bitrix.info",
"server_endpoint": "https://oauth.bitrix.info/rest/",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"member_id": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
"user_id": "1",
"status": "L",
"application_token": "0f1e2d3c4b5a69788796a5b4c3d2e1f0"
}
}
В data передается авторизация системного пользователя, а в auth — авторизация сотрудника, который установил приложение, и application_token для проверки события.
Параметры запроса
Обязательные параметры отмечены *
|
Название |
Описание |
|
event* |
Символьный код события. В данном случае — |
|
event_handler_id |
Идентификатор обработчика события |
|
data* |
Объект с параметрами авторизации системного пользователя. Структура описана ниже |
|
ts* |
Дата и время отправки события из очереди событий |
|
auth* |
Объект с параметрами авторизации и данными о Битрикс24, на котором произошло событие. Структура описана ниже |
Параметр data
|
Название |
Описание |
|
access_token* |
Токен доступа системного пользователя |
|
refresh_token* |
Токен для продления авторизации системного пользователя |
|
expires_in* |
Время жизни токена доступа в секундах |
|
scope* |
Список прав, выданных приложению |
|
domain* |
Домен сервера авторизации |
|
server_endpoint* |
Адрес сервера авторизации для обновления токенов OAuth 2.0 |
|
client_endpoint* |
Общий путь для вызовов методов API Битрикс24 |
|
member_id* |
Идентификатор Битрикс24 |
|
user_id* |
Идентификатор системного пользователя в Битрикс24 |
|
client_id* |
Идентификатор приложения |
|
status* |
Статус приложения. Возможные значения:
|
|
LANGUAGE_ID* |
Язык Битрикс24 на момент установки приложения |
|
date_finish |
Дата и время окончания подписки, если они известны Битрикс24 |
Поле APP_ID в data не передается. Приложение определяет себя по client_id и member_id.
Параметр auth
|
Название |
Описание |
|
access_token* |
Токен для обращения к API |
|
refresh_token* |
Токен для продления авторизации OAuth 2.0 |
|
expires_in* |
Время жизни токена доступа в секундах |
|
scope* |
Список прав, выданных приложению |
|
domain* |
Адрес Битрикс24, на котором произошло событие |
|
server_endpoint* |
Адрес сервера авторизации Битрикс24, необходимый для обновления токенов OAuth 2.0 |
|
client_endpoint* |
Общий путь для вызовов методов API Битрикс24 |
|
member_id* |
Идентификатор Битрикс24, на котором произошло событие |
|
user_id* |
Идентификатор сотрудника, который установил приложение |
|
status* |
Статус приложения. Возможные значения:
|
|
application_token* |
Токен для безопасной обработки событий |
Как обработать событие
- Проверьте
auth.application_token - Сохраните
data.refresh_token,data.member_idиdata.client_endpoint - Обновляйте токен доступа обычным OAuth-обновлением по сохраненному
refresh_token - Выполняйте фоновые вызовы методов API Битрикс24 под авторизацией системного пользователя
Пример обработчика:
$data = $_POST['data'] ?? [];
$auth = $_POST['auth'] ?? [];
if (($auth['application_token'] ?? '') !== $storedApplicationToken) {
http_response_code(403);
exit;
}
saveSystemUserAuth(
memberId: $data['member_id'],
domain: $data['client_endpoint'],
userId: (int)$data['user_id'],
accessToken: $data['access_token'],
refreshToken: $data['refresh_token'],
expiresIn: (int)$data['expires_in'],
);