Documentation
¶
Index ¶
- func Bool(value bool) param.Field[bool]
- func F[T any](value T) param.Field[T]
- func FileParam(reader io.Reader, filename string, contentType string) param.Field[io.Reader]
- func Float(value float64) param.Field[float64]
- func Int(value int64) param.Field[int64]
- func Null[T any]() param.Field[T]
- func Raw[T any](value any) param.Field[T]
- func String(value string) param.Field[string]
- type Address
- type AddressDeleteResponse
- type AddressDeleteResponseData
- type AddressListResponse
- type AddressNewParams
- type AddressNewResponse
- type AddressService
- func (r *AddressService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *AddressDeleteResponse, err error)
- func (r *AddressService) List(ctx context.Context, opts ...option.RequestOption) (res *AddressListResponse, err error)
- func (r *AddressService) New(ctx context.Context, body AddressNewParams, opts ...option.RequestOption) (res *AddressNewResponse, err error)
- type Card
- type CardDeleteResponse
- type CardDeleteResponseData
- type CardExpiration
- type CardListResponse
- type CardNewParams
- type CardNewResponse
- type CardService
- func (r *CardService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *CardDeleteResponse, err error)
- func (r *CardService) List(ctx context.Context, opts ...option.RequestOption) (res *CardListResponse, err error)
- func (r *CardService) New(ctx context.Context, body CardNewParams, opts ...option.RequestOption) (res *CardNewResponse, err error)
- type Cart
- type CartAmount
- type CartConvertResponse
- type CartGetResponse
- type CartItem
- type CartService
- func (r *CartService) Convert(ctx context.Context, opts ...option.RequestOption) (res *CartConvertResponse, err error)
- func (r *CartService) Get(ctx context.Context, opts ...option.RequestOption) (res *CartGetResponse, err error)
- func (r *CartService) SetAddress(ctx context.Context, body CartSetAddressParams, opts ...option.RequestOption) (res *CartSetAddressResponse, err error)
- func (r *CartService) SetCard(ctx context.Context, body CartSetCardParams, opts ...option.RequestOption) (res *CartSetCardResponse, err error)
- func (r *CartService) SetItem(ctx context.Context, body CartSetItemParams, opts ...option.RequestOption) (res *CartSetItemResponse, err error)
- type CartSetAddressParams
- type CartSetAddressResponse
- type CartSetAddressResponseData
- type CartSetCardParams
- type CartSetCardResponse
- type CartSetCardResponseData
- type CartSetItemParams
- type CartSetItemResponse
- type CartShipping
- type Client
- func (r *Client) Delete(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Execute(ctx context.Context, method string, path string, params interface{}, ...) error
- func (r *Client) Get(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Patch(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Post(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- func (r *Client) Put(ctx context.Context, path string, params interface{}, res interface{}, ...) error
- type EmailNewParams
- type EmailNewResponse
- type EmailNewResponseData
- type EmailService
- type Error
- type Order
- type OrderAmount
- type OrderGetResponse
- type OrderItem
- type OrderListResponse
- type OrderService
- type OrderShipping
- type OrderTracking
- type Product
- type ProductListResponse
- type ProductService
- type ProductSubscription
- type ProductVariant
- type Profile
- type ProfileMeResponse
- type ProfileService
- type ProfileUpdateParams
- type ProfileUpdateResponse
- type ProfileUser
- type Subscription
- type SubscriptionDeleteResponse
- type SubscriptionDeleteResponseData
- type SubscriptionFrequency
- type SubscriptionListResponse
- type SubscriptionNewParams
- type SubscriptionNewResponse
- type SubscriptionNewResponseData
- type SubscriptionParam
- type SubscriptionService
- func (r *SubscriptionService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *SubscriptionDeleteResponse, err error)
- func (r *SubscriptionService) List(ctx context.Context, opts ...option.RequestOption) (res *SubscriptionListResponse, err error)
- func (r *SubscriptionService) New(ctx context.Context, body SubscriptionNewParams, opts ...option.RequestOption) (res *SubscriptionNewResponse, err error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func F ¶
F is a param field helper used to initialize a param.Field generic struct. This helps specify null, zero values, and overrides, as well as normal values. You can read more about this in our README.
func Int ¶
Int is a param field helper which helps specify integers. This is particularly helpful when specifying integer constants for fields.
func Raw ¶
Raw is a param field helper for specifying values for fields when the type you are looking to send is different from the type that is specified in the SDK. For example, if the type of the field is an integer, but you want to send a float, you could do that by setting the corresponding field with Raw[int](0.5).
Types ¶
type Address ¶
type Address struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// City of the address.
City string `json:"city,required"`
// ISO 3166-1 alpha-2 country code of the address.
Country string `json:"country,required"`
// The recipient's name.
Name string `json:"name,required"`
// Street of the address.
Street1 string `json:"street1,required"`
// Zip code of the address.
Zip string `json:"zip,required"`
// Phone number of the recipient.
Phone string `json:"phone"`
// Province or state of the address.
Province string `json:"province"`
// Apartment, suite, etc. of the address.
Street2 string `json:"street2"`
JSON addressJSON `json:"-"`
}
Physical address associated with a Terminal shop user.
func (*Address) UnmarshalJSON ¶
type AddressDeleteResponse ¶
type AddressDeleteResponse struct {
Data AddressDeleteResponseData `json:"data,required"`
JSON addressDeleteResponseJSON `json:"-"`
}
func (*AddressDeleteResponse) UnmarshalJSON ¶
func (r *AddressDeleteResponse) UnmarshalJSON(data []byte) (err error)
type AddressDeleteResponseData ¶
type AddressDeleteResponseData string
const (
AddressDeleteResponseDataOk AddressDeleteResponseData = "ok"
)
func (AddressDeleteResponseData) IsKnown ¶
func (r AddressDeleteResponseData) IsKnown() bool
type AddressListResponse ¶
type AddressListResponse struct {
// Shipping addresses.
Data []Address `json:"data,required"`
JSON addressListResponseJSON `json:"-"`
}
func (*AddressListResponse) UnmarshalJSON ¶
func (r *AddressListResponse) UnmarshalJSON(data []byte) (err error)
type AddressNewParams ¶
type AddressNewParams struct {
// City of the address.
City param.Field[string] `json:"city,required"`
// ISO 3166-1 alpha-2 country code of the address.
Country param.Field[string] `json:"country,required"`
// The recipient's name.
Name param.Field[string] `json:"name,required"`
// Street of the address.
Street1 param.Field[string] `json:"street1,required"`
// Zip code of the address.
Zip param.Field[string] `json:"zip,required"`
// Phone number of the recipient.
Phone param.Field[string] `json:"phone"`
// Province or state of the address.
Province param.Field[string] `json:"province"`
// Apartment, suite, etc. of the address.
Street2 param.Field[string] `json:"street2"`
}
func (AddressNewParams) MarshalJSON ¶
func (r AddressNewParams) MarshalJSON() (data []byte, err error)
type AddressNewResponse ¶
type AddressNewResponse struct {
// Shipping address ID.
Data string `json:"data,required"`
JSON addressNewResponseJSON `json:"-"`
}
func (*AddressNewResponse) UnmarshalJSON ¶
func (r *AddressNewResponse) UnmarshalJSON(data []byte) (err error)
type AddressService ¶
type AddressService struct {
Options []option.RequestOption
}
AddressService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewAddressService method instead.
func NewAddressService ¶
func NewAddressService(opts ...option.RequestOption) (r *AddressService)
NewAddressService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*AddressService) Delete ¶
func (r *AddressService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *AddressDeleteResponse, err error)
Delete a shipping address from the current user.
func (*AddressService) List ¶
func (r *AddressService) List(ctx context.Context, opts ...option.RequestOption) (res *AddressListResponse, err error)
Get the shipping addresses associated with the current user.
func (*AddressService) New ¶
func (r *AddressService) New(ctx context.Context, body AddressNewParams, opts ...option.RequestOption) (res *AddressNewResponse, err error)
Create and add a shipping address to the current user.
type Card ¶
type Card struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// Brand of the card.
Brand string `json:"brand,required"`
// Expiration of the card.
Expiration CardExpiration `json:"expiration,required"`
// Last four digits of the card.
Last4 string `json:"last4,required"`
JSON cardJSON `json:"-"`
}
Credit card used for payments in the Terminal shop.
func (*Card) UnmarshalJSON ¶
type CardDeleteResponse ¶
type CardDeleteResponse struct {
Data CardDeleteResponseData `json:"data,required"`
JSON cardDeleteResponseJSON `json:"-"`
}
func (*CardDeleteResponse) UnmarshalJSON ¶
func (r *CardDeleteResponse) UnmarshalJSON(data []byte) (err error)
type CardDeleteResponseData ¶
type CardDeleteResponseData string
const (
CardDeleteResponseDataOk CardDeleteResponseData = "ok"
)
func (CardDeleteResponseData) IsKnown ¶
func (r CardDeleteResponseData) IsKnown() bool
type CardExpiration ¶
type CardExpiration struct {
// Expiration month of the card.
Month int64 `json:"month,required"`
// Expiration year of the card.
Year int64 `json:"year,required"`
JSON cardExpirationJSON `json:"-"`
}
Expiration of the card.
func (*CardExpiration) UnmarshalJSON ¶
func (r *CardExpiration) UnmarshalJSON(data []byte) (err error)
type CardListResponse ¶
type CardListResponse struct {
// List of cards associated with the user.
Data []Card `json:"data,required"`
JSON cardListResponseJSON `json:"-"`
}
func (*CardListResponse) UnmarshalJSON ¶
func (r *CardListResponse) UnmarshalJSON(data []byte) (err error)
type CardNewParams ¶
type CardNewParams struct {
// Stripe card token. Learn how to
// [create one here](https://docs.stripe.com/api/tokens/create_card).
Token param.Field[string] `json:"token,required"`
}
func (CardNewParams) MarshalJSON ¶
func (r CardNewParams) MarshalJSON() (data []byte, err error)
type CardNewResponse ¶
type CardNewResponse struct {
// ID of the card.
Data string `json:"data,required"`
JSON cardNewResponseJSON `json:"-"`
}
func (*CardNewResponse) UnmarshalJSON ¶
func (r *CardNewResponse) UnmarshalJSON(data []byte) (err error)
type CardService ¶
type CardService struct {
Options []option.RequestOption
}
CardService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCardService method instead.
func NewCardService ¶
func NewCardService(opts ...option.RequestOption) (r *CardService)
NewCardService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*CardService) Delete ¶
func (r *CardService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *CardDeleteResponse, err error)
Delete a credit card associated with the current user.
func (*CardService) List ¶
func (r *CardService) List(ctx context.Context, opts ...option.RequestOption) (res *CardListResponse, err error)
List the credit cards associated with the current user.
func (*CardService) New ¶
func (r *CardService) New(ctx context.Context, body CardNewParams, opts ...option.RequestOption) (res *CardNewResponse, err error)
Attach a credit card (tokenized via Stripe) to the current user.
type Cart ¶
type Cart struct {
// The subtotal and shipping amounts for the current user's cart.
Amount CartAmount `json:"amount,required"`
// An array of items in the current user's cart.
Items []CartItem `json:"items,required"`
// The subtotal of all items in the current user's cart, in cents (USD).
Subtotal int64 `json:"subtotal,required"`
// ID of the shipping address selected on the current user's cart.
AddressID string `json:"addressID"`
// ID of the card selected on the current user's cart.
CardID string `json:"cardID"`
// Shipping information for the current user's cart.
Shipping CartShipping `json:"shipping"`
JSON cartJSON `json:"-"`
}
The current Terminal shop user's cart.
func (*Cart) UnmarshalJSON ¶
type CartAmount ¶
type CartAmount struct {
// Subtotal of the current user's cart, in cents (USD).
Subtotal int64 `json:"subtotal,required"`
// Shipping amount of the current user's cart, in cents (USD).
Shipping int64 `json:"shipping"`
JSON cartAmountJSON `json:"-"`
}
The subtotal and shipping amounts for the current user's cart.
func (*CartAmount) UnmarshalJSON ¶
func (r *CartAmount) UnmarshalJSON(data []byte) (err error)
type CartConvertResponse ¶
type CartConvertResponse struct {
// An order from the Terminal shop.
Data Order `json:"data,required"`
JSON cartConvertResponseJSON `json:"-"`
}
func (*CartConvertResponse) UnmarshalJSON ¶
func (r *CartConvertResponse) UnmarshalJSON(data []byte) (err error)
type CartGetResponse ¶
type CartGetResponse struct {
// The current Terminal shop user's cart.
Data Cart `json:"data,required"`
JSON cartGetResponseJSON `json:"-"`
}
func (*CartGetResponse) UnmarshalJSON ¶
func (r *CartGetResponse) UnmarshalJSON(data []byte) (err error)
type CartItem ¶
type CartItem struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// ID of the product variant for this item in the current user's cart.
ProductVariantID string `json:"productVariantID,required"`
// Quantity of the item in the current user's cart.
Quantity int64 `json:"quantity,required"`
// Subtotal of the item in the current user's cart, in cents (USD).
Subtotal int64 `json:"subtotal,required"`
JSON cartItemJSON `json:"-"`
}
An item in the current Terminal shop user's cart.
func (*CartItem) UnmarshalJSON ¶
type CartService ¶
type CartService struct {
Options []option.RequestOption
}
CartService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewCartService method instead.
func NewCartService ¶
func NewCartService(opts ...option.RequestOption) (r *CartService)
NewCartService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*CartService) Convert ¶
func (r *CartService) Convert(ctx context.Context, opts ...option.RequestOption) (res *CartConvertResponse, err error)
Convert the current user's cart to an order.
func (*CartService) Get ¶
func (r *CartService) Get(ctx context.Context, opts ...option.RequestOption) (res *CartGetResponse, err error)
Get the current user's cart.
func (*CartService) SetAddress ¶
func (r *CartService) SetAddress(ctx context.Context, body CartSetAddressParams, opts ...option.RequestOption) (res *CartSetAddressResponse, err error)
Set the shipping address for the current user's cart.
func (*CartService) SetCard ¶
func (r *CartService) SetCard(ctx context.Context, body CartSetCardParams, opts ...option.RequestOption) (res *CartSetCardResponse, err error)
Set the credit card for the current user's cart.
func (*CartService) SetItem ¶
func (r *CartService) SetItem(ctx context.Context, body CartSetItemParams, opts ...option.RequestOption) (res *CartSetItemResponse, err error)
Add an item to the current user's cart.
type CartSetAddressParams ¶
type CartSetAddressParams struct {
// ID of the shipping address to set for the current user's cart.
AddressID param.Field[string] `json:"addressID,required"`
}
func (CartSetAddressParams) MarshalJSON ¶
func (r CartSetAddressParams) MarshalJSON() (data []byte, err error)
type CartSetAddressResponse ¶
type CartSetAddressResponse struct {
Data CartSetAddressResponseData `json:"data,required"`
JSON cartSetAddressResponseJSON `json:"-"`
}
func (*CartSetAddressResponse) UnmarshalJSON ¶
func (r *CartSetAddressResponse) UnmarshalJSON(data []byte) (err error)
type CartSetAddressResponseData ¶
type CartSetAddressResponseData string
const (
CartSetAddressResponseDataOk CartSetAddressResponseData = "ok"
)
func (CartSetAddressResponseData) IsKnown ¶
func (r CartSetAddressResponseData) IsKnown() bool
type CartSetCardParams ¶
type CartSetCardParams struct {
// ID of the credit card to set for the current user's cart.
CardID param.Field[string] `json:"cardID,required"`
}
func (CartSetCardParams) MarshalJSON ¶
func (r CartSetCardParams) MarshalJSON() (data []byte, err error)
type CartSetCardResponse ¶
type CartSetCardResponse struct {
Data CartSetCardResponseData `json:"data,required"`
JSON cartSetCardResponseJSON `json:"-"`
}
func (*CartSetCardResponse) UnmarshalJSON ¶
func (r *CartSetCardResponse) UnmarshalJSON(data []byte) (err error)
type CartSetCardResponseData ¶
type CartSetCardResponseData string
const (
CartSetCardResponseDataOk CartSetCardResponseData = "ok"
)
func (CartSetCardResponseData) IsKnown ¶
func (r CartSetCardResponseData) IsKnown() bool
type CartSetItemParams ¶
type CartSetItemParams struct {
// ID of the product variant to add to the cart.
ProductVariantID param.Field[string] `json:"productVariantID,required"`
// Quantity of the item to add to the cart.
Quantity param.Field[int64] `json:"quantity,required"`
}
func (CartSetItemParams) MarshalJSON ¶
func (r CartSetItemParams) MarshalJSON() (data []byte, err error)
type CartSetItemResponse ¶
type CartSetItemResponse struct {
// The current Terminal shop user's cart.
Data Cart `json:"data,required"`
JSON cartSetItemResponseJSON `json:"-"`
}
func (*CartSetItemResponse) UnmarshalJSON ¶
func (r *CartSetItemResponse) UnmarshalJSON(data []byte) (err error)
type CartShipping ¶
type CartShipping struct {
// Shipping service name.
Service string `json:"service"`
// Shipping timeframe provided by the shipping carrier.
Timeframe string `json:"timeframe"`
JSON cartShippingJSON `json:"-"`
}
Shipping information for the current user's cart.
func (*CartShipping) UnmarshalJSON ¶
func (r *CartShipping) UnmarshalJSON(data []byte) (err error)
type Client ¶
type Client struct {
Options []option.RequestOption
Product *ProductService
Profile *ProfileService
Address *AddressService
Card *CardService
Cart *CartService
Order *OrderService
Subscription *SubscriptionService
Email *EmailService
}
Client creates a struct with services and top level methods that help with interacting with the terminal API. You should not instantiate this client directly, and instead use the NewClient method instead.
func NewClient ¶
func NewClient(opts ...option.RequestOption) (r *Client)
NewClient generates a new client with the default option read from the environment (TERMINAL_BEARER_TOKEN). The option passed in as arguments are applied after these default arguments, and all option will be passed down to the services and requests that this client makes.
func (*Client) Delete ¶
func (r *Client) Delete(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Delete makes a DELETE request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Execute ¶
func (r *Client) Execute(ctx context.Context, method string, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Execute makes a request with the given context, method, URL, request params, response, and request options. This is useful for hitting undocumented endpoints while retaining the base URL, auth, retries, and other options from the client.
If a byte slice or an io.Reader is supplied to params, it will be used as-is for the request body.
The params is by default serialized into the body using encoding/json. If your type implements a MarshalJSON function, it will be used instead to serialize the request. If a URLQuery method is implemented, the returned [url.Values] will be used as query strings to the url.
If your params struct uses param.Field, you must provide either [MarshalJSON], [URLQuery], and/or [MarshalForm] functions. It is undefined behavior to use a struct uses param.Field without specifying how it is serialized.
Any "…Params" object defined in this library can be used as the request argument. Note that 'path' arguments will not be forwarded into the url.
The response body will be deserialized into the res variable, depending on its type:
- A pointer to a *http.Response is populated by the raw response.
- A pointer to a byte array will be populated with the contents of the request body.
- A pointer to any other type uses this library's default JSON decoding, which respects UnmarshalJSON if it is defined on the type.
- A nil value will not read the response body.
For even greater flexibility, see option.WithResponseInto and option.WithResponseBodyInto.
func (*Client) Get ¶
func (r *Client) Get(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Get makes a GET request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Patch ¶
func (r *Client) Patch(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Patch makes a PATCH request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
func (*Client) Post ¶
func (r *Client) Post(ctx context.Context, path string, params interface{}, res interface{}, opts ...option.RequestOption) error
Post makes a POST request with the given URL, params, and optionally deserializes to a response. See [Execute] documentation on the params and response.
type EmailNewParams ¶
type EmailNewParams struct {
// Email address to subscribe to Terminal updates with.
Email param.Field[string] `json:"email,required" format:"email"`
}
func (EmailNewParams) MarshalJSON ¶
func (r EmailNewParams) MarshalJSON() (data []byte, err error)
type EmailNewResponse ¶
type EmailNewResponse struct {
Data EmailNewResponseData `json:"data,required"`
JSON emailNewResponseJSON `json:"-"`
}
func (*EmailNewResponse) UnmarshalJSON ¶
func (r *EmailNewResponse) UnmarshalJSON(data []byte) (err error)
type EmailNewResponseData ¶
type EmailNewResponseData string
const (
EmailNewResponseDataOk EmailNewResponseData = "ok"
)
func (EmailNewResponseData) IsKnown ¶
func (r EmailNewResponseData) IsKnown() bool
type EmailService ¶
type EmailService struct {
Options []option.RequestOption
}
EmailService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewEmailService method instead.
func NewEmailService ¶
func NewEmailService(opts ...option.RequestOption) (r *EmailService)
NewEmailService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*EmailService) New ¶
func (r *EmailService) New(ctx context.Context, body EmailNewParams, opts ...option.RequestOption) (res *EmailNewResponse, err error)
Subscribe to email updates from Terminal.
type Order ¶
type Order struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// The subtotal and shipping amounts of the order.
Amount OrderAmount `json:"amount,required"`
// Items in the order.
Items []OrderItem `json:"items,required"`
// Shipping address of the order.
Shipping OrderShipping `json:"shipping,required"`
// Tracking information of the order.
Tracking OrderTracking `json:"tracking,required"`
// Zero-based index of the order for this user only.
Index int64 `json:"index"`
JSON orderJSON `json:"-"`
}
An order from the Terminal shop.
func (*Order) UnmarshalJSON ¶
type OrderAmount ¶
type OrderAmount struct {
// Shipping amount of the order, in cents (USD).
Shipping int64 `json:"shipping,required"`
// Subtotal amount of the order, in cents (USD).
Subtotal int64 `json:"subtotal,required"`
JSON orderAmountJSON `json:"-"`
}
The subtotal and shipping amounts of the order.
func (*OrderAmount) UnmarshalJSON ¶
func (r *OrderAmount) UnmarshalJSON(data []byte) (err error)
type OrderGetResponse ¶
type OrderGetResponse struct {
// An order from the Terminal shop.
Data Order `json:"data,required"`
JSON orderGetResponseJSON `json:"-"`
}
func (*OrderGetResponse) UnmarshalJSON ¶
func (r *OrderGetResponse) UnmarshalJSON(data []byte) (err error)
type OrderItem ¶
type OrderItem struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// Amount of the item in the order, in cents (USD).
Amount int64 `json:"amount,required"`
// Quantity of the item in the order.
Quantity int64 `json:"quantity,required"`
// Description of the item in the order.
Description string `json:"description"`
// ID of the product variant of the item in the order.
ProductVariantID string `json:"productVariantID"`
JSON orderItemJSON `json:"-"`
}
func (*OrderItem) UnmarshalJSON ¶
type OrderListResponse ¶
type OrderListResponse struct {
// List of orders.
Data []Order `json:"data,required"`
JSON orderListResponseJSON `json:"-"`
}
func (*OrderListResponse) UnmarshalJSON ¶
func (r *OrderListResponse) UnmarshalJSON(data []byte) (err error)
type OrderService ¶
type OrderService struct {
Options []option.RequestOption
}
OrderService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewOrderService method instead.
func NewOrderService ¶
func NewOrderService(opts ...option.RequestOption) (r *OrderService)
NewOrderService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*OrderService) Get ¶
func (r *OrderService) Get(ctx context.Context, id string, opts ...option.RequestOption) (res *OrderGetResponse, err error)
Get the order with the given ID.
func (*OrderService) List ¶
func (r *OrderService) List(ctx context.Context, opts ...option.RequestOption) (res *OrderListResponse, err error)
List the orders associated with the current user.
type OrderShipping ¶
type OrderShipping struct {
// City of the address.
City string `json:"city,required"`
// ISO 3166-1 alpha-2 country code of the address.
Country string `json:"country,required"`
// The recipient's name.
Name string `json:"name,required"`
// Street of the address.
Street1 string `json:"street1,required"`
// Zip code of the address.
Zip string `json:"zip,required"`
// Phone number of the recipient.
Phone string `json:"phone"`
// Province or state of the address.
Province string `json:"province"`
// Apartment, suite, etc. of the address.
Street2 string `json:"street2"`
JSON orderShippingJSON `json:"-"`
}
Shipping address of the order.
func (*OrderShipping) UnmarshalJSON ¶
func (r *OrderShipping) UnmarshalJSON(data []byte) (err error)
type OrderTracking ¶
type OrderTracking struct {
// Tracking number of the order.
Number string `json:"number"`
// Shipping service of the order.
Service string `json:"service"`
// Tracking URL of the order.
URL string `json:"url"`
JSON orderTrackingJSON `json:"-"`
}
Tracking information of the order.
func (*OrderTracking) UnmarshalJSON ¶
func (r *OrderTracking) UnmarshalJSON(data []byte) (err error)
type Product ¶
type Product struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// Description of the product.
Description string `json:"description,required"`
// Name of the product.
Name string `json:"name,required"`
// List of variants of the product.
Variants []ProductVariant `json:"variants,required"`
// Order of the product used when displaying a sorted list of products.
Order int64 `json:"order"`
// Whether the product must be or can be subscribed to.
Subscription ProductSubscription `json:"subscription"`
// Tags for the product.
Tags map[string]string `json:"tags"`
JSON productJSON `json:"-"`
}
Product sold in the Terminal shop.
func (*Product) UnmarshalJSON ¶
type ProductListResponse ¶
type ProductListResponse struct {
// A list of products.
Data []Product `json:"data,required"`
JSON productListResponseJSON `json:"-"`
}
func (*ProductListResponse) UnmarshalJSON ¶
func (r *ProductListResponse) UnmarshalJSON(data []byte) (err error)
type ProductService ¶
type ProductService struct {
Options []option.RequestOption
}
ProductService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewProductService method instead.
func NewProductService ¶
func NewProductService(opts ...option.RequestOption) (r *ProductService)
NewProductService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*ProductService) List ¶
func (r *ProductService) List(ctx context.Context, opts ...option.RequestOption) (res *ProductListResponse, err error)
List all products for sale in the Terminal shop.
type ProductSubscription ¶
type ProductSubscription string
Whether the product must be or can be subscribed to.
const ( ProductSubscriptionAllowed ProductSubscription = "allowed" ProductSubscriptionRequired ProductSubscription = "required" )
func (ProductSubscription) IsKnown ¶
func (r ProductSubscription) IsKnown() bool
type ProductVariant ¶
type ProductVariant struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// Name of the product variant.
Name string `json:"name,required"`
// Price of the product variant in cents (USD).
Price int64 `json:"price,required"`
JSON productVariantJSON `json:"-"`
}
Variant of a product in the Terminal shop.
func (*ProductVariant) UnmarshalJSON ¶
func (r *ProductVariant) UnmarshalJSON(data []byte) (err error)
type Profile ¶
type Profile struct {
// A Terminal shop user. (We have users, btw.)
User ProfileUser `json:"user,required"`
JSON profileJSON `json:"-"`
}
A Terminal shop user's profile. (We have users, btw.)
func (*Profile) UnmarshalJSON ¶
type ProfileMeResponse ¶
type ProfileMeResponse struct {
// A Terminal shop user's profile. (We have users, btw.)
Data Profile `json:"data,required"`
JSON profileMeResponseJSON `json:"-"`
}
func (*ProfileMeResponse) UnmarshalJSON ¶
func (r *ProfileMeResponse) UnmarshalJSON(data []byte) (err error)
type ProfileService ¶
type ProfileService struct {
Options []option.RequestOption
}
ProfileService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewProfileService method instead.
func NewProfileService ¶
func NewProfileService(opts ...option.RequestOption) (r *ProfileService)
NewProfileService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*ProfileService) Me ¶
func (r *ProfileService) Me(ctx context.Context, opts ...option.RequestOption) (res *ProfileMeResponse, err error)
Get the current user's profile.
func (*ProfileService) Update ¶
func (r *ProfileService) Update(ctx context.Context, body ProfileUpdateParams, opts ...option.RequestOption) (res *ProfileUpdateResponse, err error)
Update the current user's profile.
type ProfileUpdateParams ¶
type ProfileUpdateParams struct {
// Email address of the user.
Email param.Field[string] `json:"email"`
// Name of the user.
Name param.Field[string] `json:"name"`
}
func (ProfileUpdateParams) MarshalJSON ¶
func (r ProfileUpdateParams) MarshalJSON() (data []byte, err error)
type ProfileUpdateResponse ¶
type ProfileUpdateResponse struct {
// A Terminal shop user's profile. (We have users, btw.)
Data Profile `json:"data,required"`
JSON profileUpdateResponseJSON `json:"-"`
}
func (*ProfileUpdateResponse) UnmarshalJSON ¶
func (r *ProfileUpdateResponse) UnmarshalJSON(data []byte) (err error)
type ProfileUser ¶
type ProfileUser struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// Email address of the user.
Email string `json:"email,required,nullable"`
// The user's fingerprint, derived from their public SSH key.
Fingerprint string `json:"fingerprint,required,nullable"`
// Name of the user.
Name string `json:"name,required,nullable"`
// Stripe customer ID of the user.
StripeCustomerID string `json:"stripeCustomerID,required"`
JSON profileUserJSON `json:"-"`
}
A Terminal shop user. (We have users, btw.)
func (*ProfileUser) UnmarshalJSON ¶
func (r *ProfileUser) UnmarshalJSON(data []byte) (err error)
type Subscription ¶
type Subscription struct {
// Unique object identifier. The format and length of IDs may change over time.
ID string `json:"id,required"`
// ID of the shipping address used for the subscription.
AddressID string `json:"addressID,required"`
// ID of the card used for the subscription.
CardID string `json:"cardID,required"`
// Frequency of the subscription.
Frequency SubscriptionFrequency `json:"frequency,required"`
// ID of the product variant being subscribed to.
ProductVariantID string `json:"productVariantID,required"`
// Quantity of the subscription.
Quantity int64 `json:"quantity,required"`
JSON subscriptionJSON `json:"-"`
}
Subscription to a Terminal shop product.
func (*Subscription) UnmarshalJSON ¶
func (r *Subscription) UnmarshalJSON(data []byte) (err error)
type SubscriptionDeleteResponse ¶
type SubscriptionDeleteResponse struct {
Data SubscriptionDeleteResponseData `json:"data,required"`
JSON subscriptionDeleteResponseJSON `json:"-"`
}
func (*SubscriptionDeleteResponse) UnmarshalJSON ¶
func (r *SubscriptionDeleteResponse) UnmarshalJSON(data []byte) (err error)
type SubscriptionDeleteResponseData ¶
type SubscriptionDeleteResponseData string
const (
SubscriptionDeleteResponseDataOk SubscriptionDeleteResponseData = "ok"
)
func (SubscriptionDeleteResponseData) IsKnown ¶
func (r SubscriptionDeleteResponseData) IsKnown() bool
type SubscriptionFrequency ¶
type SubscriptionFrequency string
Frequency of the subscription.
const ( SubscriptionFrequencyFixed SubscriptionFrequency = "fixed" SubscriptionFrequencyDaily SubscriptionFrequency = "daily" SubscriptionFrequencyWeekly SubscriptionFrequency = "weekly" SubscriptionFrequencyMonthly SubscriptionFrequency = "monthly" SubscriptionFrequencyYearly SubscriptionFrequency = "yearly" )
func (SubscriptionFrequency) IsKnown ¶
func (r SubscriptionFrequency) IsKnown() bool
type SubscriptionListResponse ¶
type SubscriptionListResponse struct {
// List of subscriptions.
Data []Subscription `json:"data,required"`
JSON subscriptionListResponseJSON `json:"-"`
}
func (*SubscriptionListResponse) UnmarshalJSON ¶
func (r *SubscriptionListResponse) UnmarshalJSON(data []byte) (err error)
type SubscriptionNewParams ¶
type SubscriptionNewParams struct {
// Subscription to a Terminal shop product.
Subscription SubscriptionParam `json:"subscription,required"`
}
func (SubscriptionNewParams) MarshalJSON ¶
func (r SubscriptionNewParams) MarshalJSON() (data []byte, err error)
type SubscriptionNewResponse ¶
type SubscriptionNewResponse struct {
Data SubscriptionNewResponseData `json:"data,required"`
JSON subscriptionNewResponseJSON `json:"-"`
}
func (*SubscriptionNewResponse) UnmarshalJSON ¶
func (r *SubscriptionNewResponse) UnmarshalJSON(data []byte) (err error)
type SubscriptionNewResponseData ¶
type SubscriptionNewResponseData string
const (
SubscriptionNewResponseDataOk SubscriptionNewResponseData = "ok"
)
func (SubscriptionNewResponseData) IsKnown ¶
func (r SubscriptionNewResponseData) IsKnown() bool
type SubscriptionParam ¶
type SubscriptionParam struct {
// Unique object identifier. The format and length of IDs may change over time.
ID param.Field[string] `json:"id,required"`
// ID of the shipping address used for the subscription.
AddressID param.Field[string] `json:"addressID,required"`
// ID of the card used for the subscription.
CardID param.Field[string] `json:"cardID,required"`
// Frequency of the subscription.
Frequency param.Field[SubscriptionFrequency] `json:"frequency,required"`
// ID of the product variant being subscribed to.
ProductVariantID param.Field[string] `json:"productVariantID,required"`
// Quantity of the subscription.
Quantity param.Field[int64] `json:"quantity,required"`
}
Subscription to a Terminal shop product.
func (SubscriptionParam) MarshalJSON ¶
func (r SubscriptionParam) MarshalJSON() (data []byte, err error)
type SubscriptionService ¶
type SubscriptionService struct {
Options []option.RequestOption
}
SubscriptionService contains methods and other services that help with interacting with the terminal API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewSubscriptionService method instead.
func NewSubscriptionService ¶
func NewSubscriptionService(opts ...option.RequestOption) (r *SubscriptionService)
NewSubscriptionService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*SubscriptionService) Delete ¶
func (r *SubscriptionService) Delete(ctx context.Context, id string, opts ...option.RequestOption) (res *SubscriptionDeleteResponse, err error)
Cancel a subscription for the current user.
func (*SubscriptionService) List ¶
func (r *SubscriptionService) List(ctx context.Context, opts ...option.RequestOption) (res *SubscriptionListResponse, err error)
List the subscriptions associated with the current user.
func (*SubscriptionService) New ¶
func (r *SubscriptionService) New(ctx context.Context, body SubscriptionNewParams, opts ...option.RequestOption) (res *SubscriptionNewResponse, err error)
Create a subscription for the current user.