Download the PHP package limon/laravel-zender without Composer
On this page you can find all versions of the php package limon/laravel-zender. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-zender
Zender PHP & Laravel SDK
A modern, fluent, feature-complete PHP SDK and Laravel Package for the Zender Messaging Platform (SMS, WhatsApp, OTP, USSD, Gateway Devices & Contacts management).
Features
- ⚡ Full API Coverage: 100% support for all 54 Zender REST API endpoints.
- 📱 SMS Integration: Single SMS, Bulk SMS, SMS Campaigns (Start/Stop), Sent/Received/Pending message logs.
- 💬 WhatsApp Integration: Text chats, Media attachments (Images, Audio, Video), Documents (PDF, XML, DOC, XLSX), Group Messaging, WhatsApp Number Validation, Linked Accounts & QR status.
- 🔐 OTP Engine: Send auto-expiring OTP codes via SMS or WhatsApp and verify them with a single call.
- 📞 USSD Automation: Send USSD codes and inspect response logs.
- 📇 Contacts & Groups: Manage contact books, groups, and unsubscribed contact lists.
- 🤖 Android Gateways: Fetch gateway devices, manage notifications.
- 🚀 Laravel Ready: Auto-discovery, configuration publishing, container binding, and fluent Facade syntax (
Zender::sms()->send(...)). - 🛠️ Pure PHP Supported: Works seamlessly in standard PHP applications without framework dependencies.
Requirements
- PHP
^8.1or higher guzzlehttp/guzzle:^7.5- For Laravel integration: Laravel
^9.0,^10.0,^11.0, or^12.0
Installation
Install the package via Composer:
Laravel Setup
1. Configuration
If using Laravel, the service provider and facade will be automatically registered via Package Auto-Discovery.
Publish the configuration file using:
This will create a config/zender.php file in your application.
2. Environment Variables
Add your Zender Site URL and API Secret (copied from your Zender Dashboard under Tools -> API Keys) to your .env file:
Laravel Usage Examples
1. Send SMS Messages
2. Send WhatsApp Messages & Attachments
3. Send & Verify OTP Codes
4. Check Account Balance & Credits
Standalone PHP Usage
You can also use this package in pure PHP projects without Laravel:
Complete API Reference
| Service Method | Description |
|---|---|
Zender::sms() |
|
send(array $params) |
Send a single SMS message |
sendBulk(array $params) |
Send bulk SMS messages to numbers or groups |
getMessage(int $id, string $type) |
Get single SMS details (type: sent/received) |
getSent(int $limit, int $page) |
Fetch sent SMS logs |
getReceived(int $limit, int $page) |
Fetch received SMS logs |
getPending(int $limit, int $page) |
Fetch pending SMS queue |
getCampaigns(int $limit, int $page) |
List SMS campaigns |
deleteSent(int $id) |
Delete sent SMS log |
deleteReceived(int $id) |
Delete received SMS log |
deleteCampaign(int $id) |
Delete SMS campaign |
startCampaign(int $campaignId) |
Remote start an SMS campaign |
stopCampaign(int $campaignId) |
Remote stop an SMS campaign |
Zender::whatsapp() |
|
send(array $params) |
Send WhatsApp text, media, or document message |
sendBulk(array $params) |
Send bulk WhatsApp chats |
getMessage(int $id, string $type) |
Fetch single WhatsApp message details |
getSent(int $limit, int $page) |
Fetch sent WhatsApp logs |
getReceived(int $limit, int $page) |
Fetch received WhatsApp logs |
getPending(int $limit, int $page) |
Fetch pending WhatsApp queue |
getCampaigns(int $limit, int $page) |
Fetch WhatsApp campaigns |
getAccounts(int $limit, int $page) |
Fetch connected WhatsApp accounts |
getGroups(string $uniqueId) |
List WhatsApp groups |
getGroupContacts(string $unique, string $gid) |
Get WhatsApp group contact list |
validate(string $unique, string $phone) |
Check if phone number exists on WhatsApp |
getQr(string $token) |
Get WhatsApp QR link token data |
getServers() |
List available WhatsApp servers |
createLink(string $sid) |
Link a new WhatsApp account |
relink(string $sid, string $unique) |
Relink existing WhatsApp account |
startCampaign(int $campaignId) |
Remote start WhatsApp campaign |
stopCampaign(int $campaignId) |
Remote stop WhatsApp campaign |
deleteSent(int $id) |
Delete sent WhatsApp log |
deleteReceived(int $id) |
Delete received WhatsApp log |
deleteAccount(string $unique) |
Unlink/delete WhatsApp account |
deleteCampaign(int $id) |
Delete WhatsApp campaign |
Zender::otp() |
|
send(array $params) |
Dispatch OTP code via SMS or WhatsApp |
verify(string $otp) |
Verify OTP code |
Zender::contacts() |
|
createContact(array $params) |
Add contact to phonebook |
createGroup(array $params) |
Create contact group |
getContacts(int $limit, int $page) |
Fetch contacts list |
getGroups(int $limit, int $page) |
Fetch groups list |
getUnsubscribed(int $limit, int $page) |
Fetch unsubscribed list |
deleteContact(int $id) |
Delete contact |
deleteGroup(int $id) |
Delete group |
deleteUnsubscribed(int $id) |
Delete unsubscribed entry |
Zender::ussd() |
|
send(array $params) |
Send USSD request to device |
get(int $limit, int $page) |
Fetch USSD request logs |
delete(int $id) |
Delete USSD request log |
Zender::android() |
|
getDevices(int $limit, int $page) |
Fetch connected Android gateway devices |
deleteNotification(int $id) |
Delete Android notification log |
Zender::account() |
|
getCredits() |
Fetch remaining account credits |
getSubscription() |
Fetch active subscription package details |
getEarnings() |
Fetch partner earnings details |
Zender::gateway() |
|
getRates() |
Fetch gateway rates list |
Zender::misc() |
|
getShorteners() |
Fetch list of available URL shorteners |
Exception Handling
The package throws Zender\Exceptions\ZenderApiException for HTTP errors or API status failures.
Testing
Run unit tests using PHPUnit:
License
The MIT License (MIT). Please see LICENSE for more information.
All versions of laravel-zender with dependencies
guzzlehttp/guzzle Version ^7.5
illuminate/support Version ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0