/SpaceTraders-PHP-SDK

A PHP SDK for the SpaceTraders v2 API

Primary LanguagePHP

OpenAPIClient-php

SpaceTraders is an open-universe game and learning platform that offers a set of HTTP endpoints to control a fleet of ships and explore a multiplayer universe.

The API is documented using OpenAPI. You can send your first request right here in your browser to check the status of the game server.

{
  \"method\": \"GET\",
  \"url\": \"https://api.spacetraders.io/v2\",
}

Unlike a traditional game, SpaceTraders does not have a first-party client or app to play the game. Instead, you can use the API to build your own client, write a script to automate your ships, or try an app built by the community.

We have a Discord channel where you can share your projects, ask questions, and get help from other players.

Installation & Usage

Requirements

PHP 7.4 and later. Should also work with PHP 8.0.

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/WesleyM77/SpaceTraders-PHP-SDK.git"
    }
  ],
  "require": {
    "wesleym77/spacetraders-php-sdk": "1.0.0"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

<?php
require_once(__DIR__ . '/vendor/autoload.php');



// Configure Bearer authorization: AgentToken
$config = OpenAPI\Client\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');


$apiInstance = new OpenAPI\Client\Api\AgentsApi(
    // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
    // This is optional, `GuzzleHttp\Client` will be used as default.
    new GuzzleHttp\Client(),
    $config
);
$agent_symbol = 'FEBA66'; // string | The agent symbol

try {
    $result = $apiInstance->getAgent($agent_symbol);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling AgentsApi->getAgent: ', $e->getMessage(), PHP_EOL;
}

API Endpoints

All URIs are relative to https://api.spacetraders.io/v2

Class Method HTTP request Description
AgentsApi getAgent GET /agents/{agentSymbol} Get Public Agent
AgentsApi getAgents GET /agents List Agents
AgentsApi getMyAgent GET /my/agent Get Agent
ContractsApi acceptContract POST /my/contracts/{contractId}/accept Accept Contract
ContractsApi deliverContract POST /my/contracts/{contractId}/deliver Deliver Cargo to Contract
ContractsApi fulfillContract POST /my/contracts/{contractId}/fulfill Fulfill Contract
ContractsApi getContract GET /my/contracts/{contractId} Get Contract
ContractsApi getContracts GET /my/contracts List Contracts
DefaultApi getStatus GET / Get Status
DefaultApi register POST /register Register New Agent
FactionsApi getFaction GET /factions/{factionSymbol} Get Faction
FactionsApi getFactions GET /factions List Factions
FleetApi createChart POST /my/ships/{shipSymbol}/chart Create Chart
FleetApi createShipShipScan POST /my/ships/{shipSymbol}/scan/ships Scan Ships
FleetApi createShipSystemScan POST /my/ships/{shipSymbol}/scan/systems Scan Systems
FleetApi createShipWaypointScan POST /my/ships/{shipSymbol}/scan/waypoints Scan Waypoints
FleetApi createSurvey POST /my/ships/{shipSymbol}/survey Create Survey
FleetApi dockShip POST /my/ships/{shipSymbol}/dock Dock Ship
FleetApi extractResources POST /my/ships/{shipSymbol}/extract Extract Resources
FleetApi extractResourcesWithSurvey POST /my/ships/{shipSymbol}/extract/survey Extract Resources with Survey
FleetApi getMounts GET /my/ships/{shipSymbol}/mounts Get Mounts
FleetApi getMyShip GET /my/ships/{shipSymbol} Get Ship
FleetApi getMyShipCargo GET /my/ships/{shipSymbol}/cargo Get Ship Cargo
FleetApi getMyShips GET /my/ships List Ships
FleetApi getShipCooldown GET /my/ships/{shipSymbol}/cooldown Get Ship Cooldown
FleetApi getShipNav GET /my/ships/{shipSymbol}/nav Get Ship Nav
FleetApi installMount POST /my/ships/{shipSymbol}/mounts/install Install Mount
FleetApi jettison POST /my/ships/{shipSymbol}/jettison Jettison Cargo
FleetApi jumpShip POST /my/ships/{shipSymbol}/jump Jump Ship
FleetApi navigateShip POST /my/ships/{shipSymbol}/navigate Navigate Ship
FleetApi negotiateContract POST /my/ships/{shipSymbol}/negotiate/contract Negotiate Contract
FleetApi orbitShip POST /my/ships/{shipSymbol}/orbit Orbit Ship
FleetApi patchShipNav PATCH /my/ships/{shipSymbol}/nav Patch Ship Nav
FleetApi purchaseCargo POST /my/ships/{shipSymbol}/purchase Purchase Cargo
FleetApi purchaseShip POST /my/ships Purchase Ship
FleetApi refuelShip POST /my/ships/{shipSymbol}/refuel Refuel Ship
FleetApi removeMount POST /my/ships/{shipSymbol}/mounts/remove Remove Mount
FleetApi sellCargo POST /my/ships/{shipSymbol}/sell Sell Cargo
FleetApi shipRefine POST /my/ships/{shipSymbol}/refine Ship Refine
FleetApi siphonResources POST /my/ships/{shipSymbol}/siphon Siphon Resources
FleetApi transferCargo POST /my/ships/{shipSymbol}/transfer Transfer Cargo
FleetApi warpShip POST /my/ships/{shipSymbol}/warp Warp Ship
SystemsApi getConstruction GET /systems/{systemSymbol}/waypoints/{waypointSymbol}/construction Get Construction Site
SystemsApi getJumpGate GET /systems/{systemSymbol}/waypoints/{waypointSymbol}/jump-gate Get Jump Gate
SystemsApi getMarket GET /systems/{systemSymbol}/waypoints/{waypointSymbol}/market Get Market
SystemsApi getShipyard GET /systems/{systemSymbol}/waypoints/{waypointSymbol}/shipyard Get Shipyard
SystemsApi getSystem GET /systems/{systemSymbol} Get System
SystemsApi getSystemWaypoints GET /systems/{systemSymbol}/waypoints List Waypoints in System
SystemsApi getSystems GET /systems List Systems
SystemsApi getWaypoint GET /systems/{systemSymbol}/waypoints/{waypointSymbol} Get Waypoint
SystemsApi supplyConstruction POST /systems/{systemSymbol}/waypoints/{waypointSymbol}/construction/supply Supply Construction Site

Models

Authorization

Authentication schemes defined for the API:

AgentToken

  • Type: Bearer authentication

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

joel@spacetraders.io

About this package

This PHP package is automatically generated by the OpenAPI Generator project:

  • API version: 2.0.0
  • Build package: org.openapitools.codegen.languages.PhpClientCodegen