sms

package module
v0.0.0-...-67b111e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2017 License: MIT Imports: 15 Imported by: 1

README

aliyun-sms-sdk-golang

基于HTTP协议的阿里云短信服务golang版本实现

About

消息服务同时具备发送短信的能力,支持快速发送短信验证码、短信通知、推广短信。完美支撑双11期间的2亿用户发送6亿条短信。三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保证,实时监控自动切换,到达率高达99%。

阿里云消息服务(Message Service,原MQS)是阿里云商用的消息中间件服务。与传统的消息中间件不同,消息服务一开始就是基于阿里云自主研发的飞天分布式系统来设计和实现,具有大规模,高可靠、高并发访问和超强消息堆积能力的特点。消息服务API采用HTTP RESTful标准,接入方便,跨网络能力强;已全面接入资源访问控制服务(RAM)、专有网络(VPC),支持各种安全访问控制;接入云监控,提供完善的监控及报警机制。消息服务提供丰富的SDK、解决方案、最佳实践和7x24小时的技术支持,帮助应用开发者在应用组件之间自由地传递数据和构建松耦合、分布式、高可用系统。

Install

go get -u github.com/JakeXu/aliyun-sms-sdk-golang

Usage

使用帮助


package main

import (
	"github.com/JakeXu/aliyun-sms-sdk-golang"
	"fmt"
)

// modify it to yours
const (
	ACCESSID  = "your_accessid"
	ACCESSKEY = "your_accesskey"
)

func main() {
	c := sms.New(ACCESSID, ACCESSKEY)
	e, err := c.Send("1380000****", "阿里云短信测试专用", "SMS_71390007", `{"code":"123456"}`)
	if err != nil {
        fmt.Println("send sms failed", err, e.Message)
    } else {
        fmt.Println("send sms succeed", e.RequestId)
        // business logic operation
    }
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CaptchaSMS

func CaptchaSMS() *sms.Client

验证码短信接口实例化, 方便使用

Types

type Client

type Client struct {
	EndPoint   string
	AccessId   string
	AccessKey  string
	HttpClient *http.Client
	Param      *Param
	// contains filtered or unexported fields
}

func New

func New(accessId, accessKey string) (c *Client)

func (*Client) Send

func (c *Client) Send(phones, signName, templateCode, paramStr string) (e *ErrorMessage, err error)

type ErrorMessage

type ErrorMessage struct {
	HttpCode  int    `json:"-"`
	RequestId string `json:"RequestId,omitempty"`
	Message   string `json:"Message,omitempty"`
	BizId     string `json:"BizId,omitempty"`
	Code      string `json:"Code,omitempty"`
}

type Param

type Param struct {
	//system parameters
	AccessKeyId      string
	Timestamp        string
	Format           string
	SignatureMethod  string
	SignatureVersion string
	SignatureNonce   string
	Signature        string

	//business parameters
	Action        string
	Version       string
	RegionId      string
	PhoneNumbers  string
	SignName      string
	TemplateCode  string
	TemplateParam string
	OutId         string
}

func (*Param) BuildSmsRequestEndpoint

func (p *Param) BuildSmsRequestEndpoint(accessKeySecret, smsURL string) (string, error)

func (*Param) ParamsIsValid

func (p *Param) ParamsIsValid() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL