Go SDK

安装

适用于 Go 语言的 Unimatrix SDK 使用 Go Modules,可从公共 Github 仓库 中获得。

运行以下命令将 uni-go-sdk 添加为项目依赖:

go get github.com/unimtx/uni-go-sdk

使用示例

以下示例展示如何使用 Unimatrix Go SDK 快速调用 Unimatrix 服务。

初始化客户端

package main

import (
    "fmt"
    "github.com/unimtx/uni-go-sdk"
)

func main() {
    client := uni.NewClient("your access key id", "your access key secret") // 若使用简易验签模式仅传入第一个参数即可
    client.SetEndpoint("https://api-cn.unimtx.com") // 设置接入点到中国大陆, 若使用全球节点请移除此行代码
}

或者您也可以通过环境变量来配置您的访问凭证:

export UNIMTX_ACCESS_KEY_ID=your_access_key_id
export UNIMTX_ACCESS_KEY_SECRET=your_access_key_secret

发送短信

向单个收件人发送短信


package main

import (
    "fmt"
    "github.com/unimtx/uni-go-sdk"
)

func main() {
    client := uni.NewClient()

    res, err := client.Messages.Send(&uni.MessageSendParams{
        To: "+861865800xxxx",  // 以 E.164 格式传入手机号
        Signature: "合一矩阵", // 替换为您的短信签名
        Content: "您的验证码是123456,5分钟内有效。",
    })
    if (err != nil) {
        fmt.Println(err)
    } else {
        fmt.Println(res)
    }
}

使用模版和模版变量发送短信

client.Messages.Send(&uni.MessageSendParams{
    To: "+861865800xxxx",
    Signature: "合一矩阵",
    TemplateId: "pub_verif_ttl2",
    TemplateData: map[string]string {"code": "123456", "ttl": "5"},
})

发送验证码

向用户发送验证码/一次性验证码(OTP),以下示例将向用户发送一个自动生成的验证码

package main

import (
    "fmt"
    "github.com/unimtx/uni-go-sdk"
)

func main() {
    client := uni.NewClient()

    res, err := client.Otp.Send(&uni.OtpSendParams{
        To: "+861865800xxxx",
        Signature: "合一矩阵", // 替换为您的短信签名
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res)
    }
}

校验验证码

校验用户提交的验证码/一次性验证码(OTP),以下示例将检查用户提供的验证码是否正确

package main

import (
    "fmt"
    "github.com/unimtx/uni-go-sdk"
)

func main() {
    client := uni.NewClient()

    res, err := client.Otp.Verify(&uni.OtpVerifyParams{
        To: "+861865800xxxx",
        Code: "123456", // 用户提交的验证码
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Valid)
    }
}