123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- <?php
- require __DIR__ . "/vendor/autoload.php";
- use Qcloud\Sms\SmsSingleSender;
- use Qcloud\Sms\SmsMultiSender;
- use Qcloud\Sms\SmsVoiceVerifyCodeSender;
- use Qcloud\Sms\SmsVoicePromptSender;
- use Qcloud\Sms\SmsStatusPuller;
- use Qcloud\Sms\SmsMobileStatusPuller;
- use Qcloud\Sms\VoiceFileUploader;
- use Qcloud\Sms\FileVoiceSender;
- use Qcloud\Sms\TtsVoiceSender;
- // 短信应用SDK AppID
- $appid = 1400009099; // 1400开头
- // 短信应用SDK AppKey
- $appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d70ac37470aefc60f9bad";
- // 需要发送短信的手机号码
- $phoneNumbers = ["21212313123", "12345678902", "12345678903"];
- // 短信模板ID,需要在短信应用中申请
- $templateId = 7839; // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请
- // 签名
- $smsSign = "腾讯云"; // NOTE: 这里的签名只是示例,请使用真实的已申请的签名,签名参数使用的是`签名内容`,而不是`签名ID`
- // 单发短信
- try {
- $ssender = new SmsSingleSender($appid, $appkey);
- $result = $ssender->send(0, "86", $phoneNumbers[0],
- "【腾讯云】您的验证码是: 5678", "", "");
- $rsp = json_decode($result);
- echo $result;
- } catch(\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 指定模板ID单发短信
- try {
- $ssender = new SmsSingleSender($appid, $appkey);
- $params = ["5678"];
- $result = $ssender->sendWithParam("86", $phoneNumbers[0], $templateId,
- $params, $smsSign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
- $rsp = json_decode($result);
- echo $result;
- } catch(\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 群发
- try {
- $msender = new SmsMultiSender($appid, $appkey);
- $result = $msender->send(0, "86", $phoneNumbers,
- "【腾讯云】您的验证码是: 5678", "", "");
- $rsp = json_decode($result);
- echo $result;
- } catch(\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 指定模板ID群发
- try {
- $msender = new SmsMultiSender($appid, $appkey);
- $params = ["5678"];
- $result = $msender->sendWithParam("86", $phoneNumbers,
- $templateId, $params, $smsSign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
- $rsp = json_decode($result);
- echo $result;
- } catch(\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 发送语音验证码
- try {
- $vvcsender = new SmsVoiceVerifyCodeSender($appid, $appkey);
- $result = $vvcsender->send("86", $phoneNumbers[0], "5678", 2, "");
- $rsp = json_decode($result);
- echo $result;
- } catch (\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 发送语音通知
- try {
- $vpsender = new SmsVoicePromptSender($appid, $appkey);
- $result = $vpsender->send("86", $phoneNumbers[0], 2, "5678", "");
- $rsp = json_decode($result);
- echo $result;
- } catch (\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 拉取短信回执以及回复
- try {
- $sspuller = new SmsStatusPuller($appid, $appkey);
- // 拉取短信回执
- $callbackResult = $sspuller->pullCallback(10);
- $callbackRsp = json_decode($callbackResult);
- echo $callbackResult;
- // 拉取回复
- $replyResult = $spuller->pullReply(10);
- $replyRsp = json_decode($replyResult);
- echo $replyResult;
- } catch (\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 拉取单个手机短信状态
- try {
- $beginTime = 1516670595; // 开始时间(unix timestamp)
- $endTime = 1516680595; // 结束时间(unix timestamp)
- $maxNum = 10; // 单次拉取最大量
- $mspuller = new SmsMobileStatusPuller($appid, $appkey);
- // 拉取短信回执
- $callbackResult = $mspuller->pullCallback("86", $phoneNumbers[0],
- $beginTime, $endTime, $maxNum);
- $callbackRsp = json_decode($callbackResult);
- echo $callbackResult;
- echo "\n";
- // 拉取回复
- $replyResult = $mspuller->pullReply("86", $phoneNumbers[0],
- $beginTime, $endTime, $maxNum);
- $replyRsp = json_decode($replyResult);
- echo $replyResult;
- } catch (\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 上传语音文件
- try {
- $filepath = "path/to/example.mp3";
- $fileContent = file_get_contents($filepath);
- if ($fileContent == false) {
- throw new \Exception("can not read file " . $filepath);
- }
- $contentType = VoiceFileUploader::MP3;
- $uploader = new VoiceFileUploader($appid, $appkey);
- $result = $uploader->upload($fileContent, $contentType);
- $rsp = json_decode($result);
- echo $result;
- } catch (\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 按语音文件fid发送语音通知
- try {
- $fid = "73844bb649ca38f37e596ec2781ce6a56a2a3a1b.mp3";
- $fvsender = new FileVoiceSender($appid, $appkey);
- $result = $fvsender->send("86", $phoneNumbers[0], $fid);
- $rsp = json_decode($result);
- echo $result;
- } catch (\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
- // 指定模板发送语音通知类
- try {
- $templateId = 1013;
- $params = ["54321"];
- $tvsender = new TtsVoiceSender($appid, $appkey);
- $result = $tvsender->send("86", $phoneNumbers[0], $templateId, $params);
- $rsp = json_decode($result);
- echo $result;
- } catch (\Exception $e) {
- echo var_dump($e);
- }
- echo "\n";
|