Интеграция SMS-рассылки (SMSC) с сайтом
SMSC.ru — российский агрегатор SMS-рассылок с поддержкой множества операторов, каналов (SMS, Viber, WhatsApp) и возможностью регистрации имени отправителя.
HTTP API
$response = Http::get('https://smsc.ru/sys/send.php', [
'login' => env('SMSC_LOGIN'),
'psw' => env('SMSC_PASSWORD'),
'phones' => $phone,
'mes' => $message,
'charset' => 'utf-8',
'fmt' => 3, // JSON ответ
'sender' => env('SMSC_SENDER_NAME')
]);
$result = $response->json();
// ['id' => 1, 'cnt' => 1] — успех
// ['error' => 'Ошибка', 'error_code' => X] — ошибка
Официальная библиотека
SMSC предоставляет PHP-класс smsc_api.php:
require 'smsc_api.php';
$smsc = new SMSC_API();
$smsc->init(env('SMSC_LOGIN'), env('SMSC_PASSWORD'));
[$n_phones, $n_sms, $cost, $balance] = $smsc->send_sms(
$phone,
$message,
0, // translit
'', // time (delayed)
0, // id
0, // format (0=normal)
env('SMSC_SENDER_NAME')
);
Мультиканальные рассылки
SMSC поддерживает каскадные отправки: сначала Viber (дешевле), при неудаче — SMS:
Http::get('https://smsc.ru/sys/send.php', [
// ...
'viber' => 1, // попробовать через Viber
'vk' => 1, // потом VK
'phones' => $phone,
'mes' => $message
]);
Статусы доставки
$status = Http::get('https://smsc.ru/sys/status.php', [
'login' => env('SMSC_LOGIN'),
'psw' => env('SMSC_PASSWORD'),
'phone' => $phone,
'id' => $smsId,
'fmt' => 3
])->json();
// status: -3 (в пути), 1 (доставлено), 3 (истёк срок доставки), 20 (невозможно доставить)
Срок интеграции: несколько часов.







