PHP server SDK for Apinator — trigger real-time events, authenticate channels, and verify webhooks.
- Trigger events on public, private, and presence channels
- Channel authentication (HMAC-SHA256)
- Webhook signature verification
- Channel introspection (list channels, get channel info)
- Zero external dependencies — PHP 8.1+ stdlib only
- Laravel integration guide included
composer require apinator/apinator-phpuse Apinator\Apinator;
$client = new Apinator(
appId: 'your-app-id',
key: 'your-app-key',
secret: 'your-app-secret',
cluster: 'eu', // or 'us'
);
// Trigger an event
$client->trigger(
name: 'new-message',
data: json_encode(['text' => 'Hello!']),
channel: 'chat-room',
);For private and presence channels, your backend must provide an auth endpoint:
use Apinator\Apinator;
$client = new Apinator(
appId: 'your-app-id',
key: 'your-app-key',
secret: 'your-app-secret',
cluster: 'eu', // or 'us'
);
// In your auth route handler:
$socketId = $_POST['socket_id'];
$channelName = $_POST['channel_name'];
$auth = $client->authenticateChannel($socketId, $channelName);
header('Content-Type: application/json');
echo json_encode($auth);For presence channels, include channel data:
$channelData = json_encode([
'user_id' => $currentUser->id,
'user_info' => ['name' => $currentUser->name],
]);
$auth = $client->authenticateChannel($socketId, $channelName, $channelData);use Apinator\Apinator;
$client = new Apinator(
appId: 'your-app-id',
key: 'your-app-key',
secret: 'your-webhook-secret',
cluster: 'eu', // or 'us'
);
$headers = getallheaders();
$body = file_get_contents('php://input');
try {
$client->verifyWebhook($headers, $body, maxAge: 300);
// Webhook is valid — process the payload
$payload = json_decode($body, true);
} catch (\Apinator\Errors\ValidationException $e) {
http_response_code(401);
echo 'Invalid webhook';
}// List all channels
$channels = $client->getChannels();
// Filter by prefix
$presenceChannels = $client->getChannels(prefix: 'presence-');
// Get info about a specific channel
$info = $client->getChannel('presence-chat');See docs/api-reference.md for the full API.
See docs/laravel.md for a step-by-step Laravel integration guide.
- Installation Guide
- Quick Start Tutorial
- API Reference
- Laravel Integration
- Architecture Guide
- Contributing
- Changelog
MIT — see LICENSE.