fbkl / dianthus
Library for Binotel telephony PHP API/hook
Requires
- guzzlehttp/guzzle: ^6.4
- illuminate/support: >=5.8
Requires (Dev)
- phpstan/phpstan: ^0.12
- phpstan/phpstan-phpunit: ^0.12
- phpstan/phpstan-strict-rules: ^0.12
- phpunit/phpunit: ^8
- sebastian/phpcpd: ^4.1
README
Binotel telephony PHP API/hook library API Binotel
Install
composer require shadoll/dianthus
Использование
Библиотека в процессе разработки, заложен основной механизм (авторизация, клиент, Http клиент, несколько моделей (которые будут пополнятся))
Клиент \Dianthus\Client
Первое что необходимо - создать клиент, от от которого вы сможете делать любые манипуляции
$client = new \Dianthus\Client([
'key' => '94378c-de44436',
'secret' => 'c8a117-ce3431-173432-86c10e-0aa258ec',
]);
$httpClient = $client->getHttpClient();
Все методы моделей которые могут вернуть более одной сущности будут помещать их в коллекции
Dianthus\Core\Collection\Collection
которая в свою очередь наследуемая от
Illuminate\Support\Collection
и соответственно имеет широкий выбор различных методов для работы
Модель Dianthus\Models\Stats
Данный раздел используется для работы со статистикой звонков.
incoming-calls-for-period
Входящие звонки за период времени
/**
* @var \Dianthus\Core\Collection\Collection<\Dianthus\Models\Stats> $collect
*/
$collect = $client->stats->incomingCallsForPeriod(1551088402, 1575888402);
list-of-calls-per-day
Входящие и исходяшие звонки за день.
/**
* @var \Dianthus\Core\Collection\Collection<\Dianthus\Models\Stats> $collect
*/
$collect = $client->stats->listOfCallsPerDay();
Работа с Hooks
Для выборки разных данных с веб Hooks есть \Dianthus\Adapters\HookAdapter
в котором
достаточное количество методов для выборки. Необходимо лишь передать данные с хука.
$adapter = $client->hookAdapter($arrayOfHooks);
// или без клиента
$adapter = new \Dianthus\Adapters\HookAdapter($arrayOfHooks);
echo $adapter->getInternalNumber();
echo $adapter->getTrackingData();
// ...