Easy WeFact API client.
Requirements#
This package requires at least PHP 8.2.
Installation#
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
Usage#
This package is just an easy client for using the WeFact API. Please refer to the API documentation for more information about the requests.
Getting started#
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);
Extending the client#
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);
}
}
Handling errors#
A Response object will always be returned. See Error handling of the Http Client.
if ($response->failed()) {
var_dump($response->serverError());
}
Laravel#
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'));
Contribution#
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.
Security#
If you discover any security related issues in this or other packages of Vdhicts, please email security@vdhicts.nl instead of using the issue tracker.
Support#
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.
License#
This package is open-sourced software licensed under the MIT license.