Download the PHP package bootdesk/chat-sdk-adapter-telnyx without Composer
On this page you can find all versions of the php package bootdesk/chat-sdk-adapter-telnyx. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download bootdesk/chat-sdk-adapter-telnyx
More information about bootdesk/chat-sdk-adapter-telnyx
Files in bootdesk/chat-sdk-adapter-telnyx
Package chat-sdk-adapter-telnyx
Short Description Telnyx adapter for bootdesk/chat-sdk-core (SMS, MMS, RCS)
License MIT
Informations about the package chat-sdk-adapter-telnyx
bootdesk/chat-sdk-adapter-telnyx
Telnyx adapter for the BootDesk multi-platform messaging SDK. Supports SMS, MMS, and RCS.
Install
Requires a PSR-18 HTTP client (guzzlehttp/guzzle, symfony/http-client, etc.) and a PSR-17 factory (nyholm/psr7 bundled).
Configuration
| Variable | Description | Example |
|---|---|---|
api_key |
Telnyx API V2 Key | KEY... |
http_client |
PSR-18 HTTP client instance | new GuzzleHttp\Client |
messaging_profile_id |
Messaging Profile UUID | 16fd2706-... |
public_key |
Ed25519 public key for webhook verification | base64... |
from_number |
Sender ID — +E.164 phone number, alphanumeric sender ID, or short code | +15551234567, MyBrand, 123456 |
agent_id |
RCS agent ID (enables RCS sending) | e4448a5c... |
Laravel
The ChatServiceProvider auto-binds Psr\Http\Client\ClientInterface to GuzzleHttp\Client. Add to config/chat.php:
Override the HTTP client by setting http_client in config or rebinding ClientInterface in the container.
Sending Messages
The adapter auto-selects the endpoint based on whether agent_id is set:
- No
agent_id→POST /v2/messages(SMS/MMS via long code, short code, or number pool) - With
agent_id→POST /v2/messages/rcs(RCS with SMS/MMS fallback)
SMS
MMS
RCS (text)
RCS (rich card)
RCS fallback
When from_number is set and the first RCS message includes sms_fallback / mms_fallback, Telnyx may choose to send via SMS/MMS even if the recipient has RCS enabled — it depends on the carrier's capabilities at that moment. This means you might see RCS-fallback messages delivered as SMS for no apparent reason.
If you need strict RCS-only delivery (e.g., for rich cards, suggestions, or branding), register two separate Telnyx adapters:
Then route based on $statusData['type'] === 'failed' in your onMessageFailed handler: retry via the SMS adapter.
RCS delivery reliability
RCS is a flaky protocol. Even when Telnyx accepts an RCS message (returns 200), the carrier may silently reject it or fail to deliver it. This is returned as a delivery_failed status event via HandlesStatuses. Key points:
delivery_failedis normal and expected — do not treat it as a bug- Always implement the
onMessageFailedhandler to trigger SMS fallback - Some carriers/regions have no RCS support at all — all RCS messages will fail there
- Users may have RCS disabled on their device — messages fall back silently
- Read receipts (
message.read) are not guaranteed — some users disable them - SMS fallback (
from_number) is recommended for production use
Feature Matrix
| Feature | Supported |
|---|---|
| Post messages | ✓ |
| Edit messages | ✗ |
| Delete messages | ✗ |
| Reactions | ✗ |
| Slash commands | ✓ |
| Typing indicator | ✗ |
| Fetch messages | ✗ |
| Fetch thread info | ✗ |
| Fetch channel info | ✗ |
| Get user | ✗ |
| Open DM | ✗ |
| Stream | ✓ |
Documentationn
Full API documentation: https://bootdesk.github.io/chat-sdk
License
MIT
All versions of chat-sdk-adapter-telnyx with dependencies
bootdesk/chat-sdk-core Version 0.4.45
ext-json Version *
ext-sodium Version *
psr/http-client Version ^1.0
psr/http-factory Version ^1.0