Stellar PHP SDK API Documentation

TradeAggregationsPageResponse extends PageResponse

Paginated collection of trade aggregations from Horizon API

This response represents a single page of trade aggregations returned by Horizon's trade aggregations endpoint. Each page contains a collection of OHLC (Open-High-Low-Close) candlestick records for a specific asset pair and time resolution, along with pagination links to navigate through the complete historical data.

Trade aggregations summarize executed trades into time-based buckets, providing candlestick charts, volume data, and price statistics essential for market analysis and visualization. The response follows Horizon's standard pagination pattern with cursor-based navigation.

The aggregation resolution (time period) is specified when querying the endpoint and can range from one minute to one week. Each aggregation record represents one time bucket with OHLC prices, volumes, and trade counts.

Returned by Horizon endpoint:

  • GET /trade_aggregations - Historical trade statistics aggregated by time period
Tags
see
PageResponse

For pagination functionality

see
TradeAggregationsResponse

For the collection of aggregations in this page

see
TradeAggregationResponse

For individual aggregation details

see
https://developers.stellar.org

Stellar developer docs Horizon Trade Aggregations API & Pagination

Table of Contents

Properties

$httpClient  : Client|null
$rateLimitLimit  : int|null
$rateLimitRemaining  : int|null
$rateLimitReset  : int|null

Methods

fromJson()  : TradeAggregationsPageResponse
Creates a TradeAggregationsPageResponse from JSON data
getHttpClient()  : Client|null
Gets the HTTP client used for pagination requests
getLinks()  : PagingLinksResponse
Gets the pagination links for navigating between pages
getNextPage()  : TradeAggregationsPageResponse|null
Fetches the next page of trade aggregations
getPreviousPage()  : TradeAggregationsPageResponse|null
Fetches the previous page of trade aggregations
getRateLimitLimit()  : int|null
Returns X-RateLimit-Limit header from the response.
getRateLimitRemaining()  : int|null
Returns X-RateLimit-Remaining header from the response.
getRateLimitReset()  : int|null
Returns X-RateLimit-Reset header from the response. Seconds until a new window starts.
getTradeAggregations()  : TradeAggregationsResponse
Gets the collection of trade aggregations in this page
hasNextPage()  : bool
Checks if a next page exists
hasPrevPage()  : bool
Checks if a previous page exists
setHeaders()  : void
Extracts and sets rate limiting information from HTTP response headers
setHttpClient()  : void
Sets the HTTP client for making follow-up requests
executeRequest()  : Response|null
getNextPageUrl()  : string|null
getPrevPageUrl()  : string|null
loadFromJson()  : void
Loads response data from a JSON array

Properties

$httpClient

protected Client|null $httpClient = null

$rateLimitLimit

protected int|null $rateLimitLimit = null

$rateLimitRemaining

protected int|null $rateLimitRemaining = null

$rateLimitReset

protected int|null $rateLimitReset = null

Methods

getHttpClient()

Gets the HTTP client used for pagination requests

public getHttpClient() : Client|null
Return values
Client|null

The HTTP client instance, or null if not set

getRateLimitLimit()

Returns X-RateLimit-Limit header from the response.

public getRateLimitLimit() : int|null

This number represents the he maximum number of requests that the current client can make in one hour.

Tags
see
https://developers.stellar.org

Stellar developer docs Rate limiting documentation

Return values
int|null

getRateLimitRemaining()

Returns X-RateLimit-Remaining header from the response.

public getRateLimitRemaining() : int|null

The number of remaining requests for the current window.

Tags
see
https://developers.stellar.org

Stellar developer docs Rate limiting documentation

Return values
int|null

getRateLimitReset()

Returns X-RateLimit-Reset header from the response. Seconds until a new window starts.

public getRateLimitReset() : int|null
Tags
see
https://developers.stellar.org

Stellar developer docs Rate limiting documentation

Return values
int|null

hasNextPage()

Checks if a next page exists

public hasNextPage() : bool
Return values
bool

True if there is a next page available

hasPrevPage()

Checks if a previous page exists

public hasPrevPage() : bool
Return values
bool

True if there is a previous page available

setHeaders()

Extracts and sets rate limiting information from HTTP response headers

public setHeaders(array<string|int, mixed> $headers) : void

This method processes the X-Ratelimit-* headers from the HTTP response and stores them for client access.

Parameters
$headers : array<string|int, mixed>

Associative array of HTTP headers from the response

setHttpClient()

Sets the HTTP client for making follow-up requests

public setHttpClient([Client|null $httpClient = null ]) : void

Paginated responses contain links to next/previous pages. This HTTP client is used when following those links to fetch additional pages.

Parameters
$httpClient : Client|null = null

The Guzzle HTTP client to use for pagination

getNextPageUrl()

protected getNextPageUrl() : string|null
Return values
string|null

getPrevPageUrl()

protected getPrevPageUrl() : string|null
Return values
string|null

loadFromJson()

Loads response data from a JSON array

protected loadFromJson(array<string|int, mixed> $json) : void

This method is used internally to populate response objects from parsed JSON. Subclasses override this to extract their specific data fields.

Parameters
$json : array<string|int, mixed>

Associative array of parsed JSON data


        
On this page

Search results