PHPackages                             faytranevozter/zenziva-lib - 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. faytranevozter/zenziva-lib

ActiveLibrary[HTTP &amp; Networking](/categories/http)

faytranevozter/zenziva-lib
==========================

Zenziva SMS Online Gateway Library

1.1.3(4y ago)031MITPHP

Since Jan 6Pushed 4y ago1 watchersCompare

[ Source](https://github.com/faytranevozter/zenziva-lib)[ Packagist](https://packagist.org/packages/faytranevozter/zenziva-lib)[ RSS](/packages/faytranevozter-zenziva-lib/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (5)Used By (0)

Zenziva SMS Library
===================

[](#zenziva-sms-library)

Zenziva SMS Online Gateway Library based on Zenziva [Documentation](https://www.zenziva.id/dokumentasi/)

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

[](#requirements)

- PHP with Curl Extension Support
- Zenziva Account

How to use
----------

[](#how-to-use)

### Install with Composer

[](#install-with-composer)

Recommended install via [composer](http://getcomposer.org)

```
composer require faytranevozter/zenziva-lib
```

### Usage

[](#usage)

All example below is placed under autoload composer

```
require 'vendor/autoload.php';
use Faytranevozter\Zenziva\Sms;
// your code here ...
```

#### Simple way

[](#simple-way)

```
$sms = new Sms('faytranevozter', '123456');
// or
$sms = new Sms();
$sms->username('faytranevozter'); // chainable
$sms->password('123456'); // chainable
// send sms
$sms->send('089765432123', 'Helaw!'); // send(number, text, otp)
```

Default type is `reguler` if 3rd parameter not set.

#### Masking

[](#masking)

```
$sms = new Sms('faytranevozter', '123456', 'masking');
$sms->send('089765432123', 'Helaw! this is masking sms');
// or
$sms = new Sms('faytranevozter', '123456');
$sms->type('masking'); // chainable
// send sms
$sms->send('089765432123', 'Helaw! this is masking sms'); // send(number, text, otp)
```

Default type is `reguler` if 3rd parameter not set.

#### SMS Center

[](#sms-center)

```
$sms = new Sms('faytranevozter', '123456', 'sms_center');
$sms->subdomain('mysubdomain'); // chainable, [required for sms_center]
$sms->send('089765432123', 'Helaw! this is from sms_center');
// or
$sms = new Sms('faytranevozter', '123456');
$sms->type('sms_center'); // chainable
$sms->subdomain('mysubdomain'); // chainable, [required for sms_center]
// send sms
$sms->send('089765432123', 'Helaw! this is from sms_center'); // send(number, text, otp)
```

Default type is `reguler` if 3rd parameter not set.

#### OTP SMS

[](#otp-sms)

Zenziva now apply special treatment for SMS OTP. See [\#Zenziva Docs](https://www.zenziva.id/dokumentasi/#1487744370576-71f03366-9c88)

> Untuk mengirim SMS OTP, wajib menambahkan parameter type=otp

```
$sms = new Sms('faytranevozter', '123456', 'masking');
$sms->send('089765432123', 'Helaw! this is masking sms', TRUE);
// or
$sms = new Sms('faytranevozter', '123456');
$sms->otp(TRUE); // chainable
// send sms
$sms->send('089765432123', 'Helaw! this is masking sms'); // send(number, text, otp)
```

#### Chaining

[](#chaining)

```
$sms = new Sms();
$sms->username('faytranevozter')
    ->password('123456')
    ->type('masking')
    ->to('089765432123')
    ->message('Helaw!')
    ->send();
```

#### Handling Response

[](#handling-response)

##### Checking SMS Status

[](#checking-sms-status)

```
$sms = new Sms('faytranevozter', '123456');
$is_send = $sms->send('089765432123', 'Helaw! this is my sms');
if ($is_send) {
    echo "Sms sent!";
} else {
    echo "Uh-oh! Failed to send sms";
}
```

##### Get Response

[](#get-response)

```
$sms = new Sms('faytranevozter', '123456');
$sms->send('089765432123', 'Helaw! this is my sms');
$sms->send('082341561273', 'Helaw! this is my second sms');

// get all response
print_r($sms->responses()); // return array of response

// get last response
print_r($sms->last_response()); // return last response
```

##### Get Error

[](#get-error)

```
$sms = new Sms('faytranevozter', '123456');
$sms->send('089765432123', 'Helaw! this is my sms');
$sms->send('082341561273', 'Helaw! this is my second sms');

// get all error
print_r($sms->errors()); // return array of error

// get last error
print_r($sms->last_error()); // return last error
```

#### Using Codeigniter Framework

[](#using-codeigniter-framework)

Creating library `Zenziva.php`

```
use Faytranevozter\Zenziva\Sms;

class Zenziva extends Sms {
    function __construct($params=array()) {
        parent::__construct(...$params);
    }
}
```

Load Zenziva library from controller

```
...

$this->load->library('Zenziva', ['faytranevozter', '123456', 'reguler']);
$this->zenziva->send('089765432123', 'Helaw! this is my sms');

...
```

Credits and License
-------------------

[](#credits-and-license)

### Author

[](#author)

Fahrur Rifai [fahrur.dev](https://www.fahrur.dev)
Twitter [@faytranevozter](https://twitter.com/faytranevozter)

### License

[](#license)

MIT License

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity64

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

Every ~402 days

Total

4

Last Release

1478d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0b69c727c88e088e88f7943fde0d1783aa88fc7f90e0184c3d0837d23e1c8d73?d=identicon)[faytranevozter](/maintainers/faytranevozter)

---

Top Contributors

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

---

Tags

codeignitercomposerphpsmssms-apisms-gatewayzenziva-sms

### Embed Badge

![Health badge](/badges/faytranevozter-zenziva-lib/health.svg)

```
[![Health](https://phpackages.com/badges/faytranevozter-zenziva-lib/health.svg)](https://phpackages.com/packages/faytranevozter-zenziva-lib)
```

###  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)[spatie/crawler

Crawl all internal links found on a website

2.8k16.3M52](/packages/spatie-crawler)[react/http

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

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

PSR-18 and HTTPlug Async client with cURL

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

PHP ClickHouse Client

83510.1M71](/packages/smi2-phpclickhouse)

PHPackages © 2026

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