Unimatrix Go SDK

インストール

Go向けUnimatrix SDKはGo Modulesで提供されており、公開 Github repository から利用できます。

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

利用方法

クライアントの初期化

package main

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

func main() {
    client := uni.NewClient("your access key id", "your access key secret") // Simple Mode の場合は第1引数のみ
}

環境変数で設定することもできます。

export UNIMTX_ACCESS_KEY_ID=your_access_key_id
export UNIMTX_ACCESS_KEY_SECRET=your_access_key_secret

SMSの送信

package main

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

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

    res, err := client.Messages.Send(&uni.MessageSendParams{
        To: "+1206880xxxx",  // E.164形式
        Text: "Your verification code is 2048.",
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res)
    }
}

テンプレートを使用する例:

client.Messages.Send(&uni.MessageSendParams{
    To: "+1650253xxxx",
    Signature: "Unimatrix",
    TemplateId: "pub_verif_en_basic2",
    TemplateData: map[string]string {"code": "2048"},
})

認証コード(OTP)の送信

package main

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

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

    res, err := client.Otp.Send(&uni.OtpSendParams{
        To: "+1206880xxxx",
    })
    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: "+1206880xxxx",
        Code: "123456", // ユーザーが入力した認証コード
    })
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(res.Valid)
    }
}