Download the PHP package winalco/laravel-sms without Composer
On this page you can find all versions of the php package winalco/laravel-sms. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download winalco/laravel-sms
More information about winalco/laravel-sms
Files in winalco/laravel-sms
Package laravel-sms
Short Description Client Laravel pour le relay SMS Winalco (envoi, suivi, webhook signé).
License MIT
Informations about the package laravel-sms
winalco/laravel-sms
Send SMS from your Laravel application through the Winalco relay: transactional sending, database tracking, signed status webhook.
1. Create your account and API key
The code in this package is free (MIT), but sending goes through the Winalco platform: you need an account and an API key.
👉 Create an account / open the console
Free plan, an email address is all it takes, no credit card. Service overview and pricing: https://sms-relay.winalco.dz
Once logged in, go to console → API Keys and create a key. You get a
wak_... token that is shown only once — copy it right away.
The status webhook field on that same page is used in step 4 — leave it empty for now, until your application is deployed.
2. Install the package
In your .env:
To tweak the configuration: php artisan vendor:publish --tag=winalco-sms-config.
3. Send an SMS
Sends go through the Winalco\Sms\Jobs\SendSms job, so a queue worker must be
running. On shared hosting, a one-minute cron is enough:
Need something lower level? Winalco\Sms\WinalcoSms exposes send(),
sendBulk() (max 500 numbers), usage() (quotas) and status($id).
Message length: stay ≤ 160 characters and avoid ê â î ô û ç (silently
switches to UCS-2, i.e. 70 characters per segment).
4. Receive delivery statuses (webhook)
The package already exposes the POST /api/webhooks/winalco-sms route:
HMAC-SHA256 signature verified, duplicates ignored, final statuses (sent,
failed, canceled) written to the sms_messages row. Nothing to code.
Do it in this order, otherwise the relay will push statuses into the void:
- Deploy the code and run
php artisan migratein production. - In console → API Keys, set the status
webhook to
https://your-domain.tld/api/webhooks/winalco-sms(HTTPS and publicly reachable — nolocalhost). - Copy the
whs_...secret, shown only once, intoWINALCO_SMS_WEBHOOK_SECRET. - Clear the cache:
php artisan config:clear.
As long as WINALCO_SMS_WEBHOOK_SECRET is empty, every incoming request is
rejected with a 403 — that is intentional. If you disable then re-enable the
webhook in the console, a new secret is issued: update your .env.
Note: the sent status means "handed to the mobile network", not "received by
the recipient".
5. Data retention
Every sms_messages row keeps the recipient's number and the message body —
often an OTP or a payment reference. Nothing is deleted by default. To purge,
set a duration and schedule model:prune:
Phone numbers never appear in clear text in the package logs (only the last 3 digits are kept).
Compatibility
Laravel 10, 11, 12 and 13 · PHP 8.1+.
Help
- HTTP API details:
docs/winalco-sms-api-reference.mdor https://sms-relay.winalco.dz/api.html - Account, quotas, billing: https://sms-relay.winalco.dz/app/
- Support: [email protected]
Code under the MIT license. The sending service itself (relay, SIM cards, quotas) is provided by the Winalco platform and requires an account.
All versions of laravel-sms with dependencies
guzzlehttp/guzzle Version ^7.2
illuminate/bus Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/database Version ^10.0|^11.0|^12.0|^13.0
illuminate/http Version ^10.0|^11.0|^12.0|^13.0
illuminate/queue Version ^10.0|^11.0|^12.0|^13.0
illuminate/routing Version ^10.0|^11.0|^12.0|^13.0