短信服务 SDK
PHP SDK 接入指南
封装了单条发送、批量发送和账户余额查询等功能。内置请求重试机制、错误处理及常量枚举,通过 Composer 即可快速集成。
环境要求:PHP >= 7.4,需安装 Composer。
1. 安装
推荐使用 Composer 直接安装,您也可以在 Packagist 上查看该扩展包详情:
Terminal
composer require luosimao/sms
2. 快速使用
2.1 初始化
init.php
<?php
require 'vendor/autoload.php';
use Luosimao\SmsSdk\Sms;
// 填入你的 API Key,系统会自动补全 key- 前缀和鉴权细节
// 可以在官网后台「短信 -> 触发发送」下获取
$apiKey = 'your_luosimao_api_key';
// 可选配置
$config = [
'max_retries' => 3, // 网络抖动最大重试次数,默认为 3
'timeout' => 10.0, // 请求超时时间
];
$sms = new Sms($apiKey, $config);
?>
2.2 单条短信发送
send.php
<?php
try {
$mobile = '13800138000';
$message = '验证码:123456【你的公司名】';
// 请务必包含签名,测试可用:【铁壳测试】。
// 正式签名可在官网后台「签名管理」下新增报备,报备完成后可用。
$result = $sms->send($mobile, $message);
echo "发送成功!\n";
print_r($result);
} catch (\Luosimao\SmsSdk\Exceptions\LuosimaoException $e) {
echo "发送失败,错误码:" . $e->getCode() . "\n";
echo "错误原因:" . $e->getMessage() . "\n";
// 如果是敏感词错误 (-31),可获取被拦截的敏感词
if ($e->getCode() === \Luosimao\SmsSdk\Enums\ErrorCode::SENSITIVE_WORDS) {
$extra = $e->getExtraData();
echo "触发敏感词:" . ($extra['hit'] ?? '未知') . "\n";
}
}
?>
2.3 批量发送短信
batch.php
<?php
try {
// 支持数组格式或逗号分隔的字符串
$mobileList = ['13800138000', '13800138001'];
$message = '温馨提示:您的服务即将到期,请及时续费。【你的公司名】';
// 第三个参数为可选的定时发送时间 (如: '2026-05-01 12:00:00')
$result = $sms->sendBatch($mobileList, $message);
echo "批量发送成功,批次号:" . $result['batch_id'] . "\n";
} catch (\Luosimao\SmsSdk\Exceptions\LuosimaoException $e) {
echo "发送失败:" . $e->getMessage();
}
?>
2.4 查询账户余额
status.php
<?php
try {
$balance = $sms->getBalance();
echo "当前可用短信余额:" . $balance . " 条\n";
} catch (\Luosimao\SmsSdk\Exceptions\LuosimaoException $e) {
echo "查询失败:" . $e->getMessage();
}
?>