PHPackages                             business-ru/business-online-sdk-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. business-ru/business-online-sdk-php

ActiveLibrary

business-ru/business-online-sdk-php
===================================

SDK для работы с API Бизнес.Ру

1.4.13(4y ago)32.1k↓100%2proprietaryPHPPHP &gt;=7.3

Since Mar 12Pushed 1y ago1 watchersCompare

[ Source](https://github.com/business-ru/business-online-sdk-php)[ Packagist](https://packagist.org/packages/business-ru/business-online-sdk-php)[ Docs](https://online.business.ru/)[ RSS](/packages/business-ru-business-online-sdk-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (3)Versions (21)Used By (0)

Описание API:
-------------

[](#описание-api)

Требования:
-----------

[](#требования)

PHP 7.3 (и выше)

Установка:
----------

[](#установка)

### В консоли с помощью Composer

[](#в-консоли-с-помощью-composer)

1. Установите пакетный менеджер [Composer](https://getcomposer.org/) в папке вашего проекта, если до этого момента он еще не был установлен.
2. В консоли выполните команду

```
composer require business-ru/business-online-sdk-php

```

#### Либо

[](#либо)

2. В файле composer.json своего проекта

Добавьте строку "business-ru/business-online-sdk-php": "\*" в список зависимостей вашего проекта в файле composer.json

```
    "require": {
        "business-ru/business-online-sdk-php": "*"
	}
```

3. Обновите зависимости проекта. В консоли перейдите в каталог, где лежит composer.json, и выполните команду:

```
   composer update
```

Начало работы:
--------------

[](#начало-работы)

Создайте объект для работы с API:

```
	$api = new \bru\api\Client($account, $app_id, $secret, $sleep, $cache, $http);
```

При создании обьекта ему передаются параметры:

- **$account** - Имя аккаунта. Например для работы с API  это **a13344**. Данный параметр является обязательным.
- **$app\_id** - ID интеграции. Представляет собой набор цифр, который выдается при создании интеграции. Данный параметр является обязательным.
- **$secret** - Секретный ключ. Представляет собой набор символов, который выдается при создании интеграции. Длина - 32 символа. Данный параметр является обязательным.
- **$sleep** - При превышении количества запросов включение данной функции даст возможность ожидать сброса лимита и продолжить выполнение запросов к API. true - Включить функцию false - Отключить функцию (По умолчанию) Данный параметр не является обязательным.
- **$cache** - Библиотека использует кеширование для хранения токенов. Если вы хотите чтобы использовался ваш кэш, в качестве параметра нужно передать объект, реализующий интерфейс CacheInterface (PSR-16). По умолчанию библиотека использует встроенный кэш. Данный параметр не является обязательным.
- **$http** - Если вы хотите использовать свой HTTP - клиент для запросов к API, в качестве параметра нужно передать объект, реализующий интерфейс ClientInterface (PSR-18). По умолчанию библиотека использует встроенный HTTP - клиент. Данный параметр не является обязательным.

Запросы к API реализуются путем вызова методов у данного обьекта.

Запросы:
--------

[](#запросы)

Запрос к API может быть выполнен двумя способами:

- с помощью метода **request**
- c помощью метода **requestAll**

### Request($method, $model, $params)

[](#requestmethod-model-params)

##### $method - Метод запроса

[](#method---метод-запроса)

Поддерживаются 4 метода запроса:

- **get** - Запрос на получение записи
- **post** - Запрос на создание записи
- **put** - Запрос на изменение записи
- **delete** - Запрос на удаление записи

Не все модели поддерживают все методы.

Подробнее о методах запроса можно узнать на сайте [документации.](https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228)

##### $model - Модель

[](#model---модель)

Модель - требуется для указания типа данных для работы Все поддерживаемые модели можно узнать на сайте [документации.](https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228)

##### $params - Параметры запроса

[](#params---параметры-запроса)

Параметры запроса нужны для указания конкретного документа, сортировки, условий выборки и т.д. Возможные параметры можно узнать на сайте [документации.](https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228)

### RequestAll($model, $params)

[](#requestallmodel-params)

В отличии от предыдущего метода, данный метод выполняет только **get** запросы, но в ответе можно получить неограниченное количество данных (ограничение запросов в 250 записей не действует). Время выполнения данного метода может занимать длительное время. Если при создании данного объекта был передан параметр $sleepy равный true, то даже при превышении лимита запросов метод будет продолжать работу до тех пор, пока не получит все записи.

##### $model - Модель

[](#model---модель-1)

Модель - требуется для указания типа данных для работы Все поддерживаемые модели можно узнать на сайте [документации.](https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228)

##### $params - Параметры запроса

[](#params---параметры-запроса-1)

Параметры запроса нужны для указания конкретного документа, сортировки, условий выборки и т.д. Возможные параметры можно узнать на сайте [документации.](https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228)

Работа с веб-хуками
-------------------

[](#работа-с-веб-хуками)

Для работы с веб - хуками у созданного обьекта есть специальный метод - **checkNotification()**

При сравбатываниии веб - хука вы можете вызвать этот метод для проверки подлинности уведомления.

Метод возвращает **true** если событие прошло проверку, в противном случае вернет **false**

В случае если вам нужен функционал только проверки подлинности хуков, возможно не создавать обьект, а вызвать статичный метод **Client::check($app\_id, $secret)**

Параметры:

- **$app\_id** - ID интеграции. Представляет собой набор цифр, который выдается при создании интеграции. Данный параметр является обязательным.
- **$secret** - Секретный ключ. Представляет собой набор символов, который выдается при создании интеграции. Длина - 32 символа. Данный параметр является обязательным.

Подробнее о веб - хуках можно узнать на сайте [документации.](https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228)

Уведомления
-----------

[](#уведомления)

Для отправки уведомления пользователям используется метод **sendNotification()**

Метод принимает в качестве аргумента массив с параметрами уведомления, подробнее можно узнать на сайте [документации.](https://api-online.class365.ru/api-polnoe/vvedenie_v_api_biznesru/228)

Логирование
-----------

[](#логирование)

Библиотека использует стандарт **PSR-3** для логгирования. Для включения логирования нужно у созданного ранее класса вызвать метод **setLogger()** и передать в качестве аргумента обьект, реализующий интерфейс

**LoggerInterface** пакета **Psr\\Log**. [Подробнее о PSR-3](https://www.php-fig.org/psr/psr-3/)

Подготовленные запросы
----------------------

[](#подготовленные-запросы)

Если вы хотите самостоятельно делать запросы - библиотека предоставляет возможность получать данные для этого. Для этого есть метод **getPreparedUrl($method, $model, $params)**, где *$method* - метод запроса, *$model* - модель, *$params* - параметры запроса. Результатом работы метода является массив с ключом **url** - URL - адрес для выполенения запроса и **data** - данные, которые должны быть переданы в теле запроса.

### Примеры

[](#примеры)

```
//Создаем обьект для работы с API сайта https://a13344.business.ru
$api = new Client('a13344', 2134124, 'CWZf963mlm0srCKXu8LPepSq69uEv6Hf', true);

//Устанавливаем свой логгер
$api->setLogger($myLogger);

//Удалить задачу с ID 224
$api->request('delete', 'tasks', ['id' => 224]);

//Создать задачу c описанием 'Задача создана с помощью API'
$api->request('post', 'tasks', ['task_type_id' => 2, 'description' => 'Задача создана с помощью API', 'author_employee_id' => 44224]);

//Вернет все задачи с типом 2
$api->requestAll('tasks', ['task_type_id' => 2]);

//Вернет все товары
$api->requestAll('goods');

//Отправить пользователя 12345 уведомление
$api->sendNotification(['employee_ids' => [12345], 'header' => 'Это заголовок уведомления', 'message' => 'Это текст сообщения']);
```

### Ответ

[](#ответ)

В массиве ответа

- ключ **status** - статус запроса
- ключ **result** - ответ на запрос

### Примечания

[](#примечания)

- Для работы библиотеки требуется права на чтение и запись в директории библиотеки.
- При выполнении запроса **requestAll** нужно понимать, что если например запросить все товары, а товаров бывает очень много, получение ответа может занять продолжительное время.
- При включении опции **sleep** библиотека будет ждать до 300 секунд, пока не получит разрешения продолжить запрос. Если в конфигурации интерпретатора **php.ini** параметр **max\_execution\_time** указано значение меньше 300, то время ожиидания будет снижено до этого значения.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~73 days

Recently: every ~327 days

Total

20

Last Release

500d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3fb194fc275f47581506f0de80d70e6ce5f2faa8d07ac5dbc47a6d1abc3d60d1?d=identicon)[IvanGrin](/maintainers/IvanGrin)

---

Top Contributors

[![iburangulov](https://avatars.githubusercontent.com/u/71173936?v=4)](https://github.com/iburangulov "iburangulov (36 commits)")[![business-ru](https://avatars.githubusercontent.com/u/59245376?v=4)](https://github.com/business-ru "business-ru (4 commits)")

### Embed Badge

![Health badge](/badges/business-ru-business-online-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/business-ru-business-online-sdk-php/health.svg)](https://phpackages.com/packages/business-ru-business-online-sdk-php)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k18.5M1.6k](/packages/cakephp-cakephp)[algolia/algoliasearch-client-php

API powering the features of Algolia.

69333.0M114](/packages/algolia-algoliasearch-client-php)[civicrm/civicrm-core

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

728272.9k20](/packages/civicrm-civicrm-core)[flow-php/flow

PHP ETL - Extract Transform Load - Data processing framework

81733.7k](/packages/flow-php-flow)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)[neos/flow-development-collection

Flow packages in a joined repository for pull requests.

144179.3k3](/packages/neos-flow-development-collection)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
