Kategorien
Entwicklung GO Lang Programmierung REST API Schnittstellen Webapplikationen

Tillhub Library in GO

Seit einigen Wochen arbeiten wir an einer neuen Library für das Kassensystem Tillhub. Die Library finden Sie aus unserer Github Seite.

Da wir für einen Kunden eine Schnittstelle zu Tillhub entwickeln sollten und es noch keine Libraries oder ähnliches zu Tillhub in GO Lang gab haben wir uns dazu entschieden, die entwickelten Funktionen und Structs öffentlich zugänglich zu machen.

Hier finden Sie nun eine kleine Erklärung zu den wichtigsten Funktionen.

API key authentication

Um einen Bearer Token zu erhalten, können Sie sich mit den folgenden Daten und dieser Funktion authentifizieren.

// Get bearer token
data, err := tillhub.AuthKey("accountId", "apiKey")
if err != nil {
    fmt.Println(err)
}

// Print token
fmt.Println(data.token)

Alle Produkte auslesen

Wenn Sie alle Produkte auslesen möchten, dann können Sie dies wie folgt tun.

// Read all products
products, err := tillhub.ReadProducts("userId", "token")
if err != nil {
    fmt.Println(err)
}

// Print products
fmt.Println(products)

Bestand hinzufügen

Wenn Sie Ihren Bestand erweitern oder verringern möchten, dann können Sie dies über folgende Funktion tun.

// Define stock body
body := tillhub.CreateStockBody{220, "locationId"}

// Update stock
stock, err := tillhub.CreateStock(body, "accountId", "productId", "token")
if err != nil {
    fmt.Println(err)
}

// Print stock
fmt.Println(stock.Results[0].Stock.Qty)

Bestand entfernen

Wenn der bestand generell geleert werden soll, dann kann man dies wie folgt machen. Aber aufpassen, wenn neuer Bestand gesetzt wird, ändert sich die stock_id.

// Delete stock
stock, err := tillhub.DeleteStock("stockId", "accountId", "token")
if err != nil {
    fmt.Println(err)
}

// Print stock
fmt.Println(stock)

Weitere Beschreibungen zu den Funktionen und deren Umfang finden Sie in der readme.md unseres Github Repositories. Dieses finden Sie hier.

Von Jonas Kwiedor

Full- Stack Developer aus Hamburg. Liebt es sich mit Schnittstellen & Automationen auseinander zu setzen und sich mit der Programmiersprache GO Lang zu beschäftigen.