Skip to content

ActivitySmithHQ/activitysmith-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ActivitySmith PHP SDK

The ActivitySmith PHP SDK provides convenient access to the ActivitySmith API from PHP applications.

Documentation

See API reference.

Installation

composer require activitysmith/activitysmith

Setup

<?php

declare(strict_types=1);

use ActivitySmith\ActivitySmith;

$activitysmith = new ActivitySmith($_ENV['ACTIVITYSMITH_API_KEY']);

Usage

Send a Push Notification

$response = $activitysmith->notifications->send([
    'title' => 'New subscription 💸',
    'message' => 'Customer upgraded to Pro plan',
    'channels' => ['devs', 'ops'], // Optional
]);

echo $response->getSuccess() ? 'true' : 'false';
echo PHP_EOL;
echo $response->getDevicesNotified();

Start a Live Activity

$start = $activitysmith->liveActivities->start([
    'content_state' => [
        'title' => 'Nightly database backup',
        'subtitle' => 'create snapshot',
        'number_of_steps' => 3,
        'current_step' => 1,
        'type' => 'segmented_progress',
        'color' => 'yellow',
    ],
    'channels' => ['devs', 'ops'], // Optional
]);

$activityId = $start->getActivityId();

Update a Live Activity

$update = $activitysmith->liveActivities->update([
    'activity_id' => $activityId,
    'content_state' => [
        'title' => 'Nightly database backup',
        'subtitle' => 'upload archive',
        'current_step' => 2,
    ],
]);

echo $update->getDevicesNotified();

End a Live Activity

$end = $activitysmith->liveActivities->end([
    'activity_id' => $activityId,
    'content_state' => [
        'title' => 'Nightly database backup',
        'subtitle' => 'verify restore',
        'current_step' => 3,
        'auto_dismiss_minutes' => 2,
    ],
]);

echo $end->getSuccess() ? 'true' : 'false';

Error Handling

try {
    $activitysmith->notifications->send([
        'title' => 'New subscription 💸',
    ]);
} catch (Throwable $err) {
    echo 'Request failed: ' . $err->getMessage() . PHP_EOL;
}

API Surface

  • $activitysmith->notifications
  • $activitysmith->liveActivities

Requirements

  • PHP 8.1+

License

MIT