# bitrix24-library

> Promise-wrapper for JavaScript REST API Bitrix24 and a set of new methods

Latest version **1.0.0** (published 2025-05-03) · GPL license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install bitrix24-library
pnpm add bitrix24-library
yarn add bitrix24-library
bun add bitrix24-library
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2025-05-03 |
| First published | 2023-07-31 |
| Weekly downloads | 0 |
| License | GPL |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 74.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Валентин |
| Maintainers | vdistortion |
| Keywords | api, rest, promises, typescript, bitrix24, bx24 |

## Links

- npm: https://www.npmjs.com/package/bitrix24-library
- Repository: https://github.com/vdistortion/bitrix24-library
- Homepage: https://vdistortion.github.io/bitrix24-library/
- Issues: https://github.com/vdistortion/bitrix24-library/issues
- npm.io page: https://npm.io/package/bitrix24-library

## Dependencies (1)

- [is-mobile](https://npm.io/package/is-mobile.md) ^5.0.0

## Alternatives

- [launchdarkly-js-client-sdk](https://npm.io/package/launchdarkly-js-client-sdk.md) — 2.5M weekly downloads
- [@elastic/elasticsearch](https://npm.io/package/@elastic/elasticsearch.md) — 2.1M weekly downloads
- [@c8y/client](https://npm.io/package/@c8y/client.md) — 15.3K weekly downloads
- [@signaldb/maverickjs](https://npm.io/package/@signaldb/maverickjs.md) — 1.7K weekly downloads
- [@bbc/http-transport-cache](https://npm.io/package/@bbc/http-transport-cache.md) — 1.2K weekly downloads

## Recent versions

- 1.0.0 (latest) — 2025-05-03
- 0.1.4 — 2024-12-07
- 0.1.3 — 2024-11-07
- 0.1.2 — 2024-09-14
- 0.1.0 — 2024-05-29
- 0.0.3 — 2024-05-26
- 0.0.2 — 2024-01-31
- 0.0.1 — 2023-07-31

## README

# bitrix24-library

[![NPM Version](https://img.shields.io/npm/v/bitrix24-library?style=flat&logo=npm&label=version&color=cb3837)](https://www.npmjs.com/package/bitrix24-library)
[![NPM Downloads](https://img.shields.io/npm/dw/bitrix24-library?style=flat&logo=npm&color=cb3837)](https://www.npmjs.com/package/bitrix24-library)
[![GitHub repo size](https://img.shields.io/github/repo-size/vdistortion/bitrix24-library?style=flat&logo=github)](https://github.com/vdistortion/bitrix24-library)
[![GitHub Repo stars](https://img.shields.io/github/stars/vdistortion/bitrix24-library?style=flat&logo=github)](https://github.com/vdistortion/bitrix24-library)
[![GitHub Created At](https://img.shields.io/github/created-at/vdistortion/bitrix24-library?style=flat&logo=github)](https://github.com/vdistortion/bitrix24-library)

[![bitrix24-library](docs/bg.jpg)](https://vdistortion.github.io/bitrix24-library/)

Promise-обёртка для работы с JavaScript REST API Bitrix24 и набор новых методов

## Установка и подключение

```sh
npm i -S bitrix24-library@latest
```

```js
import { Bitrix24 } from 'bitrix24-library';

Bitrix24().then((BX24) => {
  console.log(BX24.getDomain());

  const RestCall = BX24.createBatch();
  RestCall.batch({
    info: ['app.info'],
    profile: ['profile'],
  }).then(console.info);
});
```

## Подключение и вызов методов на примере Vue.js

```js
// main.js
import { createApp } from 'vue';
import { Bitrix24 } from 'bitrix24-library';
import App from './App.vue';

Bitrix24().then((BX24) => {
  createApp(App).provide('$BX24', BX24).mount('#app');
});
```

```html
<!-- Composition API -->
<script setup lang="ts">
  import { inject } from 'vue';
  import type { IBitrix24Library } from 'bitrix24-library';

  const BX24 = inject<IBitrix24Library>('$BX24')!;

  console.info(BX24.getDomain());

  const RestCall = BX24.createBatch();
  RestCall.batch({
    info: ['app.info'],
    profile: ['profile'],
  }).then(console.info);
</script>

<!-- Options API -->
<script lang="ts">
  export default {
    mounted() {
      console.info(this.$BX24.getDomain());

      const RestCall = this.$BX24.createBatch();
      RestCall.batch({
        info: ['app.info'],
        profile: ['profile'],
      }).then(console.info);
    },
    inject: ['$BX24'],
  };
</script>
```

## API

> [Методы BX24](BX24.md)

### Асинхронные методы

- `.initAsync()` — Добавляет в список обработчик события "библиотека готова к работе"

- `.installAsync()` — Возможность установить обработчик события "приложение запускается первый раз для текущего пользователя"

- `.refreshAuthAsync()` — Принудительное обновление ключа авторизации

- `.callBatchAsync(calls[, bHaltOnError])` — Пакетное выполнение запросов по несколько элементов (в настоящий момент не более, чем по 50)

- `.selectUsersAsync([multiple])` — Показать стандартный диалог выбора пользователей

- `.selectAccessAsync([disablesValues])` — Показать стандартный диалог выбора прав доступа

- `.selectCRMAsync([config])` — Показать стандартный диалог выбора сущности CRM

- `.resizeWindowAsync(width, height)` — Изменяет размер фрейма с приложением

- `.fitWindowAsync()` — Устанавливает размер фрейма с приложением в соответствии с размерами содержимого фрейма

- `.setTitleAsync(title)` — Устанавливает заголовок страницы

- `.readyAsync()` — Устанавливает обработчик события "DOM-структура документа готова к работе"

- `.loadScriptAsync(src)` — Загружает и выполняет клиентский js-файл

- `.openApplicationAsync([[params], settings])` — Метод открывает приложение

- `.scrollParentWindowAsync(scroll)` — Метод прокручивает родительское окно

- `.openPathAsync(path)` — Метод открывает указанный путь внутри портала в слайдере

### Новые методы

- `.createBatch([handlerList])` — Создание пакетного выполнения запросов, надстройка над `.callBatch()` ([подробнее](BATCH.md))

- `.isMobile([opts])` — [is-mobile](https://www.npmjs.com/package/is-mobile)

## Ссылки

- [vue-bitrix24](https://www.npmjs.com/package/vue-bitrix24)
- [react-bitrix24](https://www.npmjs.com/package/react-bitrix24)
- [bitrix24-create-app](https://www.npmjs.com/package/bitrix24-create-app)
- [bitrix24-stickerpack-app](https://github.com/vdistortion/bitrix24-stickerpack-app)

<details>
  <summary>:imp:</summary>
  Если вам не повезло работать с битриксом, надеюсь данная библиотека хоть немного облегчит разработку ¯\_(ツ)_/¯
</details>

---
_Source: https://npm.io/package/bitrix24-library · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
