destockage-habitat / sdk-php
Destockage Habitat API client to ease integration of our API
Requires
- php: >= 5.6
- ext-json: *
Requires (Dev)
- guzzlehttp/guzzle: ^6.0
- monolog/monolog: ^1.23
- overtrue/phplint: ^1.1
- phpunit/phpunit: ^5.0
- shoppingfeed/coding-style-php: ^2.0
Suggests
- guzzlehttp/guzzle: Guzzle Http 6 is the default http adapter integrated in the SDK
- psr/log: trace HTTP requests performed by the SDK
This package is auto-updated.
Last update: 2024-12-17 23:23:39 UTC
README
Try the sdk with our example
- To see an example:
git clone https://gitlab.com/destockage-habitat/sdk-php cd sdk-php composer install
In your browser, access to the file examples.php.
Install
- In your project root repository run
composer require destockage-habitat/sdk-php
- Install a http client of your choice, we recommend using GuzzleHttp 6 as the SDK embed an adapter for this client.
composer require guzzlehttp/guzzle ^6.3
You can also develop your own adapter, if you already have a http client library in your project (see the http adapter documentation for more information).
This will load the SDK library into the vendor
repository.
And thanks to PSR-4 specification you should be able to access the SDK under the namespace \DestockageHabitat\Sdk
.
Basic usage
Here are the three basic steps to use the SDK :
- Authentication to start a new session
- Retrieve the store(s) you want to manage from the session
- Manage resources
Authentication against the API
The Destockage-Habitat API requires that you are authenticated to perform any calls.
In order to make authenticated call, you should build the client like so:
<?php
namespace DestockageHabitat\Sdk;
// Setup credentials to connect to the API, and create session
$credential = new Credential\Token('api-token');
/** @var \DestockageHabitat\Sdk\Api\Session\SessionResource $session */
$session = Client\Client::createSession($credential);
Accessing your stores
/** @var \DestockageHabitat\Sdk\Api\Session\SessionResource $session */
$store = $session->getMainStore();
$store->getName(); // test-store
$store->getId(); // 1276
// ... and so on
If you manage more than one store, you can use the store collection object
/** @var \DestockageHabitat\Sdk\Api\Session\SessionResource $session */
// Get store collection
$stores = $session->getStores();
// Count the number of stores [int]
$stores->count();
// Get a particular store
$store = $stores->select('id-or-store-name');
// Loop over available stores
foreach ($stores as $store) {
$store->getName();
}