
ALSO Cloud Marketplace API Golang Wrapper
Golang Wrapper for ALSO Cloud Marketplace API

Swagger Specs for ALSO Cloud Marketplace Simple API are here:
https://app.swaggerhub.com/apis/Marketplace_SimpleAPI/Marketplace_SimpleAPI/1.0.0
Installation
$ go get github.com/pitwch/go-also-cloud-wrapper/alsocloud
Configuration
| Configuration |
Examples |
Type |
Note |
| Marketplace |
https://marketplace.also.ch |
string |
URL Marketplace (Country specific) |
| apiUser |
demo@example.com |
string |
Username for Cloud Marketplace |
| apiPassword |
1234 |
string |
Password for Cloud Marketplace |
| options |
&also.Options{Timeout: 30} |
*also.Options |
Options (see Chapter Options) |
Example:
import (
also "github.com/pitwch/go-also-cloud-wrapper/alsocloud"
)
var alsocloud, err = also.NewClient(
"https://marketplace.also.ch",
"demo@example.com",
"1234",
&also.Options{Log: true, Timeout: 30},
)
Options
Options are optional:
| Option |
Example |
Note |
| APIPrefix |
/SimpleAPI/SimpleAPIService.svc/rest |
API - Prefix; Default = /SimpleAPI/SimpleAPIService.svc/rest |
| LoginEndpoint |
GetSessionToken |
Endpoint for Login; Default = GetSessionToken |
| UserAgent |
go-also-cloud-wrapper |
User Agent; Default = go-also-cloud-wrapper |
| Timeout |
15 |
Timeout in seconds |
| VerifySSL |
true |
Check if SSL is valid |
| Log |
true |
Activates Log Output; Default = false |
| Client |
urlfetch.Client(ctx) 1 |
HTTP-Client; Default = http.DefaultClient |
1: urlfetch is used for Google App Engine Standard Instances but can be replaced by any HTTP-Client
Methods
| Parameter |
Typ |
Note |
| endpoint |
string |
Endpoint ALSO Cloud Marketplace; f.ex. GetCompany, GetUser... |
| data |
interface{} |
Date (automatic conversion to JSON) |
| parameters |
url.Values |
Parameters |
Full Example
Get Company
import (
also "github.com/pitwch/go-also-cloud-wrapper/alsocloud"
)
//Create client
var alsocloud, err = also.NewClient(
alsocloud.Switzerland, //Using predefined Constant Switzerland.
"demo@example.com", //Plain URL would be possible "https://marketplace.also.ch"
"1234",
&px.Options{Log: true, Timeout: 30},
)
//Create context
ctx := context.Background()
//Query
res, _, _, err := alsocloud.Post(ctx, "GetCompany", nil)
buf := new(bytes.Buffer)
buf.ReadFrom(res)
resp := buf.String()
fmt.Printf(resp, err)
defer res.Close()
//returns {"ParentAccountId": 1234,"AccountId": 1234,"AccountState": "Active","CompanyName": "Demo"...
For a full list of options check GoDoc.