This library is compliant with PSR-7: HTTP message interfaces, PSR-17: HTTP Factories and PSR-18: HTTP Client
Using Composer:
$ composer require vasildakov/econt
Running unit tests:
$ ./vendor/bin/phpunit --coverage-html ./build/coverage --testsuite Unit
The Econt API Client can be configured with any PSR-18 HTTP Client and PSR-17 HTTP Factory implementations. In the following example we use Guzzle and Diactoros to configure the client:
<?php
declare(strict_types=1);
use VasilDakov\Econt\Econt;
use GuzzleHttp\Client;
use Laminas\Diactoros\RequestFactory;
/** @var Configuration $configuration */
$configuration = new Configuration('username', 'password');
/** @var \Psr\Http\Client\ClientInterface $client */
$client = new Client();
/** @var \Psr\Http\Message\RequestFactoryInterface $factory */
$factory = new RequestFactory();
$econt = new Econt($configuration, $client, $factory);
The Client provides a public API for communication with the Econt API
<?php
$econt = new Econt($configuration, $client, $factory);
$json = $econt->getClientProfiles(); // json
The returned json response can be decoded to associative array or php class:
<?php
$array = json_decode($json);
var_dump($array);
The json response can be also deserialized to an object:
<?php
use VasilDakov\Econt\Serializer\SerializerFactory;
$serializer = (new SerializerFactory())();
$json = $econt->getClientProfiles();
$object = $serializer->deserialize($json, GetClientProfilesResponse::class, 'json');
For more information you can check the official Econt API documentation.
The available API services can be found here.
Code released under the MIT license