让简单的事情回归简单的本质。 柠聚开发者平台增加短信聚合功能,帮您轻松集成多家短信服务,解决接入多个短信SDK的繁琐流程。 目前已接入数家常见的短信服务商,后续将会继续集成。
前言
在日常的开发过程中,短信的发送经常使用(尤其是中小型的外包公司),毕竟不是每个公司都有阿里腾讯一样的实力, 也不是每个都像银行联通等公司一样有内部的短信规程。第三方的短信往往是最常见的解决方案,但是市面上第三方短信服务商众多, 各家都有不同的方式和标准,每次需要使用时候,都需要花费时间去阅读文档和编写相应的功能,为一个短信浪费了太多的精力和时间。 这个功能的目的就是为了统一下各个厂商的短信发送工具的标准,甚至于更换短信厂商只需要动动鼠标更改配置即可。柠聚开发者平台提供了API对接方式,任何语言均可对接使用。
已对接厂商
- 阿里云国内短信/语音短信
- 腾讯云国内短信
- 华为云国内短信
- 京东云国内短信
- 短信宝
设置短信配置
设置短信模板配置
方法使用
php版代码参考:
use Yurun\Util\HttpRequest;
function doSendSms($smsData, $http = null)
{
$apiUrl = 'https://21ds.cn/sms/send';
$postData['params_json'] = (isset($smsData['params_json']) && !empty($smsData['params_json'])) ? $smsData['params_json'] : json_encode([]);//短信模板参数
$postData['st_id'] = $smsData['st_id'];//短信模板ID
$postData['phone'] = $smsData['phone'];
$postData['dev_key'] = 'DEV-xxxx';//开发者key
$postData['ss_id'] = (isset($smsData['ss_id']) && !empty($smsData['ss_id'])) ? $smsData['ss_id'] : 'SS-xxxx';//短信配置ID
$postData['ssl_id'] = (isset($smsData['ssl_id']) && !empty($smsData['ssl_id'])) ? $smsData['ssl_id'] : '';
$postData['voice_test'] = (isset($smsData['voice_test']) && !empty($smsData['voice_test'])) ? $smsData['voice_test'] : 0;
$postData['sign'] = devSignGeneral($postData, $smsData['server_secret']);//短信配置中的SecretKey(对接密钥)
if (!$http) {
$http = new HttpRequest;
}
$response = $http->post($apiUrl, $postData);
return json_decode($response->body(), true);
}
签名生成方法:
function devSignGeneral($data, $secretKey)
{
unset($data['sign']);
// Sort the data by key
ksort($data);
// Convert the data to a query string
$queryString = http_build_query($data);
// Add the secret key to the query string
$queryString .= $secretKey;
// Generate the signature using the SHA256 algorithm
$signature = hash('sha256', $queryString);
// Return the signature
return $signature;
}
使用详解
- 批量发送
每一家厂商都对于批量短信有不同的支持,为了统一柠聚开发者平台单独开发了一个批量短信功能,所有短信全部异步处理,一次最多可传入500个手机号进行短信发送 - 每个短信模板可单独指定短信平台
在添加或编辑短信模板时,可单独指定短信平台,使用更自由。