Skip to content

blesta/pterodactyl-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Pterodactyl SDK

This is an SDK that integrates with APIs from Pterodactyl Docs.

Installation

You can install the SDK via composer:

composer require blesta/pterodactyl-sdk

Usage

Initializing the API

$useSsl = true;
$api = new \Blesta\PterodactylSDK\PterodactylApi('API_KEY', 'PANEL_URL', $useSsl);

One thing to note is that the Pterodactyl Panel has two API's: The application API and the account API. The account API/key should be used to access the Client requestor, while the application API/key should be used for all other requestors.

Loading a Requestor

Requestor definition: A class that the SDK uses to access API endpoints of a particular type (e.g. Servers, Nests, or Locations).

The SDK utilizes PHP's __get() magic method so requestors can just be accessed as a property of the loaded api. For example:

$clientRequestor = $api->Client;

Calling an Endpoint

All endpoints exist as a method on a requestor. For example, the application/locations/ endpoint would be called as follows:

$locationResponse = $api->Locations->getAll();

Or to call the same endpoint but with post parameters to add a new location, it would look like this:

$locationResponse = $api->Locations->add($parameters);

Using a response object

The response object is meant to make it easier to Access the returned data and recognize when you have encountered errors. It has the following methods:

$locationResponse->raw(); // Useful for logging the full response from Pterodactyl
$locationResponse->response(); // The json decoded data returned
$locationResponse->headers(); // An array of http headers returned
$locationResponse->status(); // The status code returned
$locationResponse->errors(); // An array of the errors returned

The most used methods are typically response() and errors()

$errors = $locationResponse->errors();
if (empty($errors)) {
    $locations = $locationResponse->response();
    ...
    ...
    ...
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages