- How do I install laravel-notification-channels/sms77 in a Laravel app?
- Install it with Composer via composer require laravel-notification-channels/sms77. The package is auto-discovered through its service provider, so no manual registration is needed in a standard Laravel skeleton. After installing, publish the config file and set SMS77_API_KEY plus your sender identity in your .env. A working send is typically achievable in under an hour for an experienced Laravel developer.
- Which Laravel and PHP versions does this sms77 notification channel support?
- The package's supported Laravel and PHP ranges are defined in its composer.json constraints, so check those against your current and next-upgrade targets before committing. The technical evaluation explicitly flags that the recorded latest release date should be verified against the actual repository tag and Packagist rather than trusted from metadata alone. Because the package has very little community validation, expect to be the one who discovers incompatibilities on Laravel major-version bumps and HTTP client conflicts.
- How do I send an SMS with sms77 from a Laravel notification?
- Add the sms77 channel class to your notification's via() method and define a toSms77() method that returns the package's message value object. Any notifiable model, or an on-demand route created with Notification::route(), can then receive the SMS. The package is a thin driver around the Seven HTTP API, so the rest of the flow follows standard Laravel notification conventions.
- Can I send an SMS to a phone number that is not attached to a user model?
- Yes, this is handled by Laravel's built-in on-demand notification support rather than by anything package-specific. Use Notification::route('sms77', $phoneNumber)->notify(new YourNotification()) and the channel will deliver to that number. You are still responsible for normalizing the number to E.164 format, since the package does not do that for you.
- Does the sms77 channel work with queued notifications?
- Yes, it composes cleanly with Laravel's queueable notifications because it is a standard notification channel. Implement ShouldQueue on your notification and the send happens on your worker rather than in the request cycle. Note that queue configuration, retry policy, and throttling are your responsibility, not the package's.
- Does this package support delivery receipts, webhooks, or provider message IDs?
- No. The technical evaluation describes the channel as fire-and-forget, with no delivery-receipt or webhook handling built in, so you inherit a blind spot on deliverability. If you need reconciliation, you must capture the provider response yourself, for example by wrapping the send call in your own adapter that inspects the HTTP response. Plan for that gap before you rely on SMS for anything time-critical.
- Is laravel-notification-channels/sms77 compatible with the sms77 rebrand to Seven.io?
- The package targets the Seven (formerly sms77) HTTP API, but the rebrand means historical endpoint and payload assumptions inside the wrapper may drift over time. Treat any change in the vendor's API surface as something you will detect, not something the maintainer will necessarily catch for you. Verifying the endpoints against current Seven documentation is a sensible first integration step.
- How do I test SMS notifications without hitting the real sms77 API?
- Use Laravel's Notification::fake() to assert that a notification was sent to the expected route, which keeps tests fast and offline. For the channel itself, fake the underlying HTTP client so it returns a canned success response instead of calling Seven. The package ships no null or fake driver, so many teams add a small application-level SmsSender port with a null adapter for local and CI environments.
- Is this package a lock-in risk, and how do I mitigate it?
- It is a vendor-specific channel class, so putting Sms77Channel::class directly in domain code does create coupling. The recommended mitigation is an application-level port such as SmsSender with a Seven adapter and a null adapter, so notifications reference your own channel that delegates to the port. That roughly one-day abstraction turns a provider swap into a container binding and makes failover to Vonage, Twilio, or MessageBird an operational task rather than a rewrite.
- Is laravel-notification-channels/sms77 actively maintained and safe for production?
- Community validation is minimal, with roughly nine stars and no dependents, so edge cases will surface on your timeline rather than the maintainer's. The dominant risk is stewardship rather than code quality, given the package is only a few hundred lines of MIT-licensed glue. Adopt it conditionally: pin the version, verify the actual release tag on Packagist, hide it behind an internal abstraction, and keep a fork in your back pocket since the codebase is small enough to own cheaply.