PHP library for Broadcastt HTTP API

v0.4.5 2023-03-05 20:55 UTC

This package is auto-updated.

Last update: 2024-04-05 23:29:34 UTC



Realtime web applications are the future. Broadcastt provides tools to help developers create realtime applications.

PHP HTTP Library

Be aware that this library is still in beta and not reached the first MAJOR version.

Semantic Versioning 2.0.0

Major version zero (0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.

This library is compatible with PHP 7.1+

This is a PHP library to interact with the Broadcastt API. If you are looking for a client library or a different server library please check out our list of libraries.

For tutorials and more in-depth documentation, visit the official site.


First steps

Require this package, with Composer

composer require broadcastt/broadcastt-php-http


$appId = 'YOUR_APP_ID';
$appKey = 'YOUR_APP_KEY';
$appSecret = 'YOUR_APP_SECRET';
$appCluster = 'YOUR_APP_CLUSTER';

$client = new Broadcastt\BroadcasttClient( $appId, $appKey, $appSecret, $appCluster );
// or
$client = Broadcastt\BroadcasttClient::fromUri("http://{$appKey}:{$appSecret}@{$appCluster}{$appId}");

appId (Integer)

The id of the application

appKey (String)

The key of the application

appSecret (String)

The secret of the application

appCluster (String) Optional

The cluster of the application

Default value: eu


scheme (String)

E.g. http or https

Default value: http

host (String)

The host e.g. No trailing forward slash

Default value: If the cluster is not set during initialization

port (String)

The http port

Default value: 80

basePath (String)

The base of the path what the request will call. {appId} can be used to automatically parse the app ID in the base path.

Default value: /apps/{appId}

timeout (String)

The http timeout

Default value: 30

guzzleClient (Mixed[])

Guzzle Client for sending HTTP requests

If not set it will be initialized without any parameters on the first request



Instantiate a new client from the given uri.

These are methods which help you modify the instance


Modifies the host value for given cluster


Short way to change scheme to https and port to 443


trigger($channels, $name, $data, $socketId = null, $jsonEncoded = false)

Trigger an event by providing event name and payload.

Optionally provide a socket ID to exclude a client (most likely the sender).

triggerBatch($batch = [], $encoded = false)

Trigger multiple events at the same time.

get($path, $params = [])

GET arbitrary REST API resource using a synchronous http client.

All request signing is handled automatically.


Everyone is welcome who would help to make this library "Harder, Better, Faster, Stronger".