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 today

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 79% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity56

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

449d 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.2M1.4k](/packages/cakephp-cakephp)[civicrm/civicrm-core

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

718267.0k10](/packages/civicrm-civicrm-core)[neos/flow

Flow Application Framework

862.0M398](/packages/neos-flow)[wtfzdotnet/php-tmdb-api

PHP wrapper for TMDB (TheMovieDatabase) API v3. Supports two types of approaches, one modelled with repositories, models and factories. And the other by simple array access to RAW data from The Movie Database.

4242.9k](/packages/wtfzdotnet-php-tmdb-api)[scoutapp/scout-apm-php

Scout Application Performance Monitoring Agent - https://scoutapm.com

17871.0k5](/packages/scoutapp-scout-apm-php)

PHPackages © 2026

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