Download the PHP package devwizardhq/laravel-textify without Composer
On this page you can find all versions of the php package devwizardhq/laravel-textify. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download devwizardhq/laravel-textify
More information about devwizardhq/laravel-textify
Files in devwizardhq/laravel-textify
Package laravel-textify
Short Description 🚀 Enterprise-ready Laravel SMS package supporting 8+ providers including Bangladeshi (DhorolaSMS, BulkSMSBD, MimSMS, eSMS, REVE SMS, Alpha SMS) & international gateways (Twilio, Nexmo). Features automatic fallback, queue integration, activity tracking, balance checking, and fluent API for production-grade SMS solutions.
License MIT
Homepage https://github.com/devwizardhq/laravel-textify
Informations about the package laravel-textify
Laravel Textify 📱
A powerful and enterprise-ready SMS package for Laravel applications supporting 8+ SMS providers including Bangladeshi and international gateways. Built with modern PHP 8.3+ and Laravel 10+ support, featuring queue integration, automatic fallback system, comprehensive activity tracking, and an intuitive fluent API.
Perfect for Laravel developers who need reliable SMS functionality with multiple provider support and enterprise-grade features.
✨ Features
- 🚀 Multiple SMS Providers: Support for 8+ SMS gateways with unified API
- 🇧🇩 Bangladeshi SMS Providers: DhorolaSMS, BulkSMSBD, MimSMS, eSMS, REVE SMS, Alpha SMS
- 🌍 International SMS Providers: Twilio, Nexmo (Vonage) with optional SDK installation
- 🔄 Automatic Fallback System: Seamless failover between providers for maximum reliability
- 📊 Comprehensive Activity Tracking: Database and file-based logging with audit trails
- ⚡ Laravel Queue Integration: Background SMS processing for improved performance
- 🔔 Laravel Notifications: Native notification channel support with
toTextify()
method - 🎯 Fluent API: Intuitive and chainable methods for developer-friendly experience
- 📱 Smart Phone Number Validation: Automatic formatting and validation for multiple countries
- 🎨 Event-Driven Architecture: Listen to SMS lifecycle events (sending, sent, failed)
- ⚙️ Highly Configurable: Flexible configuration with environment variable support
- 🛡️ Production Ready: Built with enterprise-grade error handling and logging
- 🔧 Extensible: Easy custom provider integration
� Table of Contents
- 📡 Supported SMS Providers
- 📦 Installation
- Configuration
- 🚀 Quick Start
- 🔔 Laravel Notifications
- 📋 Provider-Specific Usage
- 📚 API Reference
- 🔧 Advanced Usage
- Testing
- Contributing
�📡 Supported SMS Providers
🇧🇩 Bangladeshi Providers
Provider | Features | Status | Methods |
---|---|---|---|
DhorolaSMS | GET API, Status tracking, SSL support | ✅ Ready | send() , getBalance() |
BulkSMSBD | GET/POST API, Bulk sending, Plain text response | ✅ Ready | send() , getBalance() |
MimSMS | Transactional/Promotional, Campaign support | ✅ Ready | send() , getBalance() |
eSMS | Enterprise API, Bearer token auth, Cost tracking | ✅ Ready | send() |
REVE SMS | Premium gateway, Balance check, Multi-endpoint | ✅ Ready | send() , getBalance() |
Alpha SMS | Dual format support, Balance check, SSL/Non-SSL | ✅ Ready | send() , getBalance() |
🌍 International Providers
Provider | Features | Status | Installation | Methods |
---|---|---|---|---|
Twilio | Global leader, Advanced features, Webhooks | ✅ Ready | composer require twilio/sdk |
send() , Advanced APIs |
Nexmo (Vonage) | International coverage, Client tracking | ✅ Ready | composer require vonage/client |
send() , Analytics |
🛠️ Development & Testing Providers
Provider | Purpose | Features |
---|---|---|
Log Provider | Development testing | Logs SMS to Laravel logs |
Array Provider | Unit testing | Stores SMS in memory array |
Note: International providers require additional SDK installation for full functionality. Development providers are included for testing purposes.
📦 Installation
Install the package via Composer:
🔧 Laravel Auto-Discovery
Laravel will automatically register the service provider and facade. No additional configuration required!
📄 Publish Configuration
Publish the configuration file:
🗄️ Optional: Database Activity Tracking
If you want to track SMS activities in your database:
📋 Requirements
- PHP: 8.3 or higher
- Laravel: 10.0, 11.0, or 12.0
- Extensions: cURL, JSON
Configuration
Environment Variables
Add these to your .env
file based on the providers you want to use:
🚀 Quick Start
Basic SMS Sending
Fluent API
Laravel Notifications
🔔 Laravel Notifications
Laravel Textify provides seamless integration with Laravel's notification system, allowing you to send SMS notifications just like email or database notifications.
Quick Setup
-
Add
textify
to your notification channels: -
Implement the
toTextify()
method: - Configure phone number resolution in your model:
Complete Notification Example
Phone Number Resolution Methods
The notification channel looks for phone numbers in this priority order:
Message Format Options
The toTextify()
method accepts multiple formats:
Sending Notifications
Advanced Features
Provider Selection
Conditional Sending
Event Integration
📋 Provider-Specific Usage
🇧🇩 Bangladeshi Providers
DhorolaSMS
BulkSMSBD
MimSMS
eSMS
REVE SMS
Alpha SMS
🌍 International Providers
Twilio
Nexmo (Vonage)
🛠️ Development & Testing
Log Provider (Development)
Array Provider (Testing)
Unified Send Method
The package provides a powerful unified send method that accepts various input formats:
Queue Support
Event Handling
Balance Checking
Many Bangladeshi providers support balance checking:
📚 API Reference
Core Methods
send(string|array $to, string $message = null): TextifyResponse
Send SMS to one or multiple recipients.
via(string $driver): self
Select specific SMS provider.
driver(string $driver): self
Alias for via()
method (Laravel Manager pattern compatibility).
to(string|array $recipients): self
Set recipient(s) using fluent API.
message(string $message): self
Set SMS message using fluent API.
from(string $senderId): self
Set custom sender ID (if supported by provider).
Provider-Specific Methods
getBalance(): float
Check account balance (supported providers: revesms, dhorola, bulksmsbd, alphasms, mimsms).
Queue Methods
queue(?string $queueName = null): mixed
Send SMS via queue system.
Response Object
The TextifyResponse
object provides access to sending results:
Management Methods
via(string $driver): self
/ driver(string $driver): self
Select SMS provider (both methods are identical).
fallback(string $driver): self
Set fallback provider for current operation.
getProviders(): array
Get list of all registered providers.
hasProvider(string $name): bool
Check if a provider is registered.
getProvider(string $name): TextifyProviderInterface
Get provider instance directly.
reset(): self
Clear prepared data from fluent interface.
Configuration Methods
Available Providers
dhorola
- DhorolaSMSbulksmsbd
- BulkSMSBDmimsms
- MimSMSesms
- eSMSrevesms
- REVE SMSalphasms
- Alpha SMStwilio
- Twilio (requires SDK)nexmo
- Nexmo/Vonage (requires SDK)log
- Log provider (development)array
- Array provider (testing)
🔧 Advanced Usage
Laravel Notifications Integration
📖 For comprehensive notification documentation, see the Laravel Notifications section above.
Laravel Textify provides seamless integration with Laravel's notification system through the textify
channel.
Setting Up Notification Channel
The textify
notification channel is automatically registered when you install the package. No additional configuration is required.
Creating SMS Notifications
Create a notification class that uses the textify
channel:
Configuring Notifiable Models
Add SMS routing to your User model (or any notifiable model). You have multiple options:
Priority Order:
routeNotificationForTextify($notification)
- highest prioritytextifyNumber()
- medium priority- Attribute detection - lowest priority
Advanced textifyNumber() Examples:
bash composer test
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Security Vulnerabilities
Please review [our security policy](../../security/policy) on how to report security vulnerabilities.
## Credits
- [IQBAL HASAN](https://github.com/devwizardhq)
- [All Contributors](../../contributors)
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
All versions of laravel-textify with dependencies
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^10.0||^11.0||^12.0
guzzlehttp/guzzle Version ^7.0
illuminate/support Version ^10.0||^11.0||^12.0
illuminate/events Version ^10.0||^11.0||^12.0
illuminate/queue Version ^10.0||^11.0||^12.0