B24 JS SDK - React Demo
See the result in the developer console
Note: This app must be opened inside Bitrix24 as a frame application.
);
}
export default App;
```
Ключевые особенности React:
- **Используйте React-хуки:** инициализируйте B24Frame в useEffect с функцией очистки
- **Используйте Refs:** храните экземпляр B24Frame в ref, чтобы он сохранялся между рендерами
- **Очистка:** всегда вызывайте destroy() при размонтировании компонента, чтобы избежать утечек памяти
- **Окружение:** помните, что B24Frame работает только внутри iframe Bitrix24
> \[!CAUTION]
>
> Объект `B24Hook` предназначен **исключительно для использования на сервере**.
>
> - Вебхук содержит секретный ключ доступа, который **НЕЛЬЗЯ** использовать в клиентском коде (браузер, мобильное приложение).
> - Для клиентской стороны используйте [`B24Frame`]
Для работы с Bitrix24 из автономного серверного приложения используйте объект `B24Hook`.
```ts
import { B24Hook } from '@bitrix24/b24jssdk'
// 1. Получите URL вебхука в Bitrix24:
// - Перейдите в Bitrix24
// - Настройки → Разработчикам → Вебхуки
// - Создайте новый вебхук с необходимыми правами
// - Скопируйте URL в формате: https://your-domain.bitrix24.com/rest/1/your-token/
// 2. Инициализируйте B24Hook
const $b24 = B24Hook.fromWebhookUrl('https://your-domain.bitrix24.com/rest/1/your-token/')
// 3. Используйте методы API
```
> \[!CAUTION]
>
> Объект `B24OAuth` предназначен **исключительно для использования на сервере**.
>
> - B24OAuth содержит секретный ключ доступа, который **НЕЛЬЗЯ** использовать в клиентском коде (браузер, мобильное приложение).
> - Для клиентской стороны используйте [`B24Frame`]
Для работы с Bitrix24 из автономного серверного приложения используйте объект `B24OAuth`.
```ts
import { B24OAuth } from '@bitrix24/b24jssdk'
// 1. Зарегистрируйте приложение в Bitrix24:
// - Перейдите в Bitrix24
// - Настройки → Разработчикам → Приложения
// - Создайте новое приложение
// - Получите Client ID и Client Secret
// 2. Инициализируйте B24OAuth — передайте данные токена и OAuth-учётные данные отдельно.
// Полную форму B24OAuthParams см. на /docs/working-with-the-rest-api/oauth/.
import { EnumAppStatus } from '@bitrix24/b24jssdk'
const $b24 = new B24OAuth(
{
applicationToken: 'current_application_token',
userId: 1,
memberId: 'portal_member_id',
accessToken: 'current_access_token',
refreshToken: 'refresh_token',
expires: 1745997853, // unix timestamp, секунды
expiresIn: 3600,
scope: 'crm,user_brief',
domain: 'your-domain.bitrix24.com',
clientEndpoint: 'https://your-domain.bitrix24.com/rest/',
serverEndpoint: 'https://oauth.bitrix.info/rest/',
status: EnumAppStatus.Free
},
{
clientId: 'your_client_id',
clientSecret: 'your_client_secret'
}
)
// 3. Используйте методы API
// B24OAuth автоматически обновляет токены при их истечении
```
---
# Проект на Node.js
> Руководство по установке Bitrix24 JS SDK в приложениях Node.js.
> \[!WARNING]
>
> Эта страница ещё обновляется. Некоторые данные могут отсутствовать — мы их вскоре дополним.
## Установка в проект Node.js
> \[!NOTE]
>
> **`ESM` — рекомендуемый формат модулей.** `CommonJS` тоже поддерживается — вы можете `require('@bitrix24/b24jssdk')` из CommonJS-проекта (он резолвится в полноценную CJS-сборку с внешними зависимостями — см. note ниже; TypeScript-файлы, запускаемые напрямую через `ts-node` / `tsx`, тоже работают). Для использования через `
```
При необходимости скачайте UMD-версию библиотеки с [unpkg.com](https://unpkg.com/browse/@bitrix24/b24jssdk@latest/dist/){rel=""nofollow""} и добавьте её в проект.
Затем подключите её в HTML-файл:
```html
```
> \[!NOTE]
>
> Бандл `UMD` **инлайнит** свои зависимости (`axios`, `luxon`, `qs-esm`), чтобы работать из одного `