(Products)
- Get - Get a product
- List - List products
- Create - Create a product
- Update - Update a product
- Archive - Archive a product
Get a specific product
package main
import(
metronomegosdk "github.com/speakeasy-sdks/metronome-go-sdk"
"github.com/speakeasy-sdks/metronome-go-sdk/models/operations"
"context"
"log"
)
func main() {
s := metronomegosdk.New(
metronomegosdk.WithSecurity("<YOUR_BEARER_TOKEN_HERE>"),
)
var request *operations.GetProductRequestBody = &operations.GetProductRequestBody{
ID: "d84e7f4e-7a70-4fe4-be02-7a5027beffcc",
}
ctx := context.Background()
res, err := s.Products.Get(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.GetProductRequestBody | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.GetProductResponse, error
Error Object | Status Code | Content Type |
---|---|---|
sdkerrors.NotFound | 404 | application/json |
sdkerrors.SDKError | 4xx-5xx | / |
List products
package main
import(
metronomegosdk "github.com/speakeasy-sdks/metronome-go-sdk"
"github.com/speakeasy-sdks/metronome-go-sdk/models/operations"
"context"
"log"
)
func main() {
s := metronomegosdk.New(
metronomegosdk.WithSecurity("<YOUR_BEARER_TOKEN_HERE>"),
)
var requestBody *operations.ListProductsRequestBody = &operations.ListProductsRequestBody{
ArchiveFilter: operations.ArchiveFilterNotArchived.ToPointer(),
}
ctx := context.Background()
res, err := s.Products.List(ctx, nil, nil, requestBody)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
for {
// handle items
res, err = res.Next()
if err != nil {
// handle error
}
if res == nil {
break
}
}
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
limit |
*int64 | ➖ | Max number of results that should be returned |
nextPage |
*string | ➖ | Cursor that indicates where the next page of results should start. |
requestBody |
*operations.ListProductsRequestBody | ➖ | Get list of products |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.ListProductsResponse, error
Error Object | Status Code | Content Type |
---|---|---|
sdkerrors.SDKError | 4xx-5xx | / |
Create a new product
package main
import(
metronomegosdk "github.com/speakeasy-sdks/metronome-go-sdk"
"github.com/speakeasy-sdks/metronome-go-sdk/models/operations"
"context"
"log"
)
func main() {
s := metronomegosdk.New(
metronomegosdk.WithSecurity("<YOUR_BEARER_TOKEN_HERE>"),
)
var request *operations.CreateProductRequestBody = &operations.CreateProductRequestBody{
Name: "My Product",
Type: operations.TypeUsageUpper,
BillableMetricID: metronomegosdk.String("13117714-3f05-48e5-a6e9-a66093f13b4d"),
}
ctx := context.Background()
res, err := s.Products.Create(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.CreateProductRequestBody | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.CreateProductResponse, error
Error Object | Status Code | Content Type |
---|---|---|
sdkerrors.BadRequest | 400 | application/json |
sdkerrors.SDKError | 4xx-5xx | / |
Update a product
package main
import(
metronomegosdk "github.com/speakeasy-sdks/metronome-go-sdk"
"github.com/speakeasy-sdks/metronome-go-sdk/models/operations"
"github.com/speakeasy-sdks/metronome-go-sdk/types"
"context"
"log"
)
func main() {
s := metronomegosdk.New(
metronomegosdk.WithSecurity("<YOUR_BEARER_TOKEN_HERE>"),
)
var request *operations.UpdateProductRequestBody = &operations.UpdateProductRequestBody{
ProductID: "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
Name: metronomegosdk.String("My Updated Product"),
StartingAt: types.MustTimeFromString("2020-01-01T00:00:00.000Z"),
}
ctx := context.Background()
res, err := s.Products.Update(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.UpdateProductRequestBody | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.UpdateProductResponse, error
Error Object | Status Code | Content Type |
---|---|---|
sdkerrors.BadRequest | 400 | application/json |
sdkerrors.NotFound | 404 | application/json |
sdkerrors.SDKError | 4xx-5xx | / |
Archive a product
package main
import(
metronomegosdk "github.com/speakeasy-sdks/metronome-go-sdk"
"github.com/speakeasy-sdks/metronome-go-sdk/models/operations"
"context"
"log"
)
func main() {
s := metronomegosdk.New(
metronomegosdk.WithSecurity("<YOUR_BEARER_TOKEN_HERE>"),
)
var request *operations.ArchiveProductListItemRequestBody = &operations.ArchiveProductListItemRequestBody{
ProductID: "d7abd0cd-4ae9-4db7-8676-e986a4ebd8dc",
}
ctx := context.Background()
res, err := s.Products.Archive(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.Object != nil {
// handle response
}
}
Parameter | Type | Required | Description |
---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.ArchiveProductListItemRequestBody | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
*operations.ArchiveProductListItemResponse, error
Error Object | Status Code | Content Type |
---|---|---|
sdkerrors.BadRequest | 400 | application/json |
sdkerrors.NotFound | 404 | application/json |
sdkerrors.SDKError | 4xx-5xx | / |