PHPackages                             wizofgoz/crester - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. wizofgoz/crester

AbandonedArchivedLibrary[API Development](/categories/api)

wizofgoz/crester
================

PHP library for interacting with the Eve Online CREST and XML APIs through a fluent, english-like interface.

v0.2.6(9y ago)114[7 issues](https://github.com/Wizofgoz/crester/issues)MITPHPPHP ^5.3.3 || ^7.0

Since Jan 7Pushed 9y ago1 watchersCompare

[ Source](https://github.com/Wizofgoz/crester)[ Packagist](https://packagist.org/packages/wizofgoz/crester)[ RSS](/packages/wizofgoz-crester/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (3)Dependencies (1)Versions (9)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/91d5a4db56b16c6a039feb7e0de8f323eb2bfec7339e7ba338b03bca3b523c4d/68747470733a2f2f706f7365722e707567782e6f72672f77697a6f66676f7a2f637265737465722f762f737461626c65)](https://packagist.org/packages/wizofgoz/crester)[![Latest Unstable Version](https://camo.githubusercontent.com/8dfd0ac09c3fc59f3a0763e6476f02b81ccdc3ee8edd345454d64f249d028920/68747470733a2f2f706f7365722e707567782e6f72672f77697a6f66676f7a2f637265737465722f762f756e737461626c65)](https://packagist.org/packages/wizofgoz/crester)[![Total Downloads](https://camo.githubusercontent.com/ad558125be333a07d402f6436f64df8c395b63d5f5729664fce676c6ac5979f1/68747470733a2f2f706f7365722e707567782e6f72672f77697a6f66676f7a2f637265737465722f646f776e6c6f616473)](https://packagist.org/packages/wizofgoz/crester)[![License](https://camo.githubusercontent.com/9337f6bfeb341917ed38a952f7748583ff4dffaaa2824c9982c13118fbaa9793/68747470733a2f2f706f7365722e707567782e6f72672f77697a6f66676f7a2f637265737465722f6c6963656e7365)](https://packagist.org/packages/wizofgoz/crester)

CRESTer
=======

[](#crester)

Eve Online's CREST API Library using fluent, english-like syntax

USAGE:
------

[](#usage)

1. Set configuration in src/Config files
    a. CREST.php - for setting configuration concerning how the library talks with the API
    b. Cache.php - for setting configuration concerning a cache that the library utilizes
2. Initialize a Crester object
3. Redirect to Eve Online SSO
4. Handle Callback
5. Make calls on returned object

Functions
---------

[](#functions)

### Crester Class

[](#crester-class)

redirect() - redirects visitor to Eve Online SSO for authentication
handleCallback($AuthCode, $State = '') - creates a Crest object and handles final authentication with API
fromRefreshToken($Token) - returns a Crest object authenticated by the given Refresh Token
crest() - returns the current connection to the CREST API
xml() - returns the current connection to the XML API

### Crest Class

[](#crest-class)

setAuthCode($AuthCode) - updates the connection's used Authorization Code and verifies it
getStatus() - returns true/false whether the connection is ready to make calls to the API
getToken() - returns the current token being used to make requests
getRefreshToken() - returns the current refresh token
getExpiration() - returns when the current token will expire
node($key, $value = NULL) - adds a node to the route to traverse down the API tree
get() - makes a GET call with the current route and returns the result as an array
post($data = \[\]) - makes a POST call with the current route and given data key/values and returns the result as an array
put($data = \[\]) - makes a PUT call with the current route and given data key/values and returns the result as an array
delete() - makes a DELETE call with the current route and returns the result as an array
verifyCode() - makes specialized call to verify Authorization Code (called automatically)
getCharacterInfo() - makes specialized call to retrieve information about the logged-in character
customCall($URL, $Method) - makes a call to the specified URL with the given method (GET, POST, PUT, DELETE)

### XML Class

[](#xml-class)

setToken($Token) - sets the access token to use when interacting with API (called automatically)
setKey($Key) - sets call to use API Key Authorization. $Key is an associative array with indexes "KeyID" and "VCode"
scope($Scope) - sets the scope of the call
endPoint($EndPoint) - sets the endpoint the call will use
accessType($AccessType) - sets the type of access the call will request. Only for CREST Authorization
get($Args = \[\], $Key = NULL) - makes the built call against the API. $Key is an alternate to using setKey() and uses the same syntax
clear() - clears the currently built call (called automatically by get())

Adding Nodes
------------

[](#adding-nodes)

Nodes that are added to specify the route that a call will use to reach it's destination can follow one of three formats:

### Simple Key Search

[](#simple-key-search)

In Example 1 below, the first node added to the route uses a simple key search. In this case, after calling the base URL, CRESTer will search the returned json for a key called "constellations" and calls the URL in that item's "href".

### Key-Value Search

[](#key-value-search)

Also demonstrated in Example 1 is adding a key-value search node, shown by the second call to node(). In the example, the node is told to search for a key called "name" that has a value of "Joas".

Example 1: Getting Information for a Constellation
--------------------------------------------------

[](#example-1-getting-information-for-a-constellation)

*Initialize the CRESTer object*

`$crester = new \Crester\Crester();`

*Make redirect to SSO*

`$crester->redirect();`

*Handle callback from SSO*

`$crest = $crester->handleCallback($_GET['code'], isset($_GET['state']) ? $_GET['state'] : '');`

*Define call using fluent interface syntax*

`$Joas = $crest->node('constellations')->node('name', 'Joas')->get();`

*View the results*`var_dump($Joas);`

```
array(4) {
	["position"]=> array(3) {
		["y"]=> float(3.3836265012848E+16)
		["x"]=> float(-4.9173916281706E+16)
		["z"]=> float(-4.2057063709409E+16)
	}
	["region"]=> array(1) {
		["href"]=> string(48) "https://crest-tq.eveonline.com/regions/10000001/"
	}
	["systems"]=> array(7) {
		[0]=> array(3) {
			["href"]=> string(53) "https://crest-tq.eveonline.com/solarsystems/30000112/"
			["id"]=> int(30000112)
			["id_str"]=> string(8) "30000112"
		}
		[1]=> array(3) {
			["href"]=> string(53) "https://crest-tq.eveonline.com/solarsystems/30000113/"
			["id"]=> int(30000113)
			["id_str"]=> string(8) "30000113"
		}
		[2]=> array(3) {
			["href"]=> string(53) "https://crest-tq.eveonline.com/solarsystems/30000114/"
			["id"]=> int(30000114)
			["id_str"]=> string(8) "30000114"
		}
		[3]=> array(3) {
			["href"]=> string(53) "https://crest-tq.eveonline.com/solarsystems/30000115/"
			["id"]=> int(30000115)
			["id_str"]=> string(8) "30000115"
		}
		[4]=> array(3) {
			["href"]=> string(53) "https://crest-tq.eveonline.com/solarsystems/30000116/"
			["id"]=> int(30000116)
			["id_str"]=> string(8) "30000116"
		}
		[5]=> array(3) {
			["href"]=> string(53) "https://crest-tq.eveonline.com/solarsystems/30000117/"
			["id"]=> int(30000117)
			["id_str"]=> string(8) "30000117"
		}
		[6]=> array(3) {
			["href"]=> string(53) "https://crest-tq.eveonline.com/solarsystems/30000118/"
			["id"]=> int(30000118)
			["id_str"]=> string(8) "30000118"
		}
	}
	["name"]=> string(4) "Joas"
}
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Total

5

Last Release

3381d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d8a59805c1199f66a3a25c99de161397fd4e4d293753216ef1c872b2db169d1b?d=identicon)[Wizofgoz](/maintainers/Wizofgoz)

---

Top Contributors

[![Wizofgoz](https://avatars.githubusercontent.com/u/10892542?v=4)](https://github.com/Wizofgoz "Wizofgoz (47 commits)")

---

Tags

cresteve-onlinessoxml-api

### Embed Badge

![Health badge](/badges/wizofgoz-crester/health.svg)

```
[![Health](https://phpackages.com/badges/wizofgoz-crester/health.svg)](https://phpackages.com/packages/wizofgoz-crester)
```

###  Alternatives

[badaso/core

The API &amp; platform builder, build your apps 10x faster even more, it's open source &amp; 100% free !

1.3k16.2k10](/packages/badaso-core)[stfalcon-studio/api-bundle

Base classes and helper services to build API application via Symfony.

1032.1k](/packages/stfalcon-studio-api-bundle)[d-scribe/laraquick

A collection of classes to be extended/used in laravel applications for quick development

371.8k1](/packages/d-scribe-laraquick)[koot-labs/telegram-bot-dialogs

Telegram Bot API PHP SDK extension that allows to implement dialogs in bots

142.0k](/packages/koot-labs-telegram-bot-dialogs)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
