Easy WeFact API client
This package requires at least PHP 8.1.
This package can be used in any PHP project or with any framework.
You can install the package via composer:
composer require vdhicts/wefact-api-client
This package is just an easy client for using the WeFact API. Please refer to the API documentation for more information about the requests.
use Vdhicts\WeFact\WeFact;
use Vdhicts\WeFact\WeFactRequest;
use Vdhicts\WeFact\Enums\WeFactController;
// Initialize the client
$client = new WeFact($apiKey);
// Perform the request
$request = new WeFactRequest(WeFactController::CREDITOR, 'list');
$response = $client->request($request);
if ($response->ok()) {
$response->json('creditors');
}
Or if you need to provide extra parameters (i.e. for a 'add' request):
$request = new WeFactRequest(WeFactController::CREDITOR, 'add', [
'CompanyName' => 'Vdhicts',
]);
$response = $client->request($request);
You can extend the client and implement your own endpoints:
use Vdhicts\WeFact\Enums\WeFactController;
use Vdhicts\WeFact\WeFact;
use Vdhicts\WeFact\WeFactRequest;
class Debtor extends WeFact
{
public function show(string $debtorCode): Response
{
$request = new WeFactRequest(WeFactController::DEBTOR, 'show', [
'DebtorCode' => $debtorCode,
]);
return $this->$request($request);
}
}
A Response
object will always be returned. See
Error handling of the Http Client.
if ($response->failed()) {
var_dump($response->serverError());
}
This package can be easily used in any Laravel application. I would suggest adding your credentials to the .env
file
of the project:
WEFACT_API_KEY=apikey
Next create a config file wefact.php
in /config
:
<?php
return [
'api_key' => env('WEFACT_API_KEY'),
];
Then initialize the client with the API key:
$client = new \Vdhicts\WeFact\WeFact(config('wefact.api_key'));
In the future I might make a Laravel specific package which uses this package.
Any contribution is welcome, but it should meet the PSR-12 standard and please create one pull request per feature/bug. In exchange, you will be credited as contributor on this page.
If you discover any security related issues in this or other packages of Vdhicts, please email info@vdhicts.nl instead of using the issue tracker.
This package isn't an official package from WeFact, so they probably won't offer support for it. If you encounter a problem with this client or has a question about it, feel free to open an issue on GitHub.
This package is open-sourced software licensed under the MIT license.
Vdhicts is the name of my personal company for which I work as freelancer. Vdhicts develops and implements IT solutions for businesses and educational institutions.