trimis/trimis-php

Official Trimis SDK for PHP - Send emails, push notifications, and chat messages

Maintainers

Package info

github.com/elvmp/trimis-php

pkg:composer/trimis/trimis-php

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-02-05 12:16 UTC

This package is auto-updated.

Last update: 2026-04-05 12:40:39 UTC


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

Links