Documentation ¶
Index ¶
- Constants
- func CheckResponseError(r *http.Response) error
- func ShopBaseURL(shopName string) string
- type Address
- type App
- type Client
- func (c *Client) CreateAndDo(method, relPath string, data, options, resource interface{}) error
- func (c *Client) Delete(path string) error
- func (c *Client) Do(req *http.Request, v interface{}) error
- func (c *Client) Get(path string, resource, options interface{}) error
- func (c *Client) NewRequest(method, relPath string, body, options interface{}) (*http.Request, error)
- func (c *Client) Post(path string, data, resource interface{}) error
- func (c *Client) Put(path string, data, resource interface{}) error
- type CouponLine
- type FeeLine
- type LeveledLogger
- type LeveledLoggerInterface
- type LineItem
- type ListOptions
- type MetaData
- type Option
- type Order
- type OrderListOption
- type OrderNote
- type OrderNoteService
- type OrderNoteServiceOp
- type OrderRefund
- type OrderRefundService
- type OrderResource
- type OrderService
- type OrderServiceOp
- func (o *OrderServiceOp) BatchUpdate()
- func (o *OrderServiceOp) Create()
- func (o *OrderServiceOp) Delete()
- func (o *OrderServiceOp) Get(orderID int64, options interface{}) (*Order, error)
- func (o *OrderServiceOp) List(options interface{}) ([]Order, error)
- func (o *OrderServiceOp) ListWithPagination(options interface{}) ([]Order, *Pagination, error)
- func (o *OrderServiceOp) Update()
- type OrdersResource
- type Pagination
- type Product
- type ProductService
- type ProductServiceOp
- type RateLimitError
- type RateLimitInfo
- type Refund
- type ResponseDecodingError
- type ResponseError
- type ShippingLines
- type TaxLine
Constants ¶
const ( LevelError = iota + 1 LevelWarn LevelInfo LevelDebug )
const (
OrdersBaseResource = "orders"
)
const (
UserAgent = "gowooco/1.0.0"
)
Variables ¶
This section is empty.
Functions ¶
func CheckResponseError ¶
func ShopBaseURL ¶
ShopBaseURL return a shop's base https base url
Types ¶
type Address ¶
type Address struct { FirstName string `json:"first_name,omitempty"` LastName string `json:"last_name,omitempty"` Company string `json:"company,omitempty"` Address1 string `json:"address1,omitempty"` Address2 string `json:"address2,omitempty"` City string `json:"city,omitempty"` State string `json:"province,omitempty"` PostCode string `json:"postcode,omitempty"` Country string `json:"country,omitempty"` Email string `json:"email,omitempty"` Phone string `json:"phone,omitempty"` }
type App ¶
type App struct { CustomerKey string CustomerSecret string AppName string UserId string Scope string ReturnUrl string CallbackUrl string Client *Client }
type Client ¶
type Client struct { Client *http.Client RateLimits RateLimitInfo Product ProductService Order OrderService OrderNote OrderNoteService // contains filtered or unexported fields }
func NewClient ¶
NewClient Returns a new WooCommerce API client with an already authenticated shopname and token. The shopName parameter is the shop's wooCommerce website domain, e.g. "shop.gitvim.com"
func (*Client) CreateAndDo ¶
CreateAndDo performs a web request to WooCommerce with the given method (GET, POST, PUT, DELETE) and relative path (e.g. "/wp-admin/v3").
func (*Client) Do ¶
Do sends an API request and populates the given interface with the parsed response. It does not make much sense to call Do without a prepared interface instance.
func (*Client) Get ¶
Get performs a GET request for the given path and saves the result in the given resource.
func (*Client) NewRequest ¶
func (c *Client) NewRequest(method, relPath string, body, options interface{}) (*http.Request, error)
Creates an API request. A relative URL can be provided in urlStr, which will be resolved to the BaseURL of the Client. Relative URLS should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.
type CouponLine ¶
type FeeLine ¶
type FeeLine struct { ID int64 `json:"id,omitempty"` Name string `json:"name,omitempty"` TaxClass string `json:"tax_class,omitempty"` TaxStatus string `json:"tax_status,omitempty"` Total string `json:"total,omitempty"` TotalTax string `json:"total_tax,omitempty"` Taxes []TaxLine `json:"taxes,omitempty"` MetaData []MetaData `json:"meta_data,omitempty"` }
type LeveledLogger ¶
type LeveledLogger struct { // Level is the minimum logging level that will be emitted by this logger. // // For example, a Level set to LevelWarn will emit warnings and errors, but // not informational or debug messages. // // Always set this with a constant like LevelWarn because the individual // values are not guaranteed to be stable. Level int // contains filtered or unexported fields }
It prints warnings and errors to `os.Stderr` and other messages to `os.Stdout`.
func (*LeveledLogger) Debugf ¶
func (l *LeveledLogger) Debugf(format string, v ...interface{})
Debugf logs a debug message using Printf conventions.
func (*LeveledLogger) Errorf ¶
func (l *LeveledLogger) Errorf(format string, v ...interface{})
Errorf logs a warning message using Printf conventions.
func (*LeveledLogger) Infof ¶
func (l *LeveledLogger) Infof(format string, v ...interface{})
Infof logs an informational message using Printf conventions.
func (*LeveledLogger) Warnf ¶
func (l *LeveledLogger) Warnf(format string, v ...interface{})
Warnf logs a warning message using Printf conventions.
type LeveledLoggerInterface ¶
type LineItem ¶
type LineItem struct { ID int64 `json:"id,omitempty"` Name string `json:"name,omitempty"` ProductID int64 `json:"product_id,omitempty"` VariantID int64 `json:"variant_id,omitempty"` Quantity int `json:"quantity,omitempty"` TaxClass string `json:"tax_class,omitempty"` SubTotal string `json:"subtotal,omitempty"` SubtotalTax string `json:"subtotal_tax,omitempty"` Total string `json:"total,omitempty"` TotalTax string `json:"total_tax,omitempty"` Taxes []TaxLine `json:"taxes,omitempty"` MetaData []MetaData `json:"meta_data,omitempty"` SKU string `json:"sku,omitempty"` Price int64 `json:"price,omitempty"` }
type ListOptions ¶
type ListOptions struct { Context string `url:"context,omitemty"` Page int `url:"page,omitemty"` PerPage int `url:"per_page,omitemty"` Search string `url:"search,omitemty"` After string `url:"after,omitemty"` Before string `url:"before,omitemty"` Exclude []int64 `url:"exclude,omitemty"` Include []int64 `url:"include,omitemty"` Offset int `url:"offset,omitemty"` Order string `url:"order,omitemty"` Orderby string `url:"orderby,omitemty"` }
ListOptions represent ist options that can be used for most collections of entities.
type Order ¶
type Order struct { ID int64 `json:"id,omitempty"` ParentId int64 `json:"parent_id,omitempty"` Number string `json:"number,omitempty"` OrderKey string `json:"order_key,omitempty"` CreatedVia string `json:"created_via,omitempty"` Version string `json:"version,omitempty"` Status string `json:"status,omitempty"` Currency string `json:"currency,omitempty"` DateCreated string `json:"date_created,omitempty"` DateCreatedGmt string `json:"date_created_gmt,omitempty"` DateModified string `json:"date_modified,omitempty"` DateModifiedGmt string `json:"date_modified_gmt,omitempty"` DiscountsTotal string `json:"discount_total,omitempty"` DiscountsTax string `json:"discount_tax,omitempty"` ShippingTotal string `json:"shipping_total,omitempty"` ShippingTax string `json:"shipping_tax,omitempty"` CartTax string `json:"cart_tax,omitempty"` Total string `json:"total,omitempty"` TotalTax string `json:"total_tax,omitempty"` PricesIncludeTax bool `json:"prices_include_tax,omitempty"` CustomerId int64 `json:"customer_id,omitempty"` CustomerIpAddress string `json:"customer_ip_address,omitempty"` CustomerUserAgent string `json:"customer_user_agent,omitempty"` CustomerNote string `json:"customer_note,omitempty"` Billing *Address `json:"billing,omitempty"` Shipping *Address `json:"shipping,omitempty"` PaymentMethod string `json:"payment_method,omitempty"` PaymentMethodTitle string `json:"payment_method_title,omitempty"` TransactionId string `json:"transaction_id,omitempty"` DatePaid string `json:"date_paid,omitempty"` DatePaidGmt string `json:"date_paid_gmt,omitempty"` DateCompleted string `json:"date_completed,omitempty"` DateCompletedGmt string `json:"date_completed_gmt,omitempty"` CartHash string `json:"cart_hash,omitempty"` MetaData []MetaData `json:"meta_data,omitempty"` LineItems []LineItem `json:"line_items,omitempty"` TaxLines []TaxLine `json:"tax_lines,omitempty"` ShippingLines []ShippingLines `json:"shipping_lines,omitempty"` FeeLines []FeeLine `json:"fee_lines,omitempty"` CouponLines []CouponLine `json:"coupon_lines,omitempty"` Refunds []Refund `json:"refunds,omitempty"` SetPaid bool `json:"set_paid,omitempty"` }
Order represents a WooCommerce Order https://woocommerce.github.io/woocommerce-rest-api-docs/#order-properties
type OrderListOption ¶
type OrderListOption struct { ListOptions Parent []int64 `url:"parent,omitemty"` ParentExclude []int64 `url:"parent_exclude,omitemty"` Status []string `url:"status,omitempty"` Customer int64 `url:"customer,omitempty"` Product int64 `url:"product,omitempty"` Dp int `url:"id,omitempty"` }
OrderListOption list all thee order list option request params refrence url: https://woocommerce.github.io/woocommerce-rest-api-docs/#list-all-orders parameters: context string Scope under which the request is made; determines fields present in response. Options: view and edit. Default is view. page integer Current page of the collection. Default is 1. per_page integer Maximum number of items to be returned in result set. Default is 10. search string Limit results to those matching a string. after string Limit response to resources published after a given ISO8601 compliant date. before string Limit response to resources published before a given ISO8601 compliant date. exclude array Ensure result set excludes specific IDs. include array Limit result set to specific ids. offset integer Offset the result set by a specific number of items. order string Order sort attribute ascending or descending. Options: asc and desc. Default is desc. orderby string Sort collection by object attribute. Options: date, id, include, title and slug. Default is date. parent array Limit result set to those of particular parent IDs. parent_exclude array Limit result set to all items except those of a particular parent ID. status array Limit result set to orders assigned a specific status. Options: any, pending, processing, on-hold, completed, cancelled, refunded, failed and trash. Default is any. customer integer Limit result set to orders assigned a specific customer. product integer Limit result set to orders assigned a specific product. dp integer Number of decimal points to use in each resource. Default is 2.
type OrderNote ¶
type OrderNote struct { ID int64 `json:"id,omitempty"` Author string `json:"author,omitempty"` DateCreated string `json:"date_created,omitempty"` DateCreatedGmt string `json:"date_created_gmt,omitempty"` Note string `json:"note,omitempty"` CustomerNote string `json:"customer_note,omitempty"` AddedByUser bool `json:"added_by_user,omitempty"` }
OrderNote represent a WooCommerce Order note https://woocommerce.github.io/woocommerce-rest-api-docs/#order-notes
type OrderNoteService ¶
type OrderNoteService interface { Create() Get() List() Delete() }
OrderNoteService operate Woo-Commerce Order note, eg: create, view, and delete individual order notes. https://woocommerce.github.io/woocommerce-rest-api-docs/#order-notes
type OrderNoteServiceOp ¶
type OrderNoteServiceOp struct {
// contains filtered or unexported fields
}
func (*OrderNoteServiceOp) Create ¶
func (n *OrderNoteServiceOp) Create()
func (*OrderNoteServiceOp) Delete ¶
func (n *OrderNoteServiceOp) Delete()
func (*OrderNoteServiceOp) Get ¶
func (n *OrderNoteServiceOp) Get()
func (*OrderNoteServiceOp) List ¶
func (n *OrderNoteServiceOp) List()
type OrderRefund ¶
type OrderRefund struct { ID int64 `json:"id,omitempty"` DateCreated string `json:"date_created,omitempty"` DateCreatedGmt string `json:"date_created_gmt,omitempty"` Amount string `json:"amount,omitempty"` }
OrderRefund represent a WooCommerce Order Refund https://woocommerce.github.io/woocommerce-rest-api-docs/#order-refund-properties
type OrderRefundService ¶
type OrderRefundService interface { Create() Get() Delete() List() }
OrderRefundService allows you to create, view, and delete individual WooCommerce Order refunds. https://woocommerce.github.io/woocommerce-rest-api-docs/#refunds
type OrderResource ¶
type OrderResource struct {
Order *Order `json:"order"`
}
OrderResource represents the result from the /wp-json/wc/v3/orders/:id endpoint
type OrderService ¶
type OrderService interface { Create() Get(orderId int64, options interface{}) (*Order, error) List(options interface{}) ([]Order, error) Update() Delete() BatchUpdate() }
OrderService is an interface for interfacing with the orders endpoints of woocommerce API https://woocommerce.github.io/woocommerce-rest-api-docs/#orders
type OrderServiceOp ¶
type OrderServiceOp struct {
// contains filtered or unexported fields
}
OrderServiceOp handles communication with the order related methods of WooCommerce'API
func (*OrderServiceOp) BatchUpdate ¶
func (o *OrderServiceOp) BatchUpdate()
func (*OrderServiceOp) Create ¶
func (o *OrderServiceOp) Create()
func (*OrderServiceOp) Delete ¶
func (o *OrderServiceOp) Delete()
func (*OrderServiceOp) Get ¶
func (o *OrderServiceOp) Get(orderID int64, options interface{}) (*Order, error)
Get individual order
func (*OrderServiceOp) List ¶
func (o *OrderServiceOp) List(options interface{}) ([]Order, error)
func (*OrderServiceOp) ListWithPagination ¶
func (o *OrderServiceOp) ListWithPagination(options interface{}) ([]Order, *Pagination, error)
ListWithPagination lists products and return pagination to retrieve next/previous results.
func (*OrderServiceOp) Update ¶
func (o *OrderServiceOp) Update()
type OrdersResource ¶
type OrdersResource struct {
Orders []Order `json:"orders"`
}
OrderResource represents the result from the /wp-json/wc/v3/orders endpoint
type Pagination ¶
type Pagination struct { NextPageOptions *ListOptions PreviousPageOptions *ListOptions FirstPageOptions *ListOptions LastPageOptions *ListOptions }
Pagination of results
type Product ¶
type Product struct { }
Product represent WooCommerce Product https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties
type ProductService ¶
type ProductService interface { Create() Get() Delete() List() Update() BatchUpdate() }
ProductService allows you to create, view, update, and delete individual, or a batch, of products https://woocommerce.github.io/woocommerce-rest-api-docs/#products
type ProductServiceOp ¶
type ProductServiceOp struct {
// contains filtered or unexported fields
}
func (*ProductServiceOp) BatchUpdate ¶
func (p *ProductServiceOp) BatchUpdate()
func (*ProductServiceOp) Create ¶
func (p *ProductServiceOp) Create()
func (*ProductServiceOp) Delete ¶
func (p *ProductServiceOp) Delete()
func (*ProductServiceOp) Get ¶
func (p *ProductServiceOp) Get()
func (*ProductServiceOp) List ¶
func (p *ProductServiceOp) List()
func (*ProductServiceOp) Update ¶
func (p *ProductServiceOp) Update()
type RateLimitError ¶
type RateLimitError struct { ResponseError RetryAfter int }
An error specific to a rate-limiting response. Embeds the ResponseError to allow consumers to handle it the same was a normal ResponseError.
type RateLimitInfo ¶
type ResponseDecodingError ¶
ResponseDecodingError occurs when the response body from WooCommerce could not be parsed.
func (ResponseDecodingError) Error ¶
func (e ResponseDecodingError) Error() string
type ResponseError ¶
ResponseError is A general response error that follows a similar layout to WooCommerce's response errors, i.e. either a single message or a list of messages. https://woocommerce.github.io/woocommerce-rest-api-docs/#request-response-format
func (ResponseError) Error ¶
func (e ResponseError) Error() string
type ShippingLines ¶
type ShippingLines struct { ID int64 `json:"id,omitempty"` MethodTitle string `json:"method_title,omitempty"` MethodID string `json:"method_id,omitempty"` Total string `json:"total,omitempty"` TotalTax string `json:"total_tax,omitempty"` Taxes []TaxLine `json:"tax_lines,omitempty"` MetaData []MetaData `json:"meta_data,omitempty"` }
type TaxLine ¶
type TaxLine struct { ID int64 `json:"id,omitempty"` RateCode string `json:"rate_code,omitempty"` RateId string `json:"rate_id,omitempty"` Label string `json:"label,omitempty"` Compound bool `json:"compound,omitempty"` TaxTotal string `json:"tax_total"` ShippingTaxTotal string `json:"shipping_tax_total,omitempty"` MetaData []MetaData `json:"meta_data,omitempty"` }