PHPackages                             upanupstudios/upaknee-php-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. [API Development](/categories/api)
4. /
5. upanupstudios/upaknee-php-client

ActiveLibrary[API Development](/categories/api)

upanupstudios/upaknee-php-client
================================

Upaknee API client for PHP

1.1(2y ago)03851PHP

Since Dec 13Pushed 2w agoCompare

[ Source](https://github.com/upanupstudios/upaknee-php-client)[ Packagist](https://packagist.org/packages/upanupstudios/upaknee-php-client)[ RSS](/packages/upanupstudios-upaknee-php-client/feed)WikiDiscussions main Synced today

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

Upaknee PHP Client
==================

[](#upaknee-php-client)

A PHP client for the [Upaknee](https://apidoc.upaknee.com) (Cloud Messaging Stack Enterprise) REST API.

Requirements
------------

[](#requirements)

- PHP 8.1+
- A [PSR-18](https://www.php-fig.org/psr/psr-18/) HTTP client and [PSR-17](https://www.php-fig.org/psr/psr-17/)factories. The library does not depend on a specific implementation — install any one you like, for example [Guzzle](https://docs.guzzlephp.org/):

```
composer require upanupstudios/upaknee-php-client guzzlehttp/guzzle
```

Authentication
--------------

[](#authentication)

The API uses HTTP **Basic** authentication. Your token (a 32-character alphanumeric string) and an optional security password are obtained from the **Settings** tab of Campaign Manager.

Usage
-----

[](#usage)

The quickest way to get started — the HTTP client and factories are auto-discovered from whatever PSR-18/PSR-17 implementation you have installed:

```
use Upanupstudios\Upaknee\Php\Client\Upaknee;

$client = Upaknee::create('YOUR_API_TOKEN', 'OPTIONAL_PASSWORD');

// API version
$version = $client->version();

// Subscribers
$client->subscribers()->summary();
$client->subscribers()->all(limit: 50, offset: 0);
$client->subscribers()->show('PROFILE_ID');
$client->subscribers()->findByEmail('person@example.com');
$client->subscribers()->findByRecordId('RECORD_ID');

$client->subscribers()->create([
  'email' => 'person@example.com',
  'first-name' => 'Ada',
  'suppress-confirmation' => true,
]);

$client->subscribers()->update('PROFILE_ID', ['first-name' => 'Grace']);
$client->subscribers()->remove('PROFILE_ID'); // permanent, irreversible
```

### Bring your own HTTP client

[](#bring-your-own-http-client)

For full control (custom middleware, timeouts, testing), construct the transport yourself:

```
use GuzzleHttp\Client as GuzzleClient;
use Nyholm\Psr7\Factory\Psr17Factory;
use Upanupstudios\Upaknee\Php\Client\Config;
use Upanupstudios\Upaknee\Php\Client\HttpClient;
use Upanupstudios\Upaknee\Php\Client\Upaknee;

$factory = new Psr17Factory();
$transport = new HttpClient(
  new GuzzleClient(),
  $factory,            // PSR-17 request factory
  $factory,            // PSR-17 stream factory
  new Config('YOUR_API_TOKEN', 'OPTIONAL_PASSWORD'),
);

$client = new Upaknee($transport);
```

Error handling
--------------

[](#error-handling)

Successful responses are decoded from XML into associative arrays. Errors throw typed exceptions that all implement `Upanupstudios\Upaknee\Php\Client\Exception\ExceptionInterface`:

ExceptionWhen`AuthenticationException`HTTP 401 / 403`NotFoundException`HTTP 404`ValidationException`HTTP 406 / 422 (e.g. duplicate or invalid email)`ApiException`Any other HTTP error (base class; carries the PSR-7 response)`TransportException`Network/transport failure (no response received)```
use Upanupstudios\Upaknee\Php\Client\Exception\ApiException;

try {
  $subscriber = $client->subscribers()->show('PROFILE_ID');
} catch (ApiException $e) {
  echo $e->getStatusCode();      // e.g. 404
  $response = $e->getResponse(); // PSR-7 ResponseInterface|null
}
```

License
-------

[](#license)

MIT

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance63

Regular maintenance activity

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 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

Every ~352 days

Total

2

Last Release

945d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5da4fa6d7affee3150149695a1ab68d861d15634b98e1791672b9b503a1e54b8?d=identicon)[marcomaranao](/maintainers/marcomaranao)

---

Top Contributors

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

---

Tags

apiupanknee

### Embed Badge

![Health badge](/badges/upanupstudios-upaknee-php-client/health.svg)

```
[![Health](https://phpackages.com/badges/upanupstudios-upaknee-php-client/health.svg)](https://phpackages.com/packages/upanupstudios-upaknee-php-client)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M47](/packages/tencentcloud-tencentcloud-sdk-php)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)[resend/resend-php

Resend PHP library.

617.2M43](/packages/resend-resend-php)[files.com/files-php-sdk

Files.com PHP SDK

2481.1k](/packages/filescom-files-php-sdk)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.6M13](/packages/checkout-checkout-sdk-php)[scriptdevelop/whatsapp-manager

Paquete para manejo de WhatsApp Business API en Laravel

783.8k](/packages/scriptdevelop-whatsapp-manager)

PHPackages © 2026

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