Skip to content

yunhor/sms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

阿里短消息服务

由来

  • 阿里大于合并至阿里云后,摇身一变成了阿里云通信,多了许多新功能,有了新版的api,虽然旧版的仍旧可用。但毕竟不是长久之计。
  • 官方没有golang sdk
  • 已有好几个go库,但都几乎只实现发送的功能。

feature

  • golang
  • 阿里大于 2.0版 备份
  • 现版本基于阿里云协议2017-05-25版
  • 客户端调用支持命令行与toml参数配置
  • 短信发送
  • 验证码接口
  • 群发接口
  • 发送反馈查询接口
  • 其它业务查询接口
  • 语音功能接口
  • 流量功能接口
  • 物联网功能接口
  • 私密小号功能接口

参考

安装

go get github.com/yunhor/alisms

示例

命令行/toml配置,单条发送

package main

import (
	"fmt"
	"log"
	"os"

	"github.com/BurntSushi/toml"
	"github.com/urfave/cli"
	"github.com/yunhor/alisms"
)

func main() {

	app := cli.NewApp()

	app.Flags = []cli.Flag{
		cli.StringFlag{
			Name:  "config, c",
			Value: "sms.toml",
			Usage: "从配置文件中读取配置信息 `FILE`",
		},
	}
	app.Action = func(c *cli.Context) error {
		var cfg alisms.UserParams
		if _, err := toml.DecodeFile(c.String("config"), &cfg); err != nil {
			log.Fatal(err)
		}
		cfg.TemplateParam = fmt.Sprintf("{\"name\":\"%s\",\"money\":\"%s\",\"time\":\"%s\"}", "中文名字", "8000", "1月20至2月22日")
		//模板其它参数修改
		rt, str, err := alisms.SendMessage(&cfg)
		fmt.Println(rt)
		fmt.Println(str)
		if err != nil {
			log.Fatal(err)
		}
		return nil
	}
	err := app.Run(os.Args)
	if err != nil {
		log.Fatal(err)
	}

}

更多例子详见_examples目录

杂记

  • 2018-03-15 旧的大于的accesskey和secret并不相同,迁移至阿里云后需要重新生成一对。

阿里大于2.0

安装

go get github.com/yunhor/alisms/dayu

下列参数写入相应的toml

HTTPSURL = "https://eco.taobao.com/router/rest"
HTTPURL = "http://gw.api.taobao.com/router/rest"
sendSms = "alibaba.aliqin.fc.sms.num.send"
callTTS = "alibaba.aliqin.fc.tts.num.singlecall"
callVoice = "alibaba.aliqin.fc.voice.num.singlecall"
callDouble = "alibaba.aliqin.fc.voice.num.doublecall"
msgConsume = "taobao.tmc.messages.consume"
msgConfirm = "taobao.tmc.messages.confirm"

About

aliyun/qcloud sms go sdk

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages