- How do I install avto-dev/smspilot-notifications-laravel?
- Install it with Composer by running composer require avto-dev/smspilot-notifications-laravel. Laravel's package auto-discovery registers the service provider, so manual registration is normally unnecessary. After installing, add your Smspilot credentials to the package configuration before sending your first notification. Note that the 2.8.x line requires Laravel 11 or newer, so check your framework version first.
- Which Laravel versions does this package support?
- Release 2.8.0 supports Laravel 11, 12 and 13, and its Composer constraint now requires Illuminate 11 or newer. Applications still on Laravel 9 or 10 must remain on the 2.7.x line until the framework upgrade is complete. Laravel 13 support is forward-looking, so confirm GA status and whether it is backed by a CI job rather than only a widened constraint.
- How do I configure Smspilot API credentials?
- Credentials and sender settings are read from the package configuration, which must be adjusted for your Smspilot account. Keep the API key out of version control by loading it from environment variables in your .env file, as with other Laravel service credentials. If the package ships a publishable config file, publish it with php artisan vendor:publish and edit the values there. Refer to the README for the exact key names in your installed version.
- How do I send an SMS with a Laravel notification using this channel?
- Generate a notification with php artisan make:notification, then add the package's SMS channel class to the array returned by its via() method. Implement the message-building method documented in the README so it returns the SMS text and any per-message sender options. Trigger the notification with $user->notify(new YourNotification()) or the Notification facade. The recipient phone number is resolved through the notifiable model's routeNotificationFor method.
- Can I set a custom SMS sender name?
- Yes, sender settings are configurable, so you can define the default sender used for outgoing messages. Smspilot generally requires sender names to be registered and approved on your account before messages are delivered, so confirm the name is allowed. Depending on the message object the package exposes, you may also override the sender per notification.
- How do I test SMS notifications without calling the real Smspilot API?
- Use Laravel's Notification::fake() in your test suite and assert that the expected notification was sent to the expected notifiable. That verifies your notification wiring without any outbound HTTP requests. To exercise the channel code itself, mock the underlying HTTP client or bind a fake transport instead of hitting Smspilot. Never run tests against a production API key.
- How do I fix a Composer conflict with illuminate/support when upgrading?
- Version 2.8.x requires Laravel 11 or newer, so any transitive dependency still pinned to Illuminate 9 or 10 will block resolution. Run composer update avto-dev/smspilot-notifications-laravel --with-dependencies --dry-run first to see what the solver reports against your real lock file. Upgrade the conflicting packages rather than overriding constraints with --ignore-platform-reqs, which only defers the failure to runtime.
- What PHP version does this package require?
- The runtime PHP requirement is declared in the package's composer.json, so check that file or run composer show avto-dev/smspilot-notifications-laravel for the authoritative answer. PHP 8.5 appearing in a Docker development container does not imply a PHP 8.5 runtime floor. The 2.8.0 notes do not announce a PHP constraint bump, but verify before rolling it out to production.
- How does this compare to other Laravel SMS notification channels?
- It is a single-provider channel dedicated to Smspilot.ru, which keeps the code small with no abstraction layer between your notifications and that API. If you already use Smspilot, that focus is an advantage; if you need multi-provider failover or a different gateway, a more general SMS package or a custom channel may fit better. Compare maintenance cadence and supported Laravel versions before committing.
- Is the package actively maintained and will 2.7.x still receive fixes?
- The 2.8.0 release tracking Laravel 11 through 13 signals active maintenance at the time of release. Whether the 2.7.x line continues to receive security fixes depends on the maintainer's support policy, so ask in the repository if you are pinned there. Check the GitHub releases and commit history for the release cadence before relying on it long term.