当前位置:   article > 正文

阿里云短信接口-PHP_php阿里云短信接口

php阿里云短信接口

composer安装SDK:

composer require alibabacloud/dysmsapi-20170525 2.0.22 

也可以下载SDK包手动安装,下面是api接口文档阿里云 OpenAPI 开发者门户

调用接口前,请申请短信签名和短信模板,并确保签名和模板已审核通过。

测试时可以领取阿里云短信免费试用套餐包使用

阿里云试用中心_云服务器试用_企业试用场景_开发者云产品试用

 

完整代码

  1. /**
  2. * 使用AK&SK初始化账号Client
  3. * @param string $accessKeyId
  4. * @param string $accessKeySecret
  5. * @return Dysmsapi Client
  6. */
  7. public static function createClient($accessKeyId, $accessKeySecret)
  8. {
  9. $config = new Config([
  10. // 您的 AccessKey ID
  11. "accessKeyId" => $accessKeyId,
  12. // 您的 AccessKey Secret
  13. "accessKeySecret" => $accessKeySecret
  14. ]);
  15. // 访问的域名
  16. $config->endpoint = "dysmsapi.aliyuncs.com";
  17. return new Dysmsapi($config);
  18. }
  19. /**
  20. * @notes 发送短信
  21. */
  22. public static function sendSms($phone_numbers,$template_param,$params)
  23. {
  24. $client = self::createClient("accessKeyId", "accessKeySecret");
  25. $sendSmsRequest = new SendSmsRequest([
  26. "phoneNumbers" => $phone_numbers,//接收短信的手机号码
  27. "signName" => "signName",//短信签名名称。
  28. "templateCode" => $params['template_code'],//短信模板CODE。
  29. "templateParam" => json_encode($template_param, JSON_UNESCAPED_UNICODE)//短信模板变量对应的实际值。
  30. ]);
  31. $runtime = new RuntimeOptions([]);
  32. try {
  33. //发送短信
  34. $result = $client->sendSmsWithOptions($sendSmsRequest, $runtime);
  35. if ($result->body->code == 'OK') {
  36. //发送成功操作
  37. return true;
  38. }else {
  39. //发送失败操作
  40. return false;
  41. }
  42. } catch (Exception $error) {
  43. if (!($error instanceof TeaError)) {
  44. $error = new TeaError([], $error->getMessage(), $error->getCode(), $error);
  45. }
  46. return false;
  47. }
  48. }
  49. /**
  50. * @notes 查询发送详情
  51. */
  52. public static function querySendDetail($client,$runtime,$phone_numbers,$bizId)
  53. {
  54. $querySendDetailsRequest = new QuerySendDetailsRequest([
  55. "phoneNumber" => $phone_numbers,//接收短信的手机号码
  56. "sendDate" => date('Ymd',time()),//短信发送日期
  57. "pageSize" => 15,//指定每页显示的短信记录数量。
  58. "currentPage" => 1,//指定发送记录的当前页码。
  59. "bizId" => $bizId//发送回执ID,即发送流水号
  60. ]);
  61. return $client->querySendDetailsWithOptions($querySendDetailsRequest, $runtime);
  62. }

 

正常返回示例

  1. {
  2. "Code": "OK",//请求状态码;返回OK代表请求成功。
  3. "Message": "OK",//状态码的描述。
  4. "BizId": "9006197469364984****",//发送回执ID。
  5. "RequestId": "F655A8D5-B967-440B-8683-DAD6FF8DE990"//请求ID。
  6. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/70329
推荐阅读
相关标签
  

闽ICP备14008679号