Skip to content

sending

alizeinodin edited this page Sep 11, 2026 · 2 revisions

Sending messages

Facade

use Alizeinodin\SmsApi\Facades\Sms;

Sms::send('09121234567', 'Hello');
Sms::bulk('Hello', ['0912...', '0935...']);
Sms::sendMapped(['Hi Ali', 'Hi Sara'], ['0912...', '0935...']);
Sms::sendTemplate('0912...', 100, ['CODE' => '1234']);

Drivers & failover

Sms::driver('smsir')->send(...);
Sms::failover(['smsir', 'kavenegar'])->send(...);
Sms::failover()->send(...); // config default list

Message policies

Sms::policy('otp')->failover(['smsir', 'kavenegar'])->sendTemplate(...);
Sms::policy('marketing')->driver('smsir')->send(...);

Policies can set default queue, rate-limit channel, and allowed hours.

Phone normalization

Iranian numbers are normalized before send (09… / +98… / 98…).

SMSAPI_PHONE_FORMAT=local   # local | e164 | digits
SMSAPI_PHONE_STRICT=false

Messengers

Sms::driver('telegram')->send($chatId, 'Hello', ['chat_id' => $chatId]);

Use Sms::smsDriver() when you need a full SMS surface (rejects messenger channels).

Clone this wiki locally