PHPackages                             andriwil0176/laravel-watzap - 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. andriwil0176/laravel-watzap

ActiveLibrary[API Development](/categories/api)

andriwil0176/laravel-watzap
===========================

Laravel package wrapper for Watzap API (official endpoints)

v1.0.0(7mo ago)01MITPHPPHP &gt;=8.0CI passing

Since Sep 30Pushed 1mo agoCompare

[ Source](https://github.com/laravel-architect/laravel-watzap)[ Packagist](https://packagist.org/packages/andriwil0176/laravel-watzap)[ RSS](/packages/andriwil0176-laravel-watzap/feed)WikiDiscussions main Synced 1mo ago

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

Laravel Watzap
==============

[](#laravel-watzap)

[![CI](https://github.com/andriwil0176/laravel-watzap/actions/workflows/ci.yml/badge.svg)](https://github.com/andriwil0176/laravel-watzap/actions/workflows/ci.yml)[![Latest Stable Version](https://camo.githubusercontent.com/9944fe6d899db13cf81f2db20d68bc5cf25aa3f90ce5ef2e3e3f2516c1c5d0ac/68747470733a2f2f706f7365722e707567782e6f72672f616e64726977696c303137362f6c61726176656c2d7761747a61702f76)](https://packagist.org/packages/andriwil0176/laravel-watzap)[![Total Downloads](https://camo.githubusercontent.com/e08767a3a44effdd07c69b839a95a3ad28ac4a2e19c4e57d91b687111b24d9a6/68747470733a2f2f706f7365722e707567782e6f72672f616e64726977696c303137362f6c61726176656c2d7761747a61702f646f776e6c6f616473)](https://packagist.org/packages/andriwil0176/laravel-watzap)[![License](https://camo.githubusercontent.com/438e37e131f7d3c3946dcba6cdab6c323eb222a59d06881610b51b16d0607443/68747470733a2f2f706f7365722e707567782e6f72672f616e64726977696c303137362f6c61726176656c2d7761747a61702f6c6963656e7365)](LICENSE)

Laravel package untuk integrasi **[Watzap API](https://api.watzap.id/v1)**.
Mendukung multi-number, queue dengan random delay, round-robin sender, dan webhook handler.

---

✨ Features
----------

[](#-features)

- ✅ Check API status
- ✅ Validate WhatsApp number
- ✅ Grab WhatsApp groups &amp; participants
- ✅ Send Text, Image (URL), File (URL)
- ✅ Send to Group (Text, Image, File)
- ✅ Webhook management (set, get, unset)
- ✅ Queue support (default ON) dengan random delay antar pesan (30–120s)
- ✅ Multi-number round-robin (auto pilih `number_key` dari array config)

---

📦 Install
---------

[](#-install)

```
composer require andriwil0176/laravel-watzap
```

Publish config:

```
php artisan vendor:publish --tag=watzap-config
```

---

⚙️ Configuration
----------------

[](#️-configuration)

Tambahkan ke `.env`:

```
WATZAP_API_KEY=your_api_key_here
WATZAP_NUMBER_KEYS=key1,key2,key3

# optional overrides
WATZAP_BASE_URL=https://api.watzap.id/v1
WATZAP_USE_QUEUE=true
WATZAP_MIN_DELAY=30
WATZAP_MAX_DELAY=120
```

---

🚀 Usage
-------

[](#-usage)

### Via Facade

[](#via-facade)

```
use Watzap;

Watzap::sendText('6281234567890', 'Hello world!');
```

### Via Dependency Injection

[](#via-dependency-injection)

```
use Andriwil0176\Watzap\WatzapClient;

class DemoController extends Controller
{
    public function send(WatzapClient $watzap)
    {
        return $watzap->sendImage('6281234567890', 'https://example.com/image.jpg', 'Check this out!');
    }
}
```

### Example Artisan Command

[](#example-artisan-command)

```
php artisan watzap:send 6281234567890 "Test message"
```

---

🧪 Testing
---------

[](#-testing)

Run PHPUnit:

```
vendor/bin/phpunit --testdox
```

---

🔗 Webhook
---------

[](#-webhook)

Route default:

```
POST /watzap/webhook

```

Controller akan mengembalikan payload apa adanya.
Kamu bisa extend untuk handle event `incoming_chat`, dll.

---

📱 Phone Number Utilities

Selain integrasi ke API Watzap, package ini juga menyediakan helper untuk validasi dan normalisasi nomor WhatsApp ke format internasional (E.164).

🔍 Cek format nomor $client = app(\\Andriwil0176\\Watzap\\WatzapClient::class);

$client-&gt;isValidNumberFormat('6281234567890'); // true (sudah format E.164) $client-&gt;isValidNumberFormat('081234567890'); // false (masih format lokal) $client-&gt;isValidNumberFormat('12025550123'); // true (nomor US)

🔄 Normalisasi nomor lokal $client = app(\\Andriwil0176\\Watzap\\WatzapClient::class);

// Indonesia (default kode negara 62) $client-&gt;normalizeNumber('08123456789'); // Hasil: "628123456789"

// UK (kode negara 44) $client-&gt;normalizeNumber('02071838750', '44'); // Hasil: "442071838750"

⚠️ WhatsApp hanya menerima format internasional (E.164). Tidak ada nomor WhatsApp valid yang dimulai dengan 0.

---

🏗 Example App
-------------

[](#-example-app)

Repo ini juga menyertakan folder `example/` yang berisi:

- Controller demo (`WatzapDemoController`)
- Artisan Command demo (`SendWatzapCommand`)

---

🛠 Development Notes
-------------------

[](#-development-notes)

- Namespace default: `Andriwil0176\Watzap` → ubah sesuai username/org kamu.
- Queue default **ON** dengan delay random (30–120s). Bisa dimatikan via `WATZAP_USE_QUEUE=false`.
- Round-robin akan otomatis memilih `number_key` dari array config.

---

📜 License
---------

[](#-license)

MIT License

Copyright (c) 2025 Andri Willyarso

Permission is hereby granted, free of charge, to any person obtaining a copy...

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance79

Regular maintenance activity

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

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

Unknown

Total

1

Last Release

224d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8daaca96478efe06095fef7b10769324f5f79bef4a8dd94faf5f397023672908?d=identicon)[andriwil0176](/maintainers/andriwil0176)

---

Top Contributors

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

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/andriwil0176-laravel-watzap/health.svg)

```
[![Health](https://phpackages.com/badges/andriwil0176-laravel-watzap/health.svg)](https://phpackages.com/packages/andriwil0176-laravel-watzap)
```

###  Alternatives

[skagarwal/google-places-api

Google Places Api

1913.0M8](/packages/skagarwal-google-places-api)[dcblogdev/laravel-microsoft-graph

A Laravel Microsoft Graph API (Office365) package

168285.5k1](/packages/dcblogdev-laravel-microsoft-graph)[vluzrmos/slack-api

Wrapper for Slack.com WEB API.

102589.1k3](/packages/vluzrmos-slack-api)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1344.8k1](/packages/jasara-php-amzn-selling-partner-api)[grantholle/powerschool-api

A Laravel package to make interacting with PowerSchool less painful.

1715.6k1](/packages/grantholle-powerschool-api)

PHPackages © 2026

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