PHPackages                             kirin-bear/uiscom-api-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. kirin-bear/uiscom-api-client

ActiveLibrary

kirin-bear/uiscom-api-client
============================

PHP client for UIS Api

v1.8.0(3y ago)0881↓50%PHPPHP &gt;=7.1

Since Apr 18Pushed 2y agoCompare

[ Source](https://github.com/kirin-bear/uiscom-api-client)[ Packagist](https://packagist.org/packages/kirin-bear/uiscom-api-client)[ RSS](/packages/kirin-bear-uiscom-api-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (4)Versions (2)Used By (0)

#### Пример использования:

[](#пример-использования)

```
use \CBH\UiscomClient\Configuration\Configuration;
use \CBH\UiscomClient\ApiFactory;

...

$httpClient = new GuzzleHttp\Client();
$config = new Configuration($httpClient);

// Если необходимо логировать работу клиента — можно передать объект,
// реализующий интерфейс Psr\Log\LoggerInterface
$logger = new Monolog\Logger('log_channel');
$config->setLogger($logger);

// Создаем api клиент
$apiClient = ApiFactory::makeApiClientWithApiKey('api_key', $config);

...

// Пример обращения к методу start.simple_call сервиса CallApi
// https://comagic.github.io/call-api/#start.simple_call
try {
    $call = $apiClient->callApi()->getSimpleCall();
    $call->setOperatorFirst();
    $call->setContactPhone('71111111111');
    $call->setOperatorPhone('72222222222');
    ...
    $callSessionEntity = $call->execute();
} catch (CBH\UiscomClient\Exceptions\BaseException $e) {
    ...
}
```

##### Можно передать параметры через конструктор

[](#можно-передать-параметры-через-конструктор)

```
$params = [
    'first_call' => 'operator',
    'contact'    => '71111111111',
    'operator'   => '72222222222',
    ...
];
try {
    $call = $apiClient->callApi()->getSimpleCall($params);
    $callSessionEntity = $call->execute();
} catch (CBH\UiscomClient\Exceptions\BaseException $e) {
    ...
}
```

##### Пример отчета по звонкам

[](#пример-отчета-по-звонкам)

```
$config = new \CBH\UiscomClient\Configuration\Configuration(new GuzzleHttp\Client());
$apiClient = \CBH\UiscomClient\ApiFactory::makeApiClientWithApiKey('api_key', $config);

try {
    $callsReport = $apiClient->dataApi()->getCallsReport();

    $callsReport->setPaginator(new \CBH\UiscomClient\Services\DataApi\Pagination\Paginator(20));

    $callsReport->setFields([
        \CBH\UiscomClient\Services\DataApi\Fields\Call::CALL_SESSION_ID,
        \CBH\UiscomClient\Services\DataApi\Fields\Call::CALL_API_EXTERNAL_ID,
    ]);

    $callsReport->setDateFrom(new DateTime('2020-04-20 00:00:00'));
    $callsReport->setDateTill(new DateTime('2020-04-20 23:59:00'));

    $filter = new \CBH\UiscomClient\Services\DataApi\Filters\FilterWrapper(
        \CBH\UiscomClient\Services\DataApi\Filters\FilterWrapper::AND_COND
    );

    $filter->addFilter(new \CBH\UiscomClient\Services\DataApi\Filters\Filter(
        \CBH\UiscomClient\Services\DataApi\Fields\Call::SOURCE,
        \CBH\UiscomClient\Services\DataApi\Filters\Comparison::EQUAL,
        \CBH\UiscomClient\Constants::CALL_SOURCE_CALL_API
    ));
    $filter->addFilter(new \CBH\UiscomClient\Services\DataApi\Filters\Filter(
        \CBH\UiscomClient\Services\DataApi\Fields\Call::CALL_API_EXTERNAL_ID,
        'like',
        '%some_id%'
    ));
    $callsReport->setFilter($filter);

    print_r($callsReport->execute());
} catch (\Exception $e) {
    ...
}
```

##### Пример отчета по расходам

[](#пример-отчета-по-расходам)

```
$config = new \CBH\UiscomClient\Configuration\Configuration(new GuzzleHttp\Client());
$apiClient = \CBH\UiscomClient\ApiFactory::makeApiClientWithApiKey('api_key', $config);

try {
    $financeReport = $apiClient->dataApi()->getFinancialCallLegsReport();

    $financeReport->setPaginator(new \CBH\UiscomClient\Services\DataApi\Pagination\Paginator(20));

    $financeReport->setFields([
        \CBH\UiscomClient\Services\DataApi\Fields\FinancialCallLeg::CALL_SESSION_ID,
        \CBH\UiscomClient\Services\DataApi\Fields\FinancialCallLeg::TOTAL_CHARGE,
        \CBH\UiscomClient\Services\DataApi\Fields\FinancialCallLeg::START_TIME,
        \CBH\UiscomClient\Services\DataApi\Fields\FinancialCallLeg::BONUSES_CHARGE,
        \CBH\UiscomClient\Services\DataApi\Fields\FinancialCallLeg::COST_PER_MINUTE,
    ]);

    $financeReport->setDateFrom(new DateTime('2020-04-20 00:00:00'));
    $financeReport->setDateTill(new DateTime('2020-04-20 23:59:00'));

    $filter = new \CBH\UiscomClient\Services\DataApi\Filters\Filter(
        \CBH\UiscomClient\Services\DataApi\Fields\FinancialCallLeg::CALL_SESSION_ID,
        \CBH\UiscomClient\Services\DataApi\Filters\Comparison::EQUAL,
        123456789
    );

    $financeReport->setFilter($filter);

    print_r($financeReport->execute());
} catch (\Exception $e) {
    ...
}
```

#### Расширение клиента, собственной реализацией методов

[](#расширение-клиента-собственной-реализацией-методов)

На примере

```
class GetAccount extends CBH\UiscomClient\Services\DataApi\Resources\AbstractDataApiResource
{
    /**
     * Имя метода ресурса, как он называется на стороне UIS
     *
     * @return string
     */
    public function getResourceName(): string
    {
        return 'get.account';
    }

    /**
     * @return string
     */
    public function getMethodName(): string
    {
        return 'getAccount';
    }

    public function buildParamsForRequest(): array
    {
        return [];
    }
}

...

$httpClient = new GuzzleHttp\Client();
$config = new Configuration($httpClient);
$apiClient = ApiFactory::makeApiClientWithApiKey('api_key', $config);

$apiClient->dataApi()->registerResource(new GetAccount());
```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 88.5% 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

Unknown

Total

1

Last Release

1126d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/017d0f456f136ef7defb3f73e71487c6ee33bc3c5b9aa0b0d982c57286c62a90?d=identicon)[Anton Kirin](/maintainers/Anton%20Kirin)

---

Top Contributors

[![ddost](https://avatars.githubusercontent.com/u/3679239?v=4)](https://github.com/ddost "ddost (23 commits)")[![kirin-bear](https://avatars.githubusercontent.com/u/19169790?v=4)](https://github.com/kirin-bear "kirin-bear (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/kirin-bear-uiscom-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/kirin-bear-uiscom-api-client/health.svg)](https://phpackages.com/packages/kirin-bear-uiscom-api-client)
```

###  Alternatives

[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k5](/packages/elgg-elgg)[api-platform/metadata

API Resource-oriented metadata attributes and factories

243.5M96](/packages/api-platform-metadata)[neos/flow

Flow Application Framework

862.0M451](/packages/neos-flow)[phpro/http-tools

HTTP tools for developing more consistent HTTP implementations.

28137.8k](/packages/phpro-http-tools)[flowwow/cloudpayments-php-client

cloudpayments api client

2188.2k](/packages/flowwow-cloudpayments-php-client)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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