1. Go to this page and download the library: Download serato/sws-php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
serato / sws-php-sdk example snippets
use Serato\SwsSdk\Sdk;
use Serato\ServiceDiscovery\HostName;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
/* Configure the SDK using a `Serato\ServiceDiscovery\HostName` instance with default timeout and no custom Guzzle handler */
$hostNames = new HostName('production', 1);
$sdk = Sdk::create($hostNames, 'my_app_id', 'my_app_secrety_pass');
/* Configure the SDK using a `Serato\ServiceDiscovery\HostName` instance with custom timeout and custom Guzzle handler */
// Create `Serato\ServiceDiscovery\HostName` instance
$hostNames = new HostName('test', 2);
// Create a mock handler
$mock = new MockHandler([
new Response(200, ['X-Foo' => 'Bar'])
]);
$handler = HandlerStack::create($mock);
$sdk = Sdk::create($hostNames, 'my_app_id', 'my_app_secrety_pass', 3.2, $handler);
use Serato\SwsSdk\Sdk;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
/* Configure the SDK to use custom SWS endpoints, a non-standard timeout and a Guzzle MockHandler */
// Create a mock handler
$mock = new MockHandler([
new Response(200, ['X-Foo' => 'Bar'])
]);
$handler = HandlerStack::create($mock);
$args = [
Sdk::BASE_URI => [
Sdk::BASE_URI_ID => 'http://id.server.com',
Sdk::BASE_URI_LICENSE => 'https://license.server.com',
Sdk::BASE_URI_PROFILE => 'https://profile.server.com',
Sdk::BASE_URI_ECOM => 'https://ecom.server.com'
],
'handler' => $handler,
'timeout' => 3.2
];
$sdk = new Sdk($args, 'my_app_id', 'my_app_secrety_pass');
use Serato\SwsSdk\Sdk;
/* Create clients from an Sdk instance */
$args = ['env' => Sdk::ENV_PRODUCTION];
$sdk = new Sdk($args, 'my_app_id', 'my_app_secrety_pass');
$identityClient = $sdk->createIdentityClient();
$licenseClient = $sdk->createLicenseClient();
$profileClient = $sdk->createProfileClient();
$ecomClient = $sdk->createEcomClient();
use Serato\SwsSdk\Sdk;
use Serato\SwsSdk\License\Command\ProductGet;
$args = ['env' => Sdk::ENV_PRODUCTION];
$sdk = new Sdk($args, 'my_app_id', 'my_app_secrety_pass');
$identityClient = $sdk->createIdentityClient();
$licenseClient = $sdk->createLicenseClient();
/* Command that uses HTTP `Basic` auth */
// Explicitly create a `ProductGet` command and execute it
$commandArgs = ['product_id' => 'SDJ-1234-1234'];
$command = new ProductGet('my_app', 'my_pass', 'https://sws.endpoint.url', $commandArgs);
$result = $licenseClient->executeCommand($command);
// Simpler: Use the `LicenseClient::getProduct` magic method to execute the `ProductGet` command
$commandArgs = ['product_id' => 'SDJ-1234-1234'];
$result = $licenseClient->getProduct($commandArgs);
/* Command that uses `Bearer token` auth */
// Explicitly create a `UserGet` command and execute it
$bearerToken = 'my_bearer_token_value';
$command = new UserGet('my_app', 'my_pass', 'https://sws.endpoint.url');
$result = $identityClient->executeCommand($command, $bearerToken);
// Simpler: Use the `IdentityClient::getUser` magic method to execute the `UserGet` command
$result = $identityClient->getProduct($bearerToken);
use Serato\SwsSdk\Sdk;
use Serato\SwsSdk\License\Command\ProductGet;
$args = ['env' => Sdk::ENV_PRODUCTION];
$sdk = new Sdk($args, 'my_app_id', 'my_app_secrety_pass');
$licenseClient = $sdk->createLicenseClient();
$commandArgs = ['product_id' => 'SDJ-1234-1234'];
$result = $licenseClient->getProduct($commandArgs);
// Echo the product ID
echo $result['id'];
// Echo the number of licenses in the product
echo count($result['licenses']);
// Access the `Psr\Http\Message\ResponseInterface` response object
$response = $result->getResponse();
use Serato\SwsSdk\Sdk;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
// Create a mock handler and queue two responses.
$mock = new MockHandler([
new Response(200, [/* Headers */], '{"id":"SDJ-1111-11111"}'),
new Response(200, [/* Headers */], '{"id":"SDJ-2222-22222"}')
]);
$handler = HandlerStack::create($mock);
$args = [
'env' => Sdk::ENV_STAGING,
'handler' => $handler
];
$sdk = new Sdk($args, 'my_app_id', 'my_app_secrety_pass');
// Client is created with the `handler` option as specified in the `Sdk` constructor
$licenseClient = $sdk->createLicenseClient();
// Execute the first command. The mock handler returns the first response from the stack.
$result = $licenseClient->getProduct(['product_id' => 'SDJ-1234-1234']);
// Will echo 'SDJ-1111-11111'
echo $result['id'];
// Will echo the raw response body '{"id":"SDJ-1111-11111"}'
echo $result->getResponse()->getBody();
// Execute the first second. The mock handler returns the second response from the stack.
$result = $licenseClient->getProduct(['product_id' => 'SDJ-1234-1234']);
// Will echo 'SDJ-2222-22222'
echo $result['id'];
// Will echo the raw response body '{"id":"SDJ-2222-22222"}'
echo $result->getResponse()->getBody();
use Serato\SwsSdk\Sdk;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response;
use Exception;
// Create a mock handler and queue two responses.
$mock = new MockHandler([
new Response(200, [/* Headers */], '{"id":"SDJ-1111-11111"}'),
new Exception
]);
$handler = HandlerStack::create($mock);
$args = [
'env' => Sdk::ENV_STAGING,
'handler' => $handler
];
$sdk = new Sdk($args, 'my_app_id', 'my_app_secrety_pass');
// Client is created with the `handler` option as specified in the `Sdk` constructor
$licenseClient = $sdk->createLicenseClient();
// Execute the first command. The mock handler returns the first response from the stack.
$result = $licenseClient->getProduct(['product_id' => 'SDJ-1234-1234']);
// Will echo 'SDJ-1111-11111'
echo $result['id'];
// Throws Exception
$result = $licenseClient->getProduct(['product_id' => 'SDJ-5678-4321']);
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.