Go SDK
一、准备工作
1)获取SDK密钥信息
- 获取 SDK 密钥信息,也即公钥(也即 PublicKey)、私钥(也即 PrivateKey),可从 API产品/API密钥 获取,获取步骤详见:如何获取公钥、私钥。
2)获取项目ID
3)申请短信签名
- 国内短信:国内短信发送的内容由短信签名、短信正文两部分组成;您可在短信服务-控制台 的国内短信/短信签名模块,自助申请短信签名;详细申请步骤详见:如何申请短信签名
- 国际短信:国际短信可不填写短信签名;
4)申请短信模板
- 国内短信:国内短信发送的内容由短信签名、短信正文两部分组成;其中,短信正文通过调用短信模板获取;您可在短信服务-控制台 的国内短信/短信签名模块,自助申请短信模板;详细申请步骤详见:如何申请短信模板
- 国际短信:您可在短信服务-控制台 的国际短信/短信签名模块,自助申请短信模板;详细申请步骤详见:如何申请短信模板
二、配置 SDK
1)安装 SDK
参考 安联云 SDK 快速开始,安装 SDK。
2)参数说明
- 手机号列表(PhoneNumbers):支持国际及国内短信,国际短信使用
(86)13812345678
格式,需要在手机号码前面带上国际电话区号 - 短信模板 ID(TemplateId): 首次使用,需要在 安联云 控制台申请模板,审核通过后,将模板 ID 传入到该处。
- 短信模板参数列表(TemplateParams):短信模板中可传入变量,申请的时候模板中有几个变量,则需要传入几个。
- 短信签名(SigContent):首次使用,需要在 安联云 控制台申请签名,审核通过后,将签名传入该处。首次申请的签名为默认签名,有默认签名存在时,该参数可不填。
3)相关限制
-
短信内容无论字母,汉字,中英文标点符号,均按照 1 个字符计算,内容长度不能多于 600 字。
-
国内:单条短信字数上限为 70 个,超过 70 个字数将按照“每 67 个字数作为 1 条短信计”
-
单次发送的短信字数上限为 500 个,字母、汉字、中英文标点符号,均按照 1 个字数计算;
-
短信内容请勿包含特殊字符(可进入短信包页面,通过敏感词检测工具检查)。
六、完整示例
package main
import (
"fmt"
"github.com/ucloud/ucloud-sdk-go/services/usms"
"github.com/ucloud/ucloud-sdk-go/ucloud"
"github.com/ucloud/ucloud-sdk-go/ucloud/auth"
"github.com/ucloud/ucloud-sdk-go/ucloud/config"
"github.com/ucloud/ucloud-sdk-go/ucloud/log"
)
func main() {
// build config
cfg := config.NewConfig()
cfg.LogLevel = log.DebugLevel
cfg.ProjectId = "org-tszk35"
credential := auth.NewCredential()
credential.PrivateKey = "..."
credential.PublicKey = "..."
client := usms.NewClient(&cfg, &credential)
// send request
req := client.NewSendUSMSMessageRequest()
req.SigContent = ucloud.String("...")
req.TemplateId = ucloud.String("UTA2***50501BD")
req.PhoneNumbers = []string{
"...",
"...",
}
req.TemplateParams = []string{
"424242",
}
resp, err := client.SendUSMSMessage(req)
if err != nil {
panic(err)
}
fmt.Printf("%+v", resp)
}
其它 API 如 获取短信回执 等,请参考 UAPI 中代码示例 。