sepiosky/kavenegar-notifications-channel
Notification system, making it a seamless fit for applications already using Laravel’s notification framework (e.g., Mail, Slack, Nexmo). This aligns with Laravel’s modular, channel-agnostic design.config/services.php structure may conflict with custom Laravel setups (e.g., environment-based overrides).sender but SMS does).Illuminate\Notifications\Notification. Works alongside existing channels (e.g., Mail, Database).KavenegarChannel and test end-to-end.via() calls in notification classes to include KavenegarChannel.config/services.php and environment variables for API keys.Illuminate\Notifications\Notification and use the via() method correctly.KAVENEGAR_API_KEY and KAVENEGAR_SENDER in .env.config/services.php (if not auto-discovered).config/app.php.KavenegarChannel::class in via().public function via($notifiable) {
return [KavenegarChannel::class];
}
.env + secrets manager).KavenegarException.Illuminate\Queue) to throttle requests.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Kavenegar API downtime | SMS notifications fail silently. | Implement a fallback channel (e.g., email) or retry queue. |
| Invalid API key | All SMS notifications fail. | Validate keys on startup; use feature flags to disable SMS if misconfigured. |
| Rate limit exceeded | Throttled requests. | Queue messages with exponential backoff; use multiple API keys. |
| Kavenegar API deprecation | Package breaks. | Monitor Kavenegar’s API changes; fork the package if needed. |
| High error rates | Poor user experience. | Log failures; notify admins; implement a circuit breaker. |
| International number formatting | Failed deliveries. | Validate phone numbers before sending; use E.164 format. |
KavenegarChannel usage in the team’s notification guide.How can I help you explore Laravel packages today?