.. | ||
client | ||
response | ||
apiconnector.go | ||
CONTRIBUTING.md | ||
HISTORY.md | ||
LICENSE | ||
README.md |
go-sdk
This module is a connector library for the insanely fast HEXONET Backend API. For further informations visit our homepage and do not hesitate to contact us.
Resources
How to use this module in your project
We have also a demo app available showing how to integrate and use our SDK. See here.
Requirements
NOTE: Make sure you add the go binary path to your PATH environment variable. Add the below lines for a standard installation into your profile configuration file (~/.profile).
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
Then reload the profile configuration by source ~/.profile
.
Using govendor
Use govendor for the dependency installation by govendor fetch -tree github.com/hexonet/go-sdk@<tag id>
where tag id corresponds to a release version tag. You can update this dependency later on by govendor sync github.com/hexonet/go-sdk@<new tag id>
. The dependencies will be installed in your project's subfolder "vendor". Import the module in your project as shown in the examples below.
For more details on govendor, please read the CheatSheet and also the developer guide.
Usage Examples
Please have an eye on our HEXONET Backend API documentation. Here you can find information on available Commands and their response data.
Session based API Communication
package main
import (
"github.com/hexonet/go-sdk/client"
"fmt"
)
func main() {
cl := client.NewClient()
cl.SetCredentials("test.user", "test.passw0rd", "")//username, password, otp code (2FA)
cl.UseOTESystem()
// use this to provide your outgoing ip address for api communication
// to be used in case you have ip filter settings active
// cl.SetIPAddress("174.21.132.16");
// cl.EnableDebugMode() // to activate debug outputs of the API communication
r := cl.Login()
if r.IsSuccess() {
fmt.Println("Login succeeded.")
cmd := map[string]string{
"COMMAND": "StatusAccount",
}
r = cl.Request(cmd)
if r.IsSuccess() {
fmt.Println("Command succeeded.")
r = cl.Logout()
if r.IsSuccess() {
fmt.Println("Logout succeeded.")
} else {
fmt.Println("Logout failed.")
}
} else {
fmt.Println("Command failed.")
}
} else {
fmt.Println("Login failed.")
}
}
Sessionless API Communication
package main
import (
"github.com/hexonet/go-sdk/client"
"fmt"
)
func main() {
cl := client.NewClient()
cl.SetCredentials("test.user", "test.passw0rd", "")
cl.UseOTESystem()
cmd := map[string]string{
"COMMAND": "StatusAccount",
}
r := cl.Request(cmd)
if r.IsSuccess() {
fmt.Println("Command succeeded.")
} else {
fmt.Println("Command failed.")
}
}
Contributing
Please read our development guide for details on our code of conduct, and the process for submitting pull requests to us.
Authors
- Kai Schwarz - lead development - PapaKai
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE file for details.