PHPackages                             danvick/yii2-jumbefupi - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. danvick/yii2-jumbefupi

ActiveYii2-extension[HTTP &amp; Networking](/categories/http)

danvick/yii2-jumbefupi
======================

Yii2 extension for integrating with JumbeFupi SMS Gateway

06491PHP

Since Mar 19Pushed 1y ago1 watchersCompare

[ Source](https://github.com/danvick/yii2-jumbefupi)[ Packagist](https://packagist.org/packages/danvick/yii2-jumbefupi)[ RSS](/packages/danvick-yii2-jumbefupi/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Yii2 JumbeFupi
==============

[](#yii2-jumbefupi)

Yii2 extension for integrating with JumbeFupi SMS Gateway

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

[](#requirements)

You need to register your account at [JumbeFupi](https://account.jumbefupi.com/site/login) if you want to send messages to your users or customers. Sign up is FREE.

The JumbeFupi Gateway API credentials required (username, API key and senderID) will be available under the Developer page in your control panel.

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

[](#installation)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/).

Either run

```
php composer.phar require --prefer-dist danvick/yii2-jumbefupi "*"

```

or add

```
"danvick/yii2-jumbefupi": "*"

```

to the `require` section of your `composer.json` file.

To always use the latest version from Github, in your `composer.json`, add this repository to the `repositories` section.

```
{
  ...
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/danvick/yii2-jumbefupi"
    }
  ],
}
```

Usage
-----

[](#usage)

The extension is used as an application component and configured in the application configuration as such:

```
'components' => [
    ...
    'jumbefupi' => [
        'class' => JumbefupiGateway::class,
        'gatewayUsername' => 'jaribujf',                    // REQUIRED - your JumbeFupi username
        'gatewayApiKey' => 'Jum83fUp14pI_kEy',              // REQUIRED - your JumbeFupi API key
        'senderId' => 'JumbeFupi',                          // REQUIRED - your SenderID / Alphanumeric. If not set here, should be set when sending message
        'callbackUrl' => null,                              // OPTIONAL - the URL where message status response from JumbeFupi Gateway will be sent
        'model' => 'danvick\jumbefupi\models\SmsMessage',   // OPTIONAL - (default: danvick\jumbefupi\models\SmsMessage)
        'db' => 'db',                                       // OPTIONAL - the DB connection component for the messages table
        'cacheBalance' => false,                            // OPTIONAL - whether to store balance after enquiry - cache will be burst on message sending
        'cache' => 'cache',                                 // OPTIONAL - the cache component to store balance if cacheBalance is true
        'balanceCacheKey' => 'JUMBEFUPI_BALANCE',           // OPTIONAL - cache key for storage of JumbeFupi account balance
        'useFileTransport' => false,                        // OPTIONAL - useful in local development
        'fileTransportPath' => '@runtime/messages'          // OPTIONAL - required if `useFileTransport` is true
    ],
]
```

You also should configure the extension migrations to be run in your application config by adding `danvick\jumbefupi\migrations` to your `migrationNamespaces`:

```
'controllerMap' => [
    'migrate' => [
        'class' => 'yii\console\controllers\MigrateController',
        ...
        'migrationNamespaces' => [
            ...
            'danvick\jumbefupi\migrations'
        ],
    ],
],
```

### Sending a message

[](#sending-a-message)

> Note: `yii2-jumbefupi` extension uses the `yii2-httpclient` and 'baseUrl' is already set in the yii2-jumbefupi extension itself. The current API base URL is `https://api.jumbefupi.com/v2`

```
use danvick\jumbefupi\TextMessage;
...
Yii::$app->jumbefupi->send(new TextMessage(['recipients' => $recipients, 'text' => $message]))
```

`$recipients`: A string of comma separated phone numbers or an array of phone number string

`$message`: Text message to send

`$senderId` (OPTIONAL): The alphanumeric SenderId shown as message sender to user. Optional if already set in `jumbefupi` component in config

### Handling status callbacks / Check message status

[](#handling-status-callbacks--check-message-status)

You can either create an endpoint to handle message status callback so that when the message status changes (e.g. when message is delivered or otherwise) or manually calling `getMessageStatus()` function

1. Setting up a callback

    Set up an action to handle callbacks from the gateway then update the message status in DB. It's important that this action be unauthenticated

    The server response to the callback will take the following shape:

    ```
    {
        "message_id": "517E70B0F3A611EC84223E99B9487780",
        "phone_number": "0700000000",
        "cost": 1.0,
        "status": "queued",
        "status_message": "Added to queue",
        "sms_count": 1
    }
    ```
2. Manually calling `getMessageStatus()` to get message status

    ```
    Yii::$app->jumbefupi->getMessageStatus($messageId)
    ```

    `$messageId`: message identifier found within the `message_id` column in the `sms_message` table

    The message will be automatically updated in the DB on successful server response.

### Checking your JumbeFupi account balance

[](#checking-your-jumbefupi-account-balance)

Returns your JumbeFupi account balance. The balance can be cached if `cacheBalance` is set to true in config. The cached balance if any will be deleted on sending message(s)

```
Yii::$app->jumbefupi->checkBalance($fromCache)
```

`$fromCache`: Boolean to enable getting cached balance if available or to ignore cached value. Only useful when `cacheBalance` is set to true in config

### API Documentation

[](#api-documentation)

See the API documentation for more information here: [JumbeFupi API Docs](https://api.jumbefupi.com/v2/docs)

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance34

Infrequent updates — may be unmaintained

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity15

Early-stage or recently created project

 Bus Factor1

Top contributor holds 82.9% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/90f313a3918693b91da6bad0ec9a5877f6f8188ae04f0bdbcb58602e08320cee?d=identicon)[danvick](/maintainers/danvick)

---

Top Contributors

[![danvick](https://avatars.githubusercontent.com/u/7383575?v=4)](https://github.com/danvick "danvick (29 commits)")[![mwaigichuhi](https://avatars.githubusercontent.com/u/6260482?v=4)](https://github.com/mwaigichuhi "mwaigichuhi (6 commits)")

### Embed Badge

![Health badge](/badges/danvick-yii2-jumbefupi/health.svg)

```
[![Health](https://phpackages.com/badges/danvick-yii2-jumbefupi/health.svg)](https://phpackages.com/packages/danvick-yii2-jumbefupi)
```

###  Alternatives

[friendsofsymfony/rest-bundle

This Bundle provides various tools to rapidly develop RESTful API's with Symfony

2.8k73.3M319](/packages/friendsofsymfony-rest-bundle)[php-http/discovery

Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations

1.3k309.5M1.2k](/packages/php-http-discovery)[pusher/pusher-php-server

Library for interacting with the Pusher REST API

1.5k94.8M293](/packages/pusher-pusher-php-server)[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78026.4M414](/packages/react-http)[php-http/curl-client

PSR-18 and HTTPlug Async client with cURL

48347.0M384](/packages/php-http-curl-client)[smi2/phpclickhouse

PHP ClickHouse Client

84310.1M71](/packages/smi2-phpclickhouse)

PHPackages © 2026

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