BaseKit REST API Client
A PHP client for BaseKit's REST API. This client will provide documentation of the services available from the BaseKit API, describing URIs, HTTP methods and input parameters., (*1)
Installation
The recommended way of including this package in your project is by using Composer. Add it to the require
section of your project's composer.json
., (*2)
composer require basekit/php-api-client
Usage
use BaseKit\Api\AuthType;
use BaseKit\Api\ClientFactory;
$client = ClientFactory::create(
[
'base_uri' => 'http://api.testing.com',
'username' => 'foo',
'password' => 'bar',
],
AuthType::BASIC, // defaults to basic auth
);
$createSite = $client->getCommand(
'CreateSite',
[
'accountHolderRef' => 123,
'brandRef' => 789,
'domain' => 'test.example.org',
]
);
$client->execute($createSite);
A more detailed example script is available here including account and site creation and populating a site with content using the API., (*3)
Testing
Feed an optional handler
into the config of clientFactory
to control the responses from the http client., (*4)
use BaseKit\Api\ClientFactory;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\Psr7\Response;
$client = ClientFactory::create([
'base_uri' => 'https://api.testing.com',
'username' => 'foo',
'password' => 'bar',
'handler' => HandlerStack::create(
new MockHandler([
new Response(404, [], '"Hello, World! This is a test response."'),
])
) ,
]);
$createSite = $client->getCommand(
'CreateSite',
[
'accountHolderRef' => 123,
'brandRef' => 789,
'domain' => 'test.example.org',
]
);
$client->execute($createSite); // Throws a 404 CommandClientException
License
This software is released under the MIT License., (*5)