一、申请接口
通过https://www.juhe.cn/docs/api/id/54自助申请开通短信API,获得接口请求Key。(目前接口暂只支持企业类用户使用)
申请后,在个人中心提交短信模板,聚合官方已经提供了多个常用模板,可以快捷申请使用。
二、Go代码示例
官方接口文档请参考:https://www.juhe.cn/docs/api/id/54
package main
import (
"net/url"
"fmt"
"net/http"
"io/ioutil"
"encoding/json"
)
func main() {
// 接口请求URL
apiUrl := "http://v.juhe.cn/sms/send"
// 初始化参数
param := url.Values{}
// 接口请求参数
param.Set("mobile", "xxxxx") // 接收短信的手机号码
param.Set("tpl_id", "xxxx") // 短信模板ID,请参考个人中心短信模板设置
param.Set("tpl_value", "#code#=12341") // 模板变量,如无则不用填写
param.Set("key", "您申请的短信API接口请求Key") // 接口请求Key
// 发送请求
data, err := Post(apiUrl, param)
if err != nil {
// 请求异常,根据自身业务逻辑进行调整修改
fmt.Errorf("请求异常:\r\n%v", err)
} else {
var netReturn map[string]interface{}
jsonerr := json.Unmarshal(data, &netReturn)
if jsonerr != nil {
// 解析JSON异常,根据自身业务逻辑进行调整修改
fmt.Errorf("请求异常:%v", jsonerr)
} else {
errorCode := netReturn["error_code"]
reason := netReturn["reason"]
data := netReturn["result"]
if errorCode.(float64) == 0 {
// 请求成功,根据自身业务逻辑进行调整修改
fmt.Printf("请求成功\n短信ID:%v",
data.(map[string]interface{})["sid"])
} else {
// 查询失败,根据自身业务逻辑进行调整修改
fmt.Printf("请求失败:%v_%v", errorCode.(float64), reason)
}
}
}
}
// post 方式发起网络请求 ,params 是url.Values类型
func Post(apiURL string, params url.Values) (rs []byte, err error) {
resp, err := http.PostForm(apiURL, params)
if err != nil {
return nil, err
}
defer resp.Body.Close()
return ioutil.ReadAll(resp.Body)
}