PHPackages                             gaming-engine/sendportal-api-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. gaming-engine/sendportal-api-client

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

gaming-engine/sendportal-api-client
===================================

API Client for SendPortal.IO

1.0.0(4y ago)1206MITPHPPHP ^8.0|^8.1

Since Oct 26Pushed 2y ago1 watchersCompare

[ Source](https://github.com/gaming-engine/sendportal-api-client)[ Packagist](https://packagist.org/packages/gaming-engine/sendportal-api-client)[ Docs](https://github.com/gaming-engine/sendportal-api-client)[ RSS](/packages/gaming-engine-sendportal-api-client/feed)WikiDiscussions main Synced 4w ago

READMEChangelog (1)Dependencies (3)Versions (3)Used By (0)

SendPortal.IO API Client
========================

[](#sendportalio-api-client)

[![Latest Version on Packagist](https://camo.githubusercontent.com/552ef7913105592ac62113e2d2f68d9290d0010581ec4bb407b67a0120be9506/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f67616d696e672d656e67696e652f73656e64706f7274616c2d6170692d636c69656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/gaming-engine/sendportal-api-client)[![Total Downloads](https://camo.githubusercontent.com/2a669dbba3e69708418e060fe9fc752cb19de94807395da1d12c2376ec384aa0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f67616d696e672d656e67696e652f73656e64706f7274616c2d6170692d636c69656e742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/gaming-engine/sendportal-api-client)[![GitHub Actions](https://github.com/gaming-engine/sendportal-api-client/actions/workflows/main.yml/badge.svg)](https://github.com/gaming-engine/sendportal-api-client/actions/workflows/main.yml/badge.svg)

A simple wrapper around the SendPortal.IO Version 2 API.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require gaming-engine/sendportal-api-client
```

Usage
-----

[](#usage)

This library is best used with a dependency injection library however, it is possible to instantiate is without the use of one.

You have access to several clients one for each type of endpoint that the API provides. The

The clients are as follows:

- `GamingEngine\SendPortalAPI\Clients\CampaignClient`
- `GamingEngine\SendPortalAPI\Clients\SubscriberClient`
- `GamingEngine\SendPortalAPI\Clients\SubscriberTagClient`
- `GamingEngine\SendPortalAPI\Clients\TagClient`
- `GamingEngine\SendPortalAPI\Clients\TagSubscriberClient`
- `GamingEngine\SendPortalAPI\Clients\TemplateClient`

For more details about the request parameters for the API please refer to the [documentation](https://sendportal.io/docs/v2/api/introduction).

### Retrieval

[](#retrieval)

```
use GamingEngine\SendPortalAPI\Clients\ApiClient;
use GamingEngine\SendPortalAPI\Clients\CampaignClient;
use GamingEngine\SendPortalAPI\Http\GuzzleHttpClient;
use GamingEngine\SendPortalAPI\Models\Configuration;
use GuzzleHttp\Client;

require_once './vendor/autoload.php';

$apiClient = new ApiClient(
    new Configuration('https://sendportal.domain.tld', 'bearer-token'),
    new GuzzleHttpClient(
        new Client()
    )
);

$specific = new CampaignClient($apiClient);

var_dump($specific->retrieve());
```

### Create/Update

[](#createupdate)

```
use GamingEngine\SendPortalAPI\Clients\ApiClient;
use GamingEngine\SendPortalAPI\Clients\CampaignClient;
use GamingEngine\SendPortalAPI\DataTransfer\CampaignDTO;
use GamingEngine\SendPortalAPI\Http\GuzzleHttpClient;
use GamingEngine\SendPortalAPI\Models\Configuration;
use GuzzleHttp\Client;

require_once './vendor/autoload.php';

$apiClient = new ApiClient(
    new Configuration('https://sendportal.domain.tld', 'bearer-token'),
    new GuzzleHttpClient(
        new Client()
    )
);

$specific = new CampaignClient($apiClient);
$dto = new CampaignDTO([
    'name' => 'Hello',
    // All fields
]);

// Provides the newly created campaign
var_dump($specific->create($dto));

// Provides the newly updated campaign
var_dump($specific->update(2, $dto));
```

### Testing

[](#testing)

```
composer test
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Andrew Judd](https://github.com/gaming-engine)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1655d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6c1a37465afdee14b2740a387deaae40ac376e38015db7af98f90b7fd97fed22?d=identicon)[awjudd](/maintainers/awjudd)

---

Top Contributors

[![awjudd](https://avatars.githubusercontent.com/u/1910996?v=4)](https://github.com/awjudd "awjudd (4 commits)")

---

Tags

api-clientphpsendportalapiemailsendportal

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/gaming-engine-sendportal-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/gaming-engine-sendportal-api-client/health.svg)](https://phpackages.com/packages/gaming-engine-sendportal-api-client)
```

###  Alternatives

[elastic-email/web-api-client

Easily send emails with Elastic Email using Web API PHP Client https://elasticemail.com/

22345.7k2](/packages/elastic-email-web-api-client)[pitchero/reseller-club

A PHP SDK for the ResellerClub API.

1514.8k1](/packages/pitchero-reseller-club)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
