https://github.com/leonelquinteros/woocommerce
Go Woocommerce API SDK
https://github.com/leonelquinteros/woocommerce
client-sdk go golang rest woocommerce woocommerce-api woocommerce-client
Last synced: 5 months ago
JSON representation
Go Woocommerce API SDK
- Host: GitHub
- URL: https://github.com/leonelquinteros/woocommerce
- Owner: leonelquinteros
- License: mit
- Created: 2019-12-16T23:58:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-08-30T21:09:28.000Z (almost 5 years ago)
- Last Synced: 2024-06-20T11:13:05.079Z (almost 2 years ago)
- Topics: client-sdk, go, golang, rest, woocommerce, woocommerce-api, woocommerce-client
- Language: Go
- Size: 18.6 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/leonelquinteros/woocommerce)
[](LICENSE)
[](https://godoc.org/github.com/leonelquinteros/woocommerce)
[](https://goreportcard.com/report/github.com/leonelquinteros/woocommerce)
# Woocommerce SDK
Woocommerce REST API Client for Go
## Quick start
```
go get github.com/leonelquinteros/woocommerce
```
```go
package main
import "github.com/leonelquinteros/woocommerce"
func main() {
// Grab config from environment variables
conf := woocommerce.ClientConfig{
APIHost: os.Getenv("WC_API_HOST"),
ConsumerKey: os.Getenv("WC_API_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("WC_API_CONSUMER_SECRET"),
}
// Get Woocommerce client
client := woocommerce.NewClient(conf)
// List orders
params := url.Values{}
params.Set("orderby", "id")
params.Set("order", "desc")
orders, err := client.Orders().List(params)
if err != nil {
log.Fatal(err)
}
// Print results
for _, order := range orders {
log.Printf("%+v", order)
}
}
```
## Available endpoints
### Customers
- [List costumers](https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-customers)
- [Get costumer](https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-a-customer)
```go
client.Customers().List(params)
client.Customers().Get(customerID)
```
### Orders
- [List orders](https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-orders)
- [Get order](https://woocommerce.github.io/woocommerce-rest-api-docs/#retrieve-an-order)
- [List orders notes](https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-order-notes)
```go
client.Orders().List(params)
client.Orders().Get(orderID)
client.Orders().ListOrderNotes(orderID)
```
## Tests
Most tests will depend on several environment variables to use as configuration for the Woocommerce client.
Check the helper function at `env_test.go`:
```go
func getTestClient() Client {
cc := ClientConfig{
APIHost: os.Getenv("WC_API_HOST"),
ConsumerKey: os.Getenv("WC_API_CONSUMER_KEY"),
ConsumerSecret: os.Getenv("WC_API_CONSUMER_SECRET"),
Debug: true,
}
return NewClient(cc)
}
```
You have to set `WC_API_HOST`, `WC_API_CONSUMER_KEY` and `WC_API_CONSUMER_SECRET`
to the corresponding configuration values for your environment.