friendsofapi / sylius-api-client
A client for Sylius APIs
Installs: 6 543
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 8
Open Issues: 4
Requires
- php: ^7.1
- php-http/client-common: ^2.0
- php-http/discovery: ^1.0
- php-http/httplug: ^1.0 || ^2.0
- php-http/multipart-stream-builder: ^1.0
Requires (Dev)
- nyholm/nsa: ^1.1
- nyholm/psr7: ^1.3
- php-http/curl-client: ^2.0
- php-http/message: ^1.0
- php-http/message-factory: ^1.0
- phpunit/phpunit: ^7.4
- symfony/http-client: ^5.0
README
Install
Via Composer
$ composer require friendsofapi/sylius-api-client
Usage
$apiClient = SyliusClient::create($endpoint, $clientId, $clientSecret); $accessToken = $apiClient->createNewAccessToken($username, $password); $apiClient->authenticate($accessToken); $allProducts = $apiClient->product()->getAll()
Develop
APIs are usually split into categories, called Resources.
In your implementation you should also reflect these categories, for example by having their own classes in Api/
.
Let's take a look at Api/Stats
in our case. The response of any call should be an object in Model/Stats/X
,
like Model/Stats/Total
.
Hydrator
The end user chooses which hydrator to use. The default one should return domain objects.
Request builder
The request builder creates a PSR-7 request with a multipart stream when necessary
If the API does not require multipart streams you should remove the RequestBuilder
and replace it with a RequestFactory
.
License
The MIT License (MIT). Please see License File for more information.