In order to use Voximplant SDK for the Go programming language, you need the following:
- A developer account. If you don't have one, sign up here.
- A private API key. There are 2 options to obtain it:
- Either generate it in the Voximplant Control panel
- Or call the CreateKey HTTP API method with the specified authentication parameters. You'll receive a response with the result field in it. Save the result value in a file (since we don't store the keys, save it securely on your side).
Starting from v2.3.0, the import path will be:
"github.com/voximplant/apiclient-go/v2"
The /v2
version can introduce several breaking changes to improve the API and add new functionality,
so please take the migration carefully.
You can replace all occurrences of github.com/voximplant/apiclient-go
with github.com/voximplant/apiclient-go/v2
,
either manually or by using tools such as sed
or gofmt
.
And then you'd typically run:
go get github.com/voximplant/apiclient-go/v2
go mod tidy
- The best way to start is to use
go get
to add the SDK to your Go Workspace or application using Go modules:
go get github.com/voximplant/apiclient-go/v2
- Without Go Modules (or in a GOPATH with Go 1.11 or 1.12), use
go get
with the/...
suffix to retrieve all the - SDK's dependencies:
go get github.com/voximplant/apiclient-go/v2/...
This example shows how you can use the API client:
package main
import (
"fmt"
"github.com/voximplant/apiclient-go/v2/config"
"github.com/voximplant/apiclient-go/v2/methods"
)
func main() {
voxConfig := config.NewConfig().WithEndpoint("https://api.voximplant.com/platform_api/").WithKeyPath("vox_key_jwt.json")
// Create a Voximplant client using the Config value
client, err := methods.NewClient(voxConfig)
if err != nil {
panic("failed to create client, " + err.Error())
}
// Build input parameters
params := methods.GetSubscriptionPriceParams{SubscriptionTemplateType: "SIP_REGISTRATION"}
// Send the request and get the response or error back
res, verr, err := client.Accounts.GetSubscriptionPrice(params)
fmt.Println(res, verr, err)
}