vdhicts / svm-api-client
API client for the SVM API
Requires
- php: ^8.3
- illuminate/collections: ^12.15
- nesbot/carbon: ^3.9
- saloonphp/saloon: ^3.13
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^12.1
- symplify/easy-coding-standard: ^12.5
README
This is a complete implementation of the API of the Sportclub Vrijwilligers Management tool.
Requirements
This package requires PHP 8.3 or higher.
Installation
You can install the package via Composer:
composer require vdhicts/svm-api-client
Usage
This package provides a fluent interface to the SVM API. Please refer to the API documentation for more information about the requests.
Getting started
You can find your API key at the SVM app.
use Vdhicts\SVM\SVMConnector; $connector = new SVMConnector('API_KEY'); $teams = $connector ->teams() ->list();
Handling errors
The API client will throw exceptions on errors.
Laravel
This package can be easily used in any Laravel application:
SVM_API_KEY=apikey
Next create a config file in config/svm.php
:
return [ 'api_key' => env('SVM_API_KEY'), ];
Then register your connector in the register
method of the AppServiceProvider
:
$this->app->singleton(SVMConnector::class, fn () => new SVMConnector(config('svm.api_key')));
You can now inject the SVMConnector
in your controllers or services and immediately start using it.
Contributing
Found a bug or want to add a new feature? Great! There are also many other ways to make meaningful contributions such as reviewing outstanding pull requests and writing documentation. Even opening an issue for a bug you found is appreciated.
When you create a pull request, make sure it is tested, following the code standard (run composer code-style:fix
to
take care of that for you) and please create one pull request per feature. In exchange, you will be credited as
contributor.
Testing
To run the tests, you can use the following command:
composer test
This package offers basic tests to ensure some functionality of the API client and uses fixtures to mock the API responses.
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.