Событие при создании системного пользователя приложения ONAPPUSERREADY
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
базовыйКто может подписаться: любой пользователь
Событие ONAPPUSERREADY вызывается после успешного завершения установки приложения, когда Битрикс24 создал или повторно активировал системного пользователя приложения. Локальным приложениям событие не отправляется.
Обработчик переносится вместе с конфигурацией приложения.
Оба события, ONAPPUSERREADY и ONAPPINSTALL, вызываются при завершении установки, в том числе после вызова installFinish. Отличий два: обработчик ONAPPUSERREADY регистрируется автоматически для любого приложения с URL установки, а в data события передается долгоживущая авторизация системного пользователя. Если приложению нужна работа без участия сотрудника, опирайтесь на событие ONAPPUSERREADY.
Что получает обработчик
Данные передаются в виде POST-запроса
{
"event": "ONAPPUSERREADY",
"event_handler_id": "17",
"data": {
"access_token": "s1a2b3c4d5e6f70890abcdef1234567890abcd",
"refresh_token": "r1a2b3c4d5e6f70890abcdef1234567890abcd",
"expires_in": "3600",
"scope": "crm,user,task",
"domain": "oauth.bitrix24.tech",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"member_id": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
"user_id": "512",
"client_id": "app.573ad8a0346747.09223434",
"status": "S",
"date_finish": "1767139200",
"LANGUAGE_ID": "ru"
},
"ts": "1756890123",
"auth": {
"access_token": "u9z8y7x6w5v4u3t2s1r0q9p8o7n6m5l4",
"refresh_token": "q9z8y7x6w5v4u3t2s1r0q9p8o7n6m5l4",
"expires_in": "3600",
"scope": "crm,user,task",
"domain": "some-domain.bitrix24.ru",
"server_endpoint": "https://oauth.bitrix24.tech/rest/",
"client_endpoint": "https://some-domain.bitrix24.ru/rest/",
"member_id": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
"user_id": "1",
"status": "S",
"application_token": "0f1e2d3c4b5a69788796a5b4c3d2e1f0"
}
}
Параметры запроса
Обязательные параметры отмечены *
|
Название |
Описание |
|
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* |
Адрес сервера авторизации для обновления токена |
|
client_endpoint* |
Общий путь для вызовов методов API Битрикс24 |
|
member_id* |
Уникальный идентификатор Битрикс24 |
|
user_id* |
Идентификатор сотрудника, который установил приложение |
|
status |
Статус приложения. Возможные значения:
|
|
application_token* |
Токен приложения. Сравните его с токеном, сохраненным при установке, чтобы убедиться, что запрос пришел из Битрикс24. Подробнее — в статье Безопасность в обработчиках |
Как обработать событие
- Проверьте
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'],
);