The API Client Library enables you to work with Fozzy Windows VPS APIs for creating or managing your machines.
PHP 5.5 and later
The actual API Documentation available on this link.
The docs folder provides detailed guides for using current library.
You can use Composer to install the package.
To install the bindings via Composer, add the following to composer.json
:
fozzy-hosting
The preferred method is via composer. Follow the installation instructions if you do not already have composer installed.
Once composer is installed, execute the following command in your project root to install this library:
composer require fozzy-hosting/fozzy-winvps-api
Finally, be sure to include the autoloader:
require_once '/path/to/your-project/vendor/autoload.php';
To be able to send requests you need to get API key as described in API Documentation.
<?php
require_once(__DIR__ . '/vendor/autoload.php');
use Fozzy\WinVPS\Api\Configuration;
use Fozzy\WinVPS\Api\Repository;
use Fozzy\WinVPS\Api\Models\MachineCreateRequestBody;
$host = 'Endpoint from API docs';
$key = 'API key from WinVPS client area';
try {
// Create configuration object.
$config = Configuration::getDefaultConfiguration()
->setHost($host)
->setApiKey($key);
/*
Create repository by passing the `config` instance.
Repository allows to get an Instance for each class of API Endpoints described in docs foler.
*/
$repository = new Repository($config);
// Get API Instance object to make requests.
$machinesInstance = $repository->get('machines');
// Prepare request to create new machine.
$body = new \Fozzy\WinVPS\Api\Models\MachineCreateRequestBody([
'productId' => 17,
'templateId' => 72,
'locationId' => 1,
]);
// Create new machine
$machinesInstance->machinesPost($body);
/*
Load all machines from the endpoint.
Only the part of records will be returned because API uses pagination
*/
$allMachinesPage = $machinesInstance->machinesGet();
print_r($allMachinesPage);
} catch (Exception $e) {
echo 'Exception when calling BrandsApi->brandsGet: ', $e->getMessage(), PHP_EOL;
}
?>
<?php
/**
* Each of the API Instances supports the next methods:
*
* paginationSetLimit($limit) - setup new per-page amount
* paginationNext() - go to the next page
* paginationPrev() - go to the previous page
* paginationGetTotal() - total recourds amount
* paginationGetPage() - get current page number
* paginationGetPages() - get total pages count
* paginationHasMore() - does the next page exists
*/
// Example based on the previous code
do {
$allMachinesPage = $machinesInstance->machinesGet();
$machinesInstance->paginationNext();
} while ($machinesInstance->paginationHasMore());
?>