Unimatrix Go SDK
Installation
The Unimatrix SDK for Golang uses Go Modules, which is available from the public Github repository.
Run the following command to add uni-go-sdk
as a dependency to your project:
go get github.com/unimtx/uni-go-sdk
Usage
The following example shows how to use the Unimatrix Go SDK to interact with Unimatrix services.
Initialize a client
package main
import (
"fmt"
"github.com/unimtx/uni-go-sdk"
)
func main() {
client := uni.NewClient("your access key id", "your access key secret") // if using simple auth mode, just pass in the first parameter
}
or you can configure your credentials by environment variables:
export UNIMTX_ACCESS_KEY_ID=your_access_key_id
export UNIMTX_ACCESS_KEY_SECRET=your_access_key_secret
Send SMS
Send a text message to a single recipient.
package main
import (
"fmt"
"github.com/unimtx/uni-go-sdk"
)
func main() {
client := uni.NewClient()
res, err := client.Messages.Send(&uni.MessageSendParams{
To: "+1206880xxxx", // in E.164 format
Text: "Your verification code is 2048.",
})
if err != nil {
fmt.Println(err)
} else {
fmt.Println(res)
}
}
Send a message using a template with variables.
client.Messages.Send(&uni.MessageSendParams{
To: "+1650253xxxx",
Signature: "Unimatrix",
TemplateId: "pub_verif_en_basic2",
TemplateData: map[string]string {"code": "2048"},
})
Send OTP
Send a one-time passcode (OTP) to a recipient. The following example will send a automatically generated verification code to the user.
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)
}
}
Verify OTP
Verify the one-time passcode (OTP) that a user provided. The following example will check whether the user-provided verification code is correct.
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", // the code user provided
})
if err != nil {
fmt.Println(err)
} else {
fmt.Println(res.Valid)
}
}