PHPackages                             saas-cb/spr-php-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. saas-cb/spr-php-client

ActiveLibrary[API Development](/categories/api)

saas-cb/spr-php-client
======================

PHP 8.4 client for SAAS CB Gateway SPR API

v0.0.2(today)02↑2900%proprietaryPHPPHP ^8.4

Since Jun 22Pushed todayCompare

[ Source](https://github.com/RentCeisy/php-spr-client)[ Packagist](https://packagist.org/packages/saas-cb/spr-php-client)[ RSS](/packages/saas-cb-spr-php-client/feed)WikiDiscussions master Synced today

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

SAAS CB SPR PHP Client
======================

[](#saas-cb-spr-php-client)

PHP 8.4 SDK для взаимодействия с SPR-роутами gateway сервиса SAAS CB.

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

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

- PHP `^8.4`
- Composer

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

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

```
composer require saas-cb/spr-php-client
```

Быстрый старт
-------------

[](#быстрый-старт)

```
use SaasCb\SprClient\Client;
use SaasCb\SprClient\Configuration;

$config = new Configuration('https://gateway.example.com', 'your-api-key');
$client = new Client($config);
```

Проверка доступности (`/ping`)
------------------------------

[](#проверка-доступности-ping)

`ping()` не требует API-ключа:

```
$config = new Configuration('https://gateway.example.com');
$client = new Client($config);

$ping = $client->ping();
if ($ping->isSpr()) {
    echo "Gateway и SPR доступны\n";
}
```

Деревья скоринга
----------------

[](#деревья-скоринга)

```
// Список деревьев
$response = $client->listTrees();
foreach ($response->getData()->getItems() as $tree) {
    echo $tree->getName() . "\n";
}

// Список деревьев с фильтрацией, сортировкой и пагинацией
$filters = [
    'name' => 'test',
    'page' => 1,
    'limit' => 20,
    'sort' => 'name',
    'order' => 'asc',
];
$response = $client->withQueryParameters(array_filter($filters))->listTrees();
$data = $response->getData();
echo "Страница {$data->getPage()} из " . ceil($data->getTotal() / $data->getLimit()) . "\n";

// Получить дерево
$tree = $client->getTree('tree-uuid');

// Создать дерево
$tree = $client->createTree(new CreateTreeRequest(
    name: 'My tree',
    config: ['nodes' => [], 'edges' => []],
));

// Обновить дерево
$tree = $client->updateTree('tree-uuid', new UpdateTreeRequest(name: 'Updated'));

// Удалить дерево
$client->deleteTree('tree-uuid');
```

Запуск скоринга
---------------

[](#запуск-скоринга)

```
use SaasCb\SprClient\Request\EvaluateRequest;

$request = (new EvaluateRequest(customerId: 123, applicationId: 'app-456'))
    ->addContextField('birth_date', '1990-01-01')
    ->addContextField('passport', '1234567890');

$reference = $client->evaluateTree('tree-uuid', $request);
echo $reference->getRunUuid();
```

Статус и результат прогона
--------------------------

[](#статус-и-результат-прогона)

```
$status = $client->getRunStatus('run-uuid');
$result = $client->getRunResult('run-uuid');
```

Список доступных скорингов
--------------------------

[](#список-доступных-скорингов)

```
$response = $client->listScorings();
foreach ($response->getItems() as $scoring) {
    echo $scoring->getCode() . ': ' . $scoring->getName() . "\n";
}

// С фильтром по категории
$response = $client->listScorings('basic');
```

Входные поля дерева
-------------------

[](#входные-поля-дерева)

```
$inputs = $client->getTreeInputs('tree-uuid');
foreach ($inputs as $name => $scoringInput) {
    echo $name . ': ' . $scoringInput->getCode() . "\n";
}
```

Обработка ошибок
----------------

[](#обработка-ошибок)

SDK бросает типизированные исключения:

```
use SaasCb\SprClient\Exception\AuthenticationException;
use SaasCb\SprClient\Exception\NotFoundException;
use SaasCb\SprClient\Exception\ValidationException;
use SaasCb\SprClient\Exception\ServerException;

try {
    $client->getTree('unknown-uuid');
} catch (NotFoundException $e) {
    echo "Не найдено (HTTP {$e->getHttpStatusCode()}): {$e->getMessage()}\n";
} catch (AuthenticationException $e) {
    echo "Ошибка авторизации\n";
} catch (ValidationException $e) {
    echo "Ошибка валидации: {$e->getMessage()}\n";
} catch (ServerException $e) {
    echo "Ошибка сервера: {$e->getMessage()}\n";
}
```

Запуск тестов
-------------

[](#запуск-тестов)

```
composer install
vendor/bin/phpunit
```

Примеры
-------

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

Смотри папку `examples/`:

- `ping.php` — проверка доступности gateway/SPR.
- `list_trees.php` — список деревьев.
- `evaluate.php` — запуск скоринга и polling результата.

Лицензия
--------

[](#лицензия)

Proprietary.

###  Health Score

39

—

LowBetter than 85% of packages

Maintenance100

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

2

Last Release

0d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/cb00d2b82bfb14e487996ab2b303f6c196b14b629a05ba54b1e856856156719b?d=identicon)[RentCeisy](/maintainers/RentCeisy)

---

Top Contributors

[![RentCeisy](https://avatars.githubusercontent.com/u/32933605?v=4)](https://github.com/RentCeisy "RentCeisy (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/saas-cb-spr-php-client/health.svg)

```
[![Health](https://phpackages.com/badges/saas-cb-spr-php-client/health.svg)](https://phpackages.com/packages/saas-cb-spr-php-client)
```

###  Alternatives

[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.4M196](/packages/sulu-sulu)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.4M514](/packages/shopware-core)[bitrix24/b24phpsdk

An official PHP library for the Bitrix24 REST API

10139.4k5](/packages/bitrix24-b24phpsdk)[storyblok/php-management-api-client

Storyblok PHP Client for Management API

1229.6k2](/packages/storyblok-php-management-api-client)

PHPackages © 2026

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