trimis / trimis-php
Official Trimis SDK for PHP - Send emails, push notifications, and chat messages
v1.0.0
2026-02-05 12:16 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
README
Official PHP SDK for Trimis.ro - Send emails, push notifications, and chat messages.
Installation
composer require trimis/trimis-php
Quick Start
<?php require 'vendor/autoload.php'; use Trimis\TrimisClient; $client = new TrimisClient('YOUR_API_KEY'); // Send an email $result = $client->sendEmail( 'recipient@example.com', 'sender@yourdomain.com', 'Hello!', '<h1>Hello World</h1>', 'Hello World' ); if ($result['success']) { echo "Email sent! " . json_encode($result['data']); } else { echo "Error: " . $result['error']; }
Email API
// Send email $result = $client->sendEmail( 'user@example.com', 'noreply@yourdomain.com', 'Welcome!', '<h1>Welcome</h1>', 'Welcome', true, // track opens true // track clicks );
Notification Hub API
// Send notification with template $result = $client->sendNotification( 'user@example.com', 'noreply@yourdomain.com', 'welcome_email', [ 'name' => 'John Doe', 'activation_link' => 'https://app.com/activate?token=abc123' ] ); // Get notification status $notification = $client->getNotification('notif_123');
Push Notifications API
// Get VAPID key $vapid = $client->getVapidKey(); // Subscribe user $client->subscribePush( 'user123', 'web', [ 'subscription' => [ 'endpoint' => 'https://fcm.googleapis.com/...', 'keys' => [ 'p256dh' => '...', 'auth' => '...' ] ] ] ); // Send push notification $client->sendPush( ['user123', 'user456'], 'New Message', 'You have a new message', 'https://app.com/messages' );
Chat API
// Create conversation $conversation = $client->createConversation( 'direct', [ ['user_id' => 'user1', 'name' => 'Alice'], ['user_id' => 'user2', 'name' => 'Bob'] ] ); // Send message $client->sendMessage( $conversation['data']['conversation_id'], 'user1', 'Hello!' ); // Get messages $messages = $client->getMessages($conversation['data']['conversation_id']); // Mark as read $client->markMessageRead('msg_123', 'user2');
Laravel Integration
// In your service provider or controller use Trimis\TrimisClient; $client = new TrimisClient(config('services.trimis.api_key')); $client->sendEmail(...);
WordPress Integration
// In functions.php or as a plugin use Trimis\TrimisClient; $client = new TrimisClient(get_option('trimis_api_key')); $client->sendEmail(...);
Error Handling
$result = $client->sendEmail(...); if (!$result['success']) { echo "Error: " . $result['error']; echo "Status: " . ($result['status'] ?? 'N/A'); }
License
MIT