php 极光短信发送 api
极光 demo 代码引用如下
<?php//极光 短信
class JpushSmsService
{const URL = 'https://api.sms.jpush.cn/v1/';private $appKey;private $masterSecret;private $options;public function __construct($appKey, $masterSecret, array $options = array()) {$this->appKey = $appKey;$this->masterSecret = $masterSecret;$this->options = array_merge(['ssl_verify' => false,'disable_ssl' => false], $options);}public function sendCode($mobile, $temp_id, $sign_id = null) {$url = self::URL . 'codes';$body = array('mobile' => $mobile, 'temp_id' => $temp_id);if (isset($sign_id)) {$body['sign_id'] = $sign_id;}return $this->request('POST', $url, $body);}public function sendVoiceCode($mobile, $options = []) {$url = self::URL . 'voice_codes';$body = array('mobile' => $mobile);if (!empty($options)) {if (is_array($options)) {$body = array_merge($options, $body);} else {$body['ttl'] = $options;}}return $this->request('POST', $url, $body);}public function checkCode($msg_id, $code) {$url = self::URL . 'codes/' . $msg_id . "/valid";$body = array('code' => $code);return $this->request('POST', $url, $body);}public function sendMessage($mobile, $temp_id, array $temp_para = [], $time = null, $sign_id = null) {$path = 'messages';$body = array('mobile' => $mobile,'temp_id' => $temp_id,);if (!empty($temp_para)) {$body['temp_para'] = $temp_para;}if (isset($time)) {$path = 'schedule';$body['send_time'] = $time;}if (isset($sign_id)) {$body['sign_id'] = $sign_id;}$url = self::URL . $path;return $this->request('POST', $url, $body);}public function sendBatchMessage($temp_id, array $recipients, $time = null, $sign_id = null, $tag = null) {$path = 'messages';foreach ($recipients as $mobile => $temp_para) {$r[] = array('mobile' => $mobile,'temp_para' => $temp_para);}$body = array('temp_id' => $temp_id,'recipients' => $r);if (isset($time)) {$path = 'schedule';$body['send_time'] = $time;}if (isset($sign_id)) {$body['sign_id'] = $sign_id;}if (isset($tag)) {$body['tag'] = $tag;}$url = self::URL . $path . '/batch';return $this->request('POST', $url, $body);}public function showSchedule($scheduleId) {$url = self::URL . 'schedule/' . $scheduleId;return $this->request('GET', $url);}public function deleteSchedule($scheduleId) {$url = self::URL . 'schedule/' . $scheduleId;return $this->request('DELETE', $url);}public function getAppBalance() {$url = self::URL . 'accounts/app';return $this->request('GET', $url);}public function request($method, $url, $body = [], $headers = [], $uploads = []) {$ch = curl_init();$options = array(CURLOPT_RETURNTRANSFER => true,CURLOPT_HEADER => true,CURLOPT_HTTPHEADER => array_merge(array('Connection: Keep-Alive'), $headers),CURLOPT_USERAGENT => 'JSMS-API-PHP-CLIENT',CURLOPT_CONNECTTIMEOUT => 20,CURLOPT_TIMEOUT => 120,CURLOPT_HTTPAUTH => CURLAUTH_BASIC,CURLOPT_USERPWD => $this->appKey . ":" . $this->masterSecret,CURLOPT_URL => $url,CURLOPT_CUSTOMREQUEST => $method,);if (!$this->options['ssl_verify']|| (bool) $this->options['disable_ssl']) {$options[CURLOPT_SSL_VERIFYPEER] = false;$options[CURLOPT_SSL_VERIFYHOST] = 0;}if (in_array('Content-Type: multipart/form-data', $options[CURLOPT_HTTPHEADER])) {$options[CURLOPT_POSTFIELDS] = array_merge($body, $uploads);if (class_exists('\CURLFile')) {$options[CURLOPT_SAFE_UPLOAD] = true;} else {if (defined('CURLOPT_SAFE_UPLOAD')) {$options[CURLOPT_SAFE_UPLOAD] = false;}}} else {$options[CURLOPT_HTTPHEADER][] = 'Content-Type: application/json';if (!empty($body)) {$options[CURLOPT_POSTFIELDS] = json_encode($body);}}curl_setopt_array($ch, $options);$output = curl_exec($ch);if($output === false) {return "Error Code:" . curl_errno($ch) . ", Error Message:".curl_error($ch);} else {$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);$header_text = substr($output, 0, $header_size);$body = substr($output, $header_size);$headers = array();foreach (explode("\r\n", $header_text) as $i => $line) {if (!empty($line)) {if ($i === 0) {$headers[0] = $line;} else if (strpos($line, ": ")) {list ($key, $value) = explode(': ', $line);$headers[$key] = $value;}}}$response['headers'] = $headers;$response['body'] = json_decode($body, true);$response['http_code'] = $httpCode;}curl_close($ch);return $response;}
}
注意:如果不需要 ssl 验证一定要关掉 这两个 选择哦 否则你会遇到 报错
Error Code:60, Error Message:SSL certificate problem: unable to get local issuer certificate
'ssl_verify' => false,'disable_ssl' => false
本文用的是 短信文本 你也可以选择 其他方式
$appkey = '你的哦';
$secretKey ='你的哦';
$temp_id = '短信模板id';$JpushSmsService = new \JpushSmsService($appkey,$secretKey);$temp_para = ['code'=>$code]; //自己定义的模板 类型哦$result = $JpushSmsService->sendMessage($mobile,$temp_id,$temp_para);
示例如下 :
php 极光短信发送 api相关推荐
- 阿里大鱼--短信发送API
参考链接一 参考链接二 项目中运用了阿里大鱼来实现短信的发送.主要步骤如下 1)申请短信签名 在控制台完成模板与签名的申请 2)申请短信模板 在控制台完成模板与签名的申请 3) 第一部分,获取IAcs ...
- 腾讯云短信发送api(SendSms)--java
一.申请腾讯云帐号并开通短信服务(开通短信服务需要手机实名认证) 1.注册或登录地址:登录 - 腾讯云 2.登录后搜索:短信 3.创建签名,注意,这里的签名内容在代码里面要用到.(提交审核两个小时之 ...
- Java极光短信发送
1.官网发送api https://docs.jiguang.cn//jsms/server/rest_api_jsms/ 2.官网依赖 https://docs.jiguang.cn//jsms/s ...
- C#使用极光短信发送手机验证码
引用极光官方类库,或下载提供的资源. JpushEvents.cs using System; using System.Collections.Generic; using System.Linq; ...
- 阿里云短信发送API(SendSms)的集成
好记性不如烂笔头,记录一下集成阿里云短信平台的过程. 平台申请的过程略过,只讲代码有关的内容,首先是配置需要的依赖包: <!-- begin of aliyun sms --> <d ...
- 啊里大鱼短信发送API
https://api.alidayu.com/doc2/apiDetail?spm=0.0.0.0.SEe3dm&apiId=25450 转载于:https://www.cnblogs.co ...
- 极光小课堂 | 极光短信与 Java 整合指南
前言 今天大Boss给小优优说,你给咱们的注册系统增加一下短信验证吧.后来一it好友告诉小优优,说用极光短信吧,毕竟人家就是做消息推送出身的,技术以及实时性肯定没的说. 小优优觉得说的对,毕竟人家是专 ...
- 极光短信推送-java使用
首先介绍下这个 极光推送,就是一个平台.里面服务主打app推送.但是也有发送短信的功能.其实文档也还算可以.sdk可用性也很高.不过到底看文档需要时间的.所以我直接写一下用法(仅限于短信) 第一部分: ...
- JAVA实现SMS短信发送(附:代码)
**先决条件:网建短信通提供了短信发送API,进入 [http://www.smschinese.cn/api.shtml](http://www.smschinese.cn/api.shtml) 进 ...
最新文章
- 帷幕的帷是什么意思_俗语:“宁娶寡妇,不娶生妻!”什么是“生妻”?老祖宗智慧...
- jquery 轮播插件 bxslider
- SpringBoot 使用WebSocket打造在线聊天室(基于注解)
- Nginx monitor
- 修改php上传限制 (phpmyadmin 限制)
- linux转为root用户_[R] 展示linux文件树 - collapsibleTree
- WebRequestDataBinder实现将请求参数映射为POJO对象
- oracle如何创建基表,创建本地基表的物化视图
- 系统集成项目管理工程师教程重点、笔记和试题大全
- 网易云音乐推出“云村乐评路灯”开学季策划 再造刷屏事件营销
- 2.3.4nbsp;《孙子兵法》的基本原则
- php清理浏览器缓存文件在哪里,php如何清除浏览器缓存?
- 用matlab求光谱的一阶导数二阶导数
- python 计算月还款额度
- 【数据可视化】bar函数绘制简单柱状图
- FreeFileSync命令用法
- 如何让git commit更简洁
- PHP建站集成软件包
- Fmoc-Lys (biotin-PEG4)-OH,1334172-64-3生物素标记的、基于PEG的PROTAC连接物
- Python3 的 PyAudio 库获取音频设备输入输出设备信息