PHPackages                             izucken/bitrix24-rest-client - 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. [API Development](/categories/api)
4. /
5. izucken/bitrix24-rest-client

ActiveLibrary[API Development](/categories/api)

izucken/bitrix24-rest-client
============================

Client package for Bitrix24 REST API with added validation and other features

1.2.9(6y ago)49331MITPHPPHP ^7.0

Since Nov 8Pushed 5y ago1 watchersCompare

[ Source](https://github.com/iZucken/bitrix24-rest-client)[ Packagist](https://packagist.org/packages/izucken/bitrix24-rest-client)[ RSS](/packages/izucken-bitrix24-rest-client/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (3)Versions (21)Used By (1)

Bitrix24 REST API Client Classes
--------------------------------

[](#bitrix24-rest-api-client-classes)

#### Decisions

[](#decisions)

It was decided for this project to forfeit server-side API batching functionality.

#### Supported functionality

[](#supported-functionality)

All of the functionality is supported through bitrix\\rest\\client\\Bitrix24 interface. Existing implementations include web hook client and oauth self-authorizing client, as well as some utility decorators.

These are generic wrappers, so you still need to know all of the methods and their parameters from the original documentation at this point.

Then there are bitrix\\endpoint\\\* classes which wrap the clients to provide additional convenience.

#### Usage

[](#usage)

```
$bitrixClient = new \bitrix\rest\client\OauthAutoLogin(
    $config['bitrix']['uri'],
    new \bitrix\rest\OauthFullCredentials(
        $config['bitrix']['id'],
        $config['bitrix']['secret'],
        $config['bitrix']['user'],
        $config['bitrix']['pass']
    ),
    new \bitrix\storage\File(__DIR__.'/bitrix.json'),
    new \Psr\Log\NullLogger()
);
$this->bitrixClient->call('app.info');

```

#### Known caveats

[](#known-caveats)

- Documented methods crm.\*.details.\* are documented but not accessible.
- In some cases API converts an array to TRUE if it expects a boolean.
- Some field types, like multiple-choice integer field, in some cases may be equal to `false` when nothing is chosen, but this library won't allow you to provide boolean value. In these cases, such values also cannot be unset by just providing an empty array, false, null, or any combination of them.
- Even if it is not specified, fields having regex rule are considered 'required' implicitly
- USERFIELD REGEX RULES ARE NOT CHECKED FOR VALIDITY, INVALID REGEXES ALWAYS PASS VALIDATION

#### Hints

[](#hints)

- To delete particular multi-field value object, pass id and an empty string or null as its value.

#### Documentation bits

[](#documentation-bits)

##### Update methods

[](#update-methods)

###### Multi-fields ( crm\_multifield )

[](#multi-fields--crm_multifield-)

If ID is not specified in a multi-field value, a new value will be created. If non-existent ID is specified, the value will be ignored.

##### Generic list methods

[](#generic-list-methods)

Usable in list parameters 'fieldName's depend on particular entity. There can be some undocumented derivative fields available for filtering like `HAS_*FIELD*`. Generic lists are always paginated by 50 items.

- Based on docs, it is possible for particular list to only accept part of list parameters
- It is possible for fields in list parameters to be ignored arbitrarily
- It is possible for particular list methods to have required filter fields

###### List method parameters:

[](#list-method-parameters)

These parameters are wrapped inside GenericListFilter class

`'ORDER' => [ ... [ fieldName => 'ASC' | 'DESC' ] ]`

Pretty straight forward.

`'SELECT' => [ ... fieldName ]`

Defines what to include in list results. 'ID' or any other identity is always selected.

Some special options:

- `'*'` - all normal non-multiple fields
- `'UF_*'` - all user fields

`'start' => int`

Offset given in a previous list response to continue from. Must be a multiple of 50.

Some endpoints also offer 'navigation' parameter which seemingly does the same???

`'FILTER' => [ ... [ filterType.fieldName => filterValue ] ]`

Possible values for 'filterType':

`'='` - equals (appears to be default)

`'!'` - not equals

`''` `'='` - comparison, works on strings

`'%'` - makes value a wildcard like `'%value%'`

Use array in 'filterValue' to simulate 'IN' condition.

Some lists appear to support '%' in 'fieldValue', thus enabling custom wildcards, this shall be clearly stated by a particular entity or its list method.

###### List response:

[](#list-response)

Generally consists of fields:

`'result'` - actual filter result set, generally up to 50 results for paged lists

`'total'` - total amount of possible filtered results

`'next'` - optional field for paged lists, to be used in 'START' filter parameter

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 50% 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 ~5 days

Recently: every ~16 days

Total

20

Last Release

2272d ago

Major Versions

0.1.1 → 1.0.02019-11-11

PHP version history (2 changes)0.0.0PHP ^7.2

1.1.2PHP ^7.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/38d59b416e874a2227da7399bd274d9326a00a269a0ce3dddcf37637b39e5443?d=identicon)[iZucken](/maintainers/iZucken)

---

Top Contributors

[![izucken](https://avatars.githubusercontent.com/u/10879740?v=4)](https://github.com/izucken "izucken (2 commits)")[![uc-itcom](https://avatars.githubusercontent.com/u/21470696?v=4)](https://github.com/uc-itcom "uc-itcom (2 commits)")

### Embed Badge

![Health badge](/badges/izucken-bitrix24-rest-client/health.svg)

```
[![Health](https://phpackages.com/badges/izucken-bitrix24-rest-client/health.svg)](https://phpackages.com/packages/izucken-bitrix24-rest-client)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M647](/packages/sylius-sylius)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[wheelpros/fitment-platform-api

Magento 2 (Open Source)

12.1k1.2k](/packages/wheelpros-fitment-platform-api)[alexacrm/dynamics-webapi-toolkit

Web API toolkit for Microsoft Dynamics 365 and Dynamics CRM

81324.1k1](/packages/alexacrm-dynamics-webapi-toolkit)[commercetools/commercetools-sdk

The official PHP SDK for the commercetools Composable Commerce APIs

19281.5k](/packages/commercetools-commercetools-sdk)[keboola/storage-api-client

Keboola Storage API PHP Client

10387.5k25](/packages/keboola-storage-api-client)

PHPackages © 2026

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