Client and Request Builder for making API requests against Commercetools.
Installation
composer require commercetools/commercetools-sdk
Usage
namespace Commercetools;
require_once __DIR__ . '/vendor/autoload.php';
$authConfig = new ClientCredentialsConfig(new ClientCredentials($clientId, $clientSecret));
$client = ClientFactory::of()->createGuzzleClient(
new Config(),
$authConfig
);
RequestBuilder
Detailed information of all available methods for the product API can be found here. For the Import API here and for the ML API here
Examples to retrieve project information
use GuzzleHttp\ClientInterface;
$builder = new ApiRequestBuilder($client);
$request = $builder->withProjectKey('your-project-key')->get();
To avoid specifying the project key for every request built it's possible to use the ones in the Commercetools\Client
namespace instead
use GuzzleHttp\ClientInterface;
$builder = new ApiRequestBuilder('your-project-key', $client);
$request = $builder->categories()->get();
$importBuilder = new ImportRequestBuilder('your-project-key', $client);
$request = $importBuilder->importSinks()->get();
$mlBuilder = new MLRequestBuilder('your-project-key', $client);
$request = $mlBuilder->recommendations()->generalCategories()->get();
Executing requests
use GuzzleHttp\ClientInterface;
$builder = new ApiRequestBuilder('your-project-key', $client);
$request = $builder->with()->get();
$project = $request->execute();
$response = $request->send();
$project = $request->mapFromResponse($response);
$promise = $request->sendAsync();
$project = $request->mapFromResponse($promise->wait());
$response = $client->send($request);
$project = $request->mapFromResponse($response);
Migration Guidelines
To migrate from the 1.x to the 2.x, there is a guideline below:
- Migration guidelines from v1 to v2
Observability
To monitor and observe the SDK, see the official documentation Observability, there is a Demo application which shows how to monitor the PHP SDK with New Relic.
Documentation
License
MIT