Skip to main content

Prerequisites

Setup

1

Get your Stream Chat credentials

In Stream, open the dashboard, select your app, and copy the API key and API secret.
2

Configure in Courier

Open the in Courier, enter your API key, API secret, and sender ID, then save.

Profile requirements

Stream Chat posts a new message to a channel, or updates one that already exists. The profile you send to needs a streamChat object for whichever you want. Store it once with , which merges into the profile and creates it if it does not exist:
channelType and channelId name the channel to post into.
Then send to user_id and Courier resolves the address. For a one-off with no stored profile, pass it inline instead: "to": { "streamChat": { "channelType": "messaging", "channelId": "my-channel-id" } }.

Send by user id

The call in every language, and the rest of the profile object.

Send to a recipient

Courier reads streamChat off the saved profile, so preferences apply and the value can change without touching this code.

Overrides

covers the two levels and which one wins. A provider override changes the request body, the API credentials, and the endpoint URL Courier sends to Stream Chat.

Provider details

Courier recommends routing to the channel. Naming this key in routing.channels instead is supported, and sends through just this provider.

Send to a specific provider

When that is worth doing, and what you give up: failover, channel priority, and providers you add later.