Documentation
¶
Index ¶
- Constants
- type ApiRequest
- type Blueprint
- type CatalogPlaceholder
- type CatalogVariant
- type CatalogVariantOption
- type Client
- func (c *Client) CalculateShippingCosts(shopId int, order *Order) (*ShippingCost, error)
- func (c *Client) CancelOrder(shopId, orderId int) (*Order, error)
- func (c *Client) CreateProduct(product Product) error
- func (c *Client) DeleteProduct(shopId int, productId int) error
- func (c *Client) DeleteShop(Id int) error
- func (c *Client) GetAvailablePrintProviders() ([]*PrintProvider, error)
- func (c *Client) GetBlueprint(Id int) (*Blueprint, error)
- func (c *Client) GetOrderDetails(shopId, orderId int) (*Order, error)
- func (c *Client) GetPrintProvider(Id int) (*PrintProvider, error)
- func (c *Client) GetPrintProviders(blueprintId int) ([]*PrintProvider, error)
- func (c *Client) GetProduct(shopId, productId int) (*Product, error)
- func (c *Client) GetProducts(shopId int, page *int) ([]*Product, error)
- func (c *Client) GetShippingInformation(blueprintId, providerId int) (*ShippingProperties, error)
- func (c *Client) GetVariants(blueprintId, providerId int) (*PrintProvider, error)
- func (c *Client) ListBluePrints() ([]*Blueprint, error)
- func (c *Client) ListShopOrders(shopId int, page, limit *int, statusFilter *string) ([]*Order, error)
- func (c *Client) ListShops() ([]*Shop, error)
- func (c *Client) PublishProduct(shopId, productId int, publishProperties PublishingProperties) error
- func (c *Client) SendOrderToProduction(shopId, orderId int) (*Order, error)
- func (c *Client) SetProductPublishFailre(shopId, productId int, reason string) error
- func (c *Client) SetProductPublishSuccess(shopId, productId int, external External) error
- func (c *Client) SubmitOrder(shopId int, order *Order) error
- func (c *Client) UnPublish(shopId, productId int) error
- func (c *Client) UpdateProduct(shopId int, product Product) (*Product, error)
- type External
- type LineItem
- type LineItemMetadata
- type Order
- type OrderMetadata
- type PrintArea
- type PrintDetails
- type PrintProvider
- type ProducePlaceholder
- type Product
- type ProductImage
- type ProductMockUpImage
- type ProductVariant
- type PublishingProperties
- type Shipment
- type ShippingCost
- type ShippingProperties
- type Shop
Constants ¶
const ( BlueprintProviderVariantsPath = "catalog/blueprints/%d/print_providers/%d/variants.json" BluePrintProviderShippingPath = "catalog/blueprints/%d/print_providers/%d/shipping.json" PrintProvidersPath = "catalog/print_providers.json" PrintProviderPath = "catalog/print_providers/%d.json" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiRequest ¶
type CatalogPlaceholder ¶
type CatalogVariant ¶
type CatalogVariant struct {
Id int `json:"id"`
Title string `json:"title"`
Options *CatalogVariantOption `json:"options"`
Placeholders []*CatalogPlaceholder `json:"placeholders"`
}
type CatalogVariantOption ¶
type Client ¶
type Client struct {
BaseURL *url.URL
ApiVersion string
UserAgent string
// contains filtered or unexported fields
}
func (*Client) CalculateShippingCosts ¶
func (c *Client) CalculateShippingCosts(shopId int, order *Order) (*ShippingCost, error)
Calculate the shipping cost of an order
func (*Client) CancelOrder ¶
Cancel an order
func (*Client) CreateProduct ¶
Create a new product
func (*Client) DeleteProduct ¶
Delete a product
func (*Client) GetAvailablePrintProviders ¶
func (c *Client) GetAvailablePrintProviders() ([]*PrintProvider, error)
Retrieve a list of available print providers
func (*Client) GetBlueprint ¶
Retrieve a specific blueprint
func (*Client) GetOrderDetails ¶
Get order details by ID
func (*Client) GetPrintProvider ¶
func (c *Client) GetPrintProvider(Id int) (*PrintProvider, error)
Retrieve a specific print provider and a list of associated blueprint offerings
func (*Client) GetPrintProviders ¶
func (c *Client) GetPrintProviders(blueprintId int) ([]*PrintProvider, error)
Retrieve a list of all print providers that fulfill orders for a specific blueprint
func (*Client) GetProduct ¶
Retrieve a product
func (*Client) GetProducts ¶
Retrieve a list of products
func (*Client) GetShippingInformation ¶
func (c *Client) GetShippingInformation(blueprintId, providerId int) (*ShippingProperties, error)
Retrieve shipping information
func (*Client) GetVariants ¶
func (c *Client) GetVariants(blueprintId, providerId int) (*PrintProvider, error)
Retrieve a list of variants of a blueprint from a specific print provider
func (*Client) ListBluePrints ¶
Retrieve a list of available blueprints
func (*Client) ListShopOrders ¶
func (c *Client) ListShopOrders(shopId int, page, limit *int, statusFilter *string) ([]*Order, error)
Retrieve a list of orders
func (*Client) PublishProduct ¶
func (c *Client) PublishProduct(shopId, productId int, publishProperties PublishingProperties) error
Publish a product
func (*Client) SendOrderToProduction ¶
Send an existing order to production
func (*Client) SetProductPublishFailre ¶
Set product publish status to failed
func (*Client) SetProductPublishSuccess ¶
Set product publish status to succeeded
func (*Client) SubmitOrder ¶
Submit an order
type LineItem ¶
type LineItem struct {
Id *int `json:"id,omitempty"`
VariantId *int `json:"variant_id,omitempty"`
ProductId *string `json:"product_id,omitempty"`
BlueprintId *int `json:"blueprint_id,omitempty"`
Quantity int `json:"quantity"`
PrintProviderId *int `json:"print_provider_id,omitempty"`
PrintAreas *map[string]string `json:"print_areas,omitempty"`
PrintDetails *PrintDetails `json:"print_details,omitempty"`
Cost *float32 `json:"cost,omitempty"`
Sku *string `json:"sku,omitempty"`
ShippingCost *float32 `json:"shipping_cost,omitempty"`
Status *string `json:"status,omitempty"`
Metadata *LineItemMetadata `json:"metadata,omitempty"`
SentToProductionAt *time.Time `json:"sent_to_production_at,omitempty"`
FulfilledAt *time.Time `json:"fulfilled_at,omitempty"`
}
type LineItemMetadata ¶
type Order ¶
type Order struct {
Id *int `json:"id,omitempty"`
AddressTo *map[string]string `json:"address_to,omitempty"`
LineItems []*LineItem `json:"line_items"`
Metadata *OrderMetadata `json:"metadata,omitempty"`
TotalPrice *float32 `json:"total_price,omitempty"`
TotalShipping *float32 `json:"total_shipping,omitempty"`
TotalTax *float32 `json:"total_tax,omitempty"`
Status *string `json:"status,omitempty"`
ShippingMethod int `json:"shipping_method"`
SendShippingNotification *bool `json:"send_shipping_notification"`
Shipments []*Shipment `json:"shipments,omitempty"`
CreatedAt *time.Time `json:"created_at,omitempty"`
SentToProductionAt *time.Time `json:"sent_to_production_at,omitempty"`
FulfilledAt *time.Time `json:"fulfilled_at,omitempty"`
}
type OrderMetadata ¶
type PrintArea ¶
type PrintArea struct {
VariantIds []int `json:"variant_ids"`
Placeholders []ProducePlaceholder `json:"placeholders"`
}
type PrintDetails ¶
type PrintDetails struct {
PrintOnSide string `json:"print_on_side"`
}
type PrintProvider ¶
type PrintProvider struct {
Id int `json:"id"`
Title string `json:"title"`
Location *map[string]string `json:"location,omitempty"`
Variants []*CatalogVariant `json:"variants,omitempty"`
}
type ProducePlaceholder ¶
type ProducePlaceholder struct {
Position string `json:"position"`
Images []ProductImage `json:"images"`
}
type Product ¶
type Product struct {
Id *int `json:"id,omitempty"`
Title string `json:"title"`
Description string `json:"description"`
Tags []string `json:"tags"`
Options []map[string]interface{} `json:"options"`
Variants []ProductVariant `json:"variants"`
Images []ProductMockUpImage `json:"images"`
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
Visible bool `json:"visible"`
BlueprintId int `json:"blueprint_id"`
PrintProviderId int `json:"print_provider_id"`
UserId int `json:"user_id"`
ShopId int `json:"shop_id"`
PrintAreas []*PrintArea `json:"print_areas"`
PrintDetails *PrintDetails `json:"print_details"`
External []*External `json:"external"`
IsLocked bool `json:"is_locked"`
SalesChannelProperties []string `json:"sales_channel_properties"`
}
type ProductImage ¶
type ProductMockUpImage ¶
type ProductVariant ¶
type ProductVariant struct {
Id *int `json:"id"`
Sku string `json:"sku"`
Price float32 `json:"price"`
Cost float32 `json:"cost"`
Title string `json:"title"`
Grams int `json:"grams"`
IsEnabled bool `json:"is_enabled"`
InStock bool `json:"in_stock"` // Deprecated
IsDefault bool `json:"is_default"`
IsAvailable bool `json:"is_available"`
Options []int `json:"options"`
}
type PublishingProperties ¶
type ShippingCost ¶
type ShippingProperties ¶
type ShippingProperties struct {
HandlingTime struct {
Value int `json:"value"`
Unit string `json:"unit"`
} `json:"handling_time"`
Profiles struct {
VariantIds []int `json:"variant_ids"`
FirstItem priceTag `json:"first_item"`
AdditionalItems priceTag `json:"additional_items"`
Countries []string `json:"countries"`
} `json:"profiles"`
}