Documentation ¶
Index ¶
Constants ¶
const ( //系统参数KEY //System parameter key. KeySignatureMethod = "SignatureMethod" KeySignatureNonce = "SignatureNonce" KeyAccessKeyId = "AccessKeyId" KeySignatureVersion = "SignatureVersion" KeyTimestamp = "Timestamp" KeyFormat = "Format" //业务API参数KEY //Business API parameter key. KeyAction = "Action" KeyVersion = "Version" KeyRegionId = "RegionId" KeyPhoneNumbers = "PhoneNumbers" KeySignName = "SignName" KeyTemplateParam = "TemplateParam" KeyTemplateCode = "TemplateCode" KeyOutId = "OutId" //签名参数KEY //Signature parameter key. KeySignature = "Signature" )
参数Key列表 The parameters key list.
const ( DefaultSignatureMethod = "HMAC-SHA1" DefaultSignatureVersion = "1.0" DefaultFormat = "XML" DefaultAction = "SendSMS" DefaultVersion = "2017-05-25" DefaultRegionId = "cn-hangzhou" DefaultDomain = "dysmsapi.aliyuncs.com" DefaultProtocol = "http" )
参数默认值列表 Default value of parameters.
Variables ¶
var ( ParamsMarshallError = errors.New("params marshall error") GetTimeLocationError = errors.New("get time location error") ResponseUnMarshallError = errors.New("response unMarshall error") ResponseReadError = errors.New("response read error") HttpRequestError = errors.New("request error") )
请求调用异常列表
var DefaultMessageSender = &MessageSender{ Protocol: DefaultProtocol, Domain: DefaultDomain, RegionId: DefaultRegionId, }
默认短信发送器 需要设置 AccessKeyId 和 AccessSecret 参数
Functions ¶
func Sign ¶
签名采用HmacSHA1算法 + Base64,编码采用:UTF-8 增加签名结果到请求参数中,发送请求 注意:签名也要做特殊URL编码 @param accessSecret:你的AccessKeyId对应的秘钥AccessSecret,
特别说明:POP要求需要后面多加一个“&”字符,即accessSecret + “&”
@param stringToSign:即第三步生成的待签名请求串 @return 签名
func SpecialUrlEncode ¶
特殊URL编码 这个是POP特殊的一种规则,即在一般的URLEncode后再增加三种字符替换: 加号(+)替换成 %20、星号(*)替换成 %2A、%7E 替换回波浪号(~) @param value 待编码字符串 @return POP编码完成字符串
Types ¶
type MessageSender ¶
type MessageSender struct { Protocol string Domain string RegionId string AccessKeyId string AccessSecret string }
消息发送器
func NewMessageSender ¶
func NewMessageSender(protocol, domain, regionId, accKey, accSecret string) MessageSender
创建短信发送器
func (*MessageSender) SendMsg ¶
func (sender *MessageSender) SendMsg(signName, tempCode, phones, outId string, params map[string]string) SendSmsResponse
调用发送短信 需要设置 AccessKeyId 和 AccessSecret 参数 @param signName 短信签名 @param tempCode 短信模板Code @param phones 15123279507 短信接收号码
支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码, 批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式; 发送国际/港澳台消息时,接收号码格式为:国际区号+号码,如“85200000000”
@param outId 调用方回调唯一识别ID @param params 短信模板内的参数 @return 请求调用响应
type SendSmsResponse ¶
type SendSmsResponse struct { XMLNameSendSMSResponse xml.Name `xml:"SendSMSResponse"` XMLNameError xml.Name `xml:"Error"` RequestId string `xml:"RequestId"` //请求唯一识别ID BizId string `xml:"BizId"` //业务调用方唯一识别ID Code string `xml:"Code"` //响应码,正常返回“OK” Message string `xml:"Message"` //响应信息,正常返回“OK” HostId string `xml:"HostId"` //请求异常时,返回的请求域名 Recommend string `xml:"Recommend"` //异常时的提示 }
发送短信响应 正常时,为"OK" http状态码为200 出现异常时将出现以下值:HostId,Recommend
func SendMsg ¶
func SendMsg(protocol, domain, regionId, accKey, accSecret, signName, tempCode, phones, outId string, params map[string]string) SendSmsResponse
使用部分默认配置进行短信请求发送 @param protocol 请求协议 @param domain 请求域名 @param regionId 请求地区节点ID @param accKey AccessKey @param accSecret AccessSecret @param signName 短信签名 @param tempCode 短信模板Code @param phones 15123279507 短信接收号码
支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码, 批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式; 发送国际/港澳台消息时,接收号码格式为:国际区号+号码,如“85200000000”
@param outId 调用方回调唯一识别ID @param params 短信模板内的参数 @return 请求调用响应