SMS Mailing Integration (SMSC) with Website
SMSC.ru is a Russian SMS mailing aggregator supporting multiple carriers, channels (SMS, Viber, WhatsApp), and sender name registration.
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 response
'sender' => env('SMSC_SENDER_NAME')
]);
$result = $response->json();
// ['id' => 1, 'cnt' => 1] — success
// ['error' => 'Error', 'error_code' => X] — error
Official Library
SMSC provides a PHP class 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')
);
Multi-Channel Mailing
SMSC supports cascade delivery: first try Viber (cheaper), then SMS on failure:
Http::get('https://smsc.ru/sys/send.php', [
// ...
'viber' => 1, // try via Viber
'vk' => 1, // then VK
'phones' => $phone,
'mes' => $message
]);
Delivery Statuses
$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 (in progress), 1 (delivered), 3 (delivery expired), 20 (delivery failed)
Integration timeframe: a few hours.







