Skip to content

vasildakov/econt

Repository files navigation

Econt API Client [WIP]

Latest Stable Version build Scrutinizer Code Quality Code Coverage Build Status Total Downloads

Features

This library is compliant with PSR-7: HTTP message interfaces, PSR-17: HTTP Factories and PSR-18: HTTP Client

Installation

Using Composer:

$ composer require vasildakov/econt

Tests

Running unit tests:

$ ./vendor/bin/phpunit --coverage-html ./build/coverage --testsuite Unit

Configuration

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);

Usage

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');

Notes

For more information you can check the official Econt API documentation.

The available API services can be found here.

License

Code released under the MIT license

http://ee.econt.com/services/