composer require getstream/getstream-phpGetting Started
Setup
The official PHP SDK for Stream covers Chat, Video, Moderation, and Feeds.
Install the SDK:
Initialize the client with your API key and secret (available on the Dashboard):
use GetStream\ChatClient;
$client = new ChatClient("your-api-key", "your-api-secret");Or load credentials from environment variables (STREAM_API_KEY, STREAM_API_SECRET) or a .env file:
use GetStream\ClientBuilder;
$client = ClientBuilder::fromEnv()->buildChatClient();Server-side Token
Your backend generates a user token that the client SDKs use to authenticate. A typical place to issue this token is during login or registration.
$token = $client->createUserToken("user-id");
// return the token to the client appMaking Your First API Call
Create a user, open a channel, and send a message:
use GetStream\GeneratedModels as Models;
// Upsert a user
$client->updateUsers(new Models\UpdateUsersRequest(
users: ["john" => new Models\UserRequest(
id: "john",
name: "John",
)],
));
// Create or join a channel
$client->getOrCreateChannel("messaging", "hello-world",
new Models\ChannelGetOrCreateRequest(
data: new Models\ChannelInput(
createdByID: "john",
),
)
);
// Send a message
$client->sendMessage("messaging", "hello-world",
new Models\SendMessageRequest(
message: new Models\MessageRequest(
text: "Hello, Stream!",
userID: "john",
),
)
);