开发者文档中心

为开发者提供短信、人机验证、SSL等产品的 API 接入指南与多种开发语言 SDK

短信服务 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();
}
?>