laravel-notification-channels/jet-sms
Jet SMS notification channel for Laravel. Send SMS messages through the Jet SMS API using Laravel’s notification system, with a simple channel integration for direct or queued notifications.
Notification to a JetSMS API call. That makes the honest comparison "adopt as-is" vs. "copy ~200 lines into app/Notifications/Channels" rather than "adopt vs. build a gateway." Given the package's staleness (last release March 2020, 9 stars, 0 dependents), a vendored internal copy is a credible and often preferable path.NotificationChannel contract, the product decision is reversible: you can ship SMS with via(['mail','jetsms']) today and swap or add a second provider (Twilio, Vonage, Netgsm, Iletimerkezi) later without touching notification classes. Use this to de-risk the "which SMS vendor" decision, which should be a commercial/ops decision, not an architecture one — keep it that way.Adopt or evaluate when:
Look elsewhere when:
To executives: This is not a strategic bet — it is a small, MIT-licensed adapter that lets us send SMS through a Turkish gateway using plumbing we already have in Laravel. It unlocks the TR-market OTP and transactional-message use cases with roughly days, not weeks, of engineering. The caveats are equally small and equally clear: the package is a one-person-scale artifact last updated in 2020 with essentially no adoption, so we should budget a short spike to verify it against the live JetSMS API and assume we will own the code. Treat the vendor contract — pricing, sender-ID registration, delivery-report terms — as the real decision; the code is the cheap part and is swappable.
To engineering: One NotificationChannel implementation that translates a Notification into a JetSMS HTTP call. It preserves the via() abstraction, so adding or replacing providers later doesn't touch notification classes — but assume we fork it into app/ rather than depend on it: verify current API/auth, add tests around the request payload and failure path, and decide explicitly how DLRs and retries are handled (the package won't). Two days to validate, not two weeks.
How can I help you explore Laravel packages today?