shopeego

package module
v1.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 14, 2021 License: MIT Imports: 11 Imported by: 0

README

NO LONGER MAINTAINED (已暫停維護)

NOT RECOMMEND TO USE(暫不建議使用)

 

ShopeeGo GoDoc Coverage Status Build Status Go Report Card

Golang 所實作的 Shopee Open Platform API,包含所有 Shopee API v1 所提供的功能,這些功能都已經列舉在本專案的 Go Doc 之中。使用方式詳見 Shopee Open Platform Documentation

注意: Shopeego 是根據 Shopee 所提供的 API 文件與資料型態進行開發,但有些資料型態明顯是不正確的,這部份請參閱「參差不齊的官方文件」章節。

安裝方式

打開終端機並且透過 go get 安裝此套件即可。

$ go get gopkg.in/teacat/shopeego.v1

開始使用

透過 NewClient 並傳入你的 Partner 金鑰,如此一來就可以初始化一個 Shopee 客戶端。

// 初始化一個 Shopee 客戶端。
client := shopeego.NewClient(&shopeego.ClientOptions{
	Secret: "0c2c7b3bd59c2503f49a307fcf49dc985df43a1214821d5453e9ba54ca8e2e44",
})

// 取得指定商店的資料。
shop, _ := client.GetShopInfo(&shopeego.GetShopInfoRequest{
	PartnerID: 841237,
	ShopID:    307271,
	Timestamp: int(time.Now().Unix()),
})

fmt.Println(shop.ShopName) // 輸出:yamiodymel

參差不齊的官方文件

這個 API 套件在開發的時候發現了下列幾個問題。

這些問題你可能會在使用時遇到,當遇到 API 無法正常使用或是出現 error_param 時,請考慮到 Issue 中回報。

驗證介面

欲連接的賣場必須授權給你的 Shopee Open Platform 應用程式 才能夠與其對接。

簽署

這個套件仍然有幫你作這件事,但還是想讓你知道發生了什麼。應蝦皮官方要求所有的請求都必須簽署 HMAC-SHA256,很明顯這是有點神奇的蹦蹦安全手段(畢竟都已經有了 HTTPS)。如果你不明白,這裡舉個範例。

POST /api/v1/orders/detail HTTP/1.1
Host: partner.shopeemobile.com
Authorization: b37c061daf2fcfa2baffe7539110938be5b7525041c147e78ad8afa78cc1a72d

{"ordersn": "160726152598865", "shopid": 61299, "partner_id": 1, "timestamp": 1470198856}

在請求標頭的 Authorization 欄位中,這個雜湊碼來自於「請求網址|內容」並透過你的 API 金鑰作為祕密(Secret)演算而成。

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// There are errors in the input parameters
	ErrParams = errors.New("shopeego: there are errors in the input parameters")
	// The request is not authenticated. Ex: signature is wrong
	ErrAuth = errors.New("shopeego: the request is not authenticated. Ex: signature is wrong")
	// An error has occurred
	ErrServer = errors.New("shopeego: an error has occurred")
	// Too many request.Exceed 1000 request per min will be banned for an hour
	ErrTooManyRequest = errors.New("shopeego: too many request.Exceed 1000 request per min will be banned for an hour")
	// Not support action
	ErrNotSupport = errors.New("shopeego: not support action")
	// An inner error has occurred
	ErrInnerError = errors.New("shopeego: an inner error has occurred")
	// No Permission
	ErrPermission = errors.New("shopeego: no permission")
	// Not exist
	ErrNotExists = errors.New("shopeego: not exists")
)

Functions

This section is empty.

Types

type AcceptBuyerCancellationRequest

type AcceptBuyerCancellationRequest struct {
	// The order to be accepted cancellation request.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AcceptBuyerCancellationResponse

type AcceptBuyerCancellationResponse struct {
	// The time when the order is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type AddDiscountItemRequest

type AddDiscountItemRequest struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Max item to upload is 50 in one API call.
	Items []AddDiscountItemRequestItem `json:"items,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddDiscountItemRequestItem

type AddDiscountItemRequestItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	//
	Variations []AddDiscountItemRequestItemVariation `json:"variations,omitempty"`
	// The discount price of the item. If the item has no variation, this param is necessary.
	ItemPromotionPrice float64 `json:"item_promotion_price,omitempty,string"`
	// The max number of this product in the promotion price.
	PurchaseLimit int `json:"purchase_limit,omitempty"`
}

type AddDiscountItemRequestItemVariation

type AddDiscountItemRequestItemVariation struct {
	// Shopee's unique identifier for a variation of an item. If there is no variation of this item, you don't need to input this param. Dafault is 0.
	VariationID int64 `json:"variation_id,omitempty"`
	// The discount price of the item.
	VariationPromotionPrice float64 `json:"variation_promotion_price,omitempty,string"`
}

type AddDiscountItemResponse

type AddDiscountItemResponse struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// The number of items that add successfully.
	Count int `json:"count,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type AddDiscountRequest

type AddDiscountRequest struct {
	// Title of the discount.
	DiscountName string `json:"discount_name,omitempty"`
	// The time when discount activity start.
	StartTime int `json:"start_time,omitempty"`
	// The time when discount activity end. The end time must be 1 hour later than start time.
	EndTime int `json:"end_time,omitempty"`
	// Max item to upload is 50 in one API call.
	Items []AddDiscountRequestItem `json:"items,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddDiscountRequestItem

type AddDiscountRequestItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	//
	Variations []AddDiscountRequestItemVariation `json:"variations,omitempty"`
	// The discount price of the item. If the item has no variation, this param is necessary.
	ItemPromotionPrice float64 `json:"item_promotion_price,omitempty,string"`
	// The max number of this product in the promotion price.
	PurchaseLimit int `json:"purchase_limit,omitempty"`
}

type AddDiscountRequestItemVariation

type AddDiscountRequestItemVariation struct {
	// Shopee's unique identifier for a variation of an item. If there is no variation of this item, you don't need to input this param. Dafault is 0.
	VariationID int64 `json:"variation_id,omitempty"`
	// The discount price of the item.
	VariationPromotionPrice float64 `json:"variation_promotion_price,omitempty,string"`
}

type AddDiscountResponse

type AddDiscountResponse struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// The number of items that add successfully.
	Count int `json:"count,omitempty"`
	//
	Warning string `json:"warning,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type AddItemImgRequest

type AddItemImgRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Image URLs of the item. It contains at most 9 URLs. Could get the url by api GetItemDetail
	Images []string `json:"images,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddItemImgResponse

type AddItemImgResponse struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Image URLs for fail download.
	FailImage []string `json:"fail_image,omitempty"`
	// Image URLs of item.
	Images []string `json:"images,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type AddItemsRequest

type AddItemsRequest struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// Shopee's unique identifiers list for an item.
	Items []int `json:"items,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddItemsResponse

type AddItemsResponse struct {
	// List of invalid item ids.
	InvalidItemID []int `json:"invalid_item_id,omitempty"`
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// Number of items in the shop category.
	Count int `json:"count,omitempty"`
	// The identifier for an API request for error tracking.
	Request string `json:"request,omitempty"`
}

type AddOrderNoteRequest

type AddOrderNoteRequest struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The note seller made for own reference.
	Note string `json:"note,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddOrderNoteResponse

type AddOrderNoteResponse struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The success or error message.
	Msg string `json:"msg,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type AddRequest

type AddRequest struct {
	// Should call shopee.item.GetCategories to get category first.Related to result.categories.category_id
	CategoryID int64 `json:"category_id,omitempty"`
	// Name of the item in local language.
	Name string `json:"name,omitempty"`
	// Description of the item in local language. HTML is not supported.
	Description string `json:"description,omitempty"`
	// The current price of the item in the listing currency. This value will be ignored if there is variation level price input.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the item. This value will be ignored if there is variation level stock input.
	Stock int `json:"stock,omitempty"`
	// An item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// Please skip this field and use the dedicated APIs to create 2-tier variation. More details: https://open.shopee.com/documents?module=63&type=2&id=54
	Variations []AddRequestVariation `json:"variations,omitempty"`
	// Image URLs of the item. Up to 9 images(12 images for TW mall seller), max 2.0 MB each.Image format accepted: JPG, JPEG, PNG.Suggested dimension: 1024 x 1024 px. Max size: 2MB
	Images []AddRequestImage `json:"images,omitempty"`
	// This field is optional depending on the specific attribute under different categories. Should call shopee.item.GetAttributes to get attribute first. Must contain all all mandatory attribute.
	Attributes []AddRequestAttribute `json:"attributes,omitempty"`
	// Should call shopee.logistics.GetLogistics to get logistics first. Should contain all all logistics.
	Logistics []AddRequestLogistic `json:"logistics,omitempty"`
	// the net weight of this item, the unit is KG.
	Weight float64 `json:"weight,omitempty,string"`
	// The length of package for this single item, the unit is CM
	PackageLength int `json:"package_length,omitempty"`
	// The width of package for this single item, the unit is CM
	PackageWidth int `json:"package_width,omitempty"`
	// The height of package for this single item, the unit is CM
	PackageHeight int `json:"package_height,omitempty"`
	// The guaranteed days to ship orders. For pre-order, please input value from 7 to 30; for non pre-order, please exclude this field and it will default to the respective standard value per your shop location.(e.g. 3 for CrossBorder)
	DaysToShip int `json:"days_to_ship,omitempty"`
	// The wholesales tier list. Please put the wholesale tier info in order by min count.
	Wholesales []AddRequestWholesale `json:"wholesales,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Url of size chart image. Only particular categories support it. max size: 500KB. 2000*2000 pixels
	SizeChart string `json:"size_chart,omitempty"`
	// This indicates whether the item is secondhand.
	Condition string `json:"condition,omitempty"`
	// Use this field to indicate the initial status of the new item. Value can be one of 'NORMAL' or 'UNLIST'.
	Status string `json:"status,omitempty"`
	// Use this field to identify whether the item is pre-order. Applicable value: true/false.
	IsPreOrder bool `json:"is_pre_order,omitempty"`
}

type AddRequestAttribute

type AddRequestAttribute struct {
	// related to shopee.item.GetAttributes result.attributes.attribute_id
	AttributesID int64 `json:"attributes_id,omitempty"`
	// related to shopee.item.GetAttributes one of result.attributes.options. Max length is 40 letters.
	Value string `json:"value,omitempty"`
}

type AddRequestImage

type AddRequestImage struct {
	// Url of items' image.The system would synchronous download the image one by one.if one of those image can not fetch, would get a warning in result.But can continue the AddItem proccessing.
	// if all image failed to fetch, would return an error.
	URL string `json:"url,omitempty"`
}

type AddRequestLogistic

type AddRequestLogistic struct {
	// related to shopee.logistics.GetLogistics result.logistics.logistic_id
	LogisticID int64 `json:"logistic_id,omitempty"`
	// related to shopee.logistics.GetLogistics result.logistics.enabled only affect current item
	Enabled bool `json:"enabled,omitempty"`
	// Only needed when logistics fee_type = CUSTOM_PRICE.
	ShippingFee float64 `json:"shipping_fee,omitempty,string"`
	// If specify logistic fee_type is SIZE_SELECTION size_id is required
	SizeID int64 `json:"size_id,omitempty"`
	// when seller chooses this option, the shipping fee of this channel on item will be set to 0. Default value is False.
	IsFree bool `json:"is_free,omitempty"`
}

type AddRequestVariation

type AddRequestVariation struct {
	// Name of the variation that belongs to the same item. A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price. Max Length: 20 letters
	Name string `json:"name,omitempty"`
	// The current stock quantity of the variation in the listing currency.
	Stock int `json:"stock,omitempty"`
	// The current price of the variation in the listing currency.
	Price float64 `json:"price,omitempty,string"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSku string `json:"variation_sku,omitempty"`
}

type AddRequestWholesale

type AddRequestWholesale struct {
	// The min count of this tier wholesale. If the wholesale is not the first one, the min count must equal to max count of last tier plus one.
	Min int `json:"min,omitempty"`
	// The max count of this tier wholesale.
	Max int `json:"max,omitempty"`
	// The current price of the wholesale in the listing currency. The price must be cheaper than original price. And if the wholesale is not the first one, the price must be cheaper than previous tier.
	UnitPrice float64 `json:"unit_price,omitempty,string"`
}

type AddResponse

type AddResponse struct {
	//
	ItemID int64 `json:"item_id,omitempty"`
	// Item's info.
	Item AddResponseItem `json:"item,omitempty"`
	//
	Warning string `json:"warning,omitempty"`
	// Image URLs for fail download.
	FailImage []string `json:"fail_image,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	// Url of size chart image. Only particular categories support it. max size: 500KB. 2000*2000 pixels
	SizeChart string `json:"size_chart,omitempty"`
}

type AddResponseItem

type AddResponseItem struct {
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// An item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// Enumerated type that defines the current status of the item. Applicable values: NORMAL, DELETED, UNLIST and BANNED.
	Status string `json:"status,omitempty"`
	// Name of the item in local language.
	Name string `json:"name,omitempty"`
	// Description of the item in local language.
	Description string `json:"description,omitempty"`
	// Image URLs of the item. It contains at most 9 URLs.
	Images []string `json:"images,omitempty"`
	// The three-digit code representing the currency unit used for the item in Shopee Listings.
	Currency string `json:"currency,omitempty"`
	// This is to indicate whether the item has variation(s).
	HasVariation bool `json:"has_variation,omitempty"`
	// The current price of the item in the listing currency.If item is in promotion, this value is discount price.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the item.
	Stock int `json:"stock,omitempty"`
	// Timestamp that indicates the date and time that the item was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of the item, such as price/stock change.
	UpdateTime int `json:"update_time,omitempty"`
	// the net weight of this item, the unit is KG.
	Weight float64 `json:"weight,omitempty,string"`
	// Could call shopee.item.GetCategories to get category detail.Related to result.categories.category_id.
	CategoryID int64 `json:"category_id,omitempty"`
	// The original price of the item in the listing currency.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// The variation list of item.
	Variations []AddResponseItemVariation `json:"variations,omitempty"`
	//
	Attributes []AddResponseItemAttribute `json:"attributes,omitempty"`
	// The logistics list.
	Logistics []AddResponseItemLogistic `json:"logistics,omitempty"`
	// The wholesales tier list.
	Wholesales []AddResponseItemWholesale `json:"wholesales,omitempty"`
	// The sales volume of item.
	Sales int `json:"sales,omitempty"`
	// The page view of item.
	Views int `json:"views,omitempty"`
	// The conllection number of item.
	Likes int `json:"likes,omitempty"`
	// The length of package for this single item, the unit is CM
	PackageLength int `json:"package_length,omitempty"`
	// The width of package for this single item, the unit is CM
	PackageWidth int `json:"package_width,omitempty"`
	// The height of package for this single item, the unit is CM
	PackageHeight int `json:"package_height,omitempty"`
	// The guaranteed days to ship orders. For pre-order, please input value from 7 to 30; for non pre-order, please exclude this field and it will default to the respective standard per your shop location.(e.g. 3 for CrossBorder)
	DaysToShip int `json:"days_to_ship,omitempty"`
	// The rating star scores of this item.
	RatingStar float64 `json:"rating_star,omitempty,string"`
	// Count of comments for the item.
	CMTCount int `json:"cmt_count,omitempty"`
	// This indicates whether the item is secondhand.
	Condition string `json:"condition,omitempty"`
	// The ID of discount activity the item is currently in. One item can only have one discount at a time. discount_id will be 0 if the item has no discount applied, or item has variation.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Use this field to identify whether the item is pre-order. Applicable value: true/false.
	IsPreOrder bool `json:"is_pre_order,omitempty"`
}

type AddResponseItemAttribute

type AddResponseItemAttribute struct {
	// The Identify of each category.
	AttributeID int64 `json:"attribute_id,omitempty"`
	// The name of each attribute.
	AttributeName string `json:"attribute_name,omitempty"`
	// This is to indicate whether this attribute is mandantory.
	IsMandatory bool `json:"is_mandatory,omitempty"`
	// Enumerated type that defines the type of the attribute. Applicable values: See Data Definition- AttributeType.
	AttributeType string `json:"attribute_type,omitempty"`
	// The value of this item attribute.
	AtributeValue string `json:"atribute_value,omitempty"`
}

type AddResponseItemLogistic

type AddResponseItemLogistic struct {
	// The identity of logistic channel.
	LogisticID int64 `json:"logistic_id,omitempty"`
	// The name of logistic.
	LogisticName string `json:"logistic_name,omitempty"`
	// related to shopee.logistics.GetLogistics result.logistics.enabled only affect current item
	Enabled bool `json:"enabled,omitempty"`
	// Only needed when logistics fee_type = CUSTOM_PRICE.
	ShippingFee float64 `json:"shipping_fee,omitempty,string"`
	// If specify logistic fee_type is SIZE_SELECTION size_id is required.
	SizeID int64 `json:"size_id,omitempty"`
	// when seller chooses this option, the shipping fee of this channel on item will be set to 0. Default value is False.
	IsFree bool `json:"is_free,omitempty"`
	// Estimated shipping fee calculated by weight. Don't exist if channel is no-integrated.
	EstimatedShippingFee float64 `json:"estimated_shipping_fee,omitempty,string"`
}

type AddResponseItemVariation

type AddResponseItemVariation struct {
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
	// Name of the variation that belongs to the same item. A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	Name string `json:"name,omitempty"`
	// The current price of the variation in the listing currency.If item is in promotion, this value is discount price.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the variation in the listing currency.
	Stock int `json:"stock,omitempty"`
	// Enumerated type that defines the current status of the variation. Applicable values: MODEL_NORMAL and MODEL_DELETED.
	Status string `json:"status,omitempty"`
	// Timestamp that indicates the date and time that the variation was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of the variation, such as price/stock change.
	UpdateTime int `json:"update_time,omitempty"`
	// The original price of the variation in the listing currency.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// The ID of discount activity the variation is currently in. One variation can only have one discount at a time. discount_id will be 0 if the variation has no discount applied.
	DiscountID int64 `json:"discount_id,omitempty"`
}

type AddResponseItemWholesale

type AddResponseItemWholesale struct {
	// The min count of this tier wholesale.
	Min int `json:"min,omitempty"`
	// The max count of this tier wholesale.
	Max int `json:"max,omitempty"`
	// The current price of the wholesale in the listing currency.If item is in promotion, this price is useless.
	UnitPrice float64 `json:"unit_price,omitempty,string"`
}

type AddShopCategoryRequest

type AddShopCategoryRequest struct {
	// ShopCategory's name.
	Name string `json:"name,omitempty"`
	// ShopCategory's sort weight.
	SortWeight int `json:"sort_weight,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddShopCategoryResponse

type AddShopCategoryResponse struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type AddTierVariationRequest

type AddTierVariationRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// 2-Tier variation list.
	Variation []AddTierVariationRequestVariation `json:"variation,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddTierVariationRequestVariation

type AddTierVariationRequestVariation struct {
	// A list of tier variation combination index, which indicates variation's option position in tier_variation['options'] list. e.g. [0,1] means tier variation 1 option 1 and tier variation 2 option 2.
	TierIndex []int `json:"tier_index,omitempty"`
	// Stock value of this variation item. 0 stock will make this variation a greyout option for buyer.
	Stock int `json:"stock,omitempty"`
	// Price value of this variation item.
	Price float64 `json:"price,omitempty,string"`
	// SKU string of this variation item.
	VariationSKU string `json:"variation_sku,omitempty"`
}

type AddTierVariationResponse

type AddTierVariationResponse struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	// Current variations information under this item.
	VariationIDList []AddTierVariationResponseVariation `json:"variation_id_list,omitempty"`
}

type AddTierVariationResponseVariation

type AddTierVariationResponseVariation struct {
	// A list of tier variation indexes, which indicate variation's options in tier_variation['options'] list.
	TierIndex []int `json:"tier_index,omitempty"`
	// The identity of the variation.
	VariationID int64 `json:"variation_id,omitempty"`
}

type AddTopPicksRequest

type AddTopPicksRequest struct {
	// Collection name. 1 to 24 characters.
	Name string `json:"name,omitempty"`
	// the list of item id. Allow 4 to 8 items in one collection.
	ItemIDs []int `json:"item_i_ds,omitempty"`
	// True or False
	IsActivated bool `json:"is_activated,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddTopPicksResponse

type AddTopPicksResponse struct {
	// Collection id
	TopPicksID int64 `json:"top_picks_id,omitempty"`
	// Whether it is activated or not.
	IsActivated bool `json:"is_activated,omitempty"`
	// Collection name
	Name string `json:"name,omitempty"`
	// Item list of the collection
	Items []AddTopPicksResponseItem `json:"items,omitempty"`
}

type AddTopPicksResponseItem

type AddTopPicksResponseItem struct {
	// Item ID
	ItemID int64 `json:"item_id,omitempty"`
	// Item name
	ItemName string `json:"item_name,omitempty"`
	// Item discounted price(original price if no discount). Item level price will return if it has variation.
	ItemPrice float64 `json:"item_price,omitempty,string"`
	// The sales of the item
	Sales int `json:"sales,omitempty"`
}

type AddVariationsRequest

type AddVariationsRequest struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// The variation of item is to list out all models of this product. For example, iPhone has model of White and Black, then its variations includes "White iPhone" and "Black iPhone".
	Variations []AddVariationsRequestVariation `json:"variations,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type AddVariationsRequestVariation

type AddVariationsRequestVariation struct {
	// Name of the variation that belongs to the same item.A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	Name string `json:"name,omitempty"`
	// The current stock quantity of the variation in the listing currency.
	Stock int `json:"stock,omitempty"`
	// The current price of the variation in the listing currency.
	Price float64 `json:"price,omitempty,string"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
}

type AddVariationsResponse

type AddVariationsResponse struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The time when stock of the variation is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// The variation list of item.
	Variations []AddVariationsResponseVariation `json:"variations,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type AddVariationsResponseVariation

type AddVariationsResponseVariation struct {
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
	// Name of the variation that belongs to the same item. A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	Name string `json:"name,omitempty"`
	// The current price of the variation in the listing currency.If item is in promotion, this value is discount price.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the variation in the listing currency.
	Stock int `json:"stock,omitempty"`
	// Enumerated type that defines the current status of the variation. Applicable values: MODEL_NORMAL and MODEL_DELETED.
	Status string `json:"status,omitempty"`
	// Timestamp that indicates the date and time that the variation was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of the variation, such as price/stock change.
	UpdateTime int `json:"update_time,omitempty"`
	// The original price of the variation in the listing currency.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
}

type AuthPartnerRequest

type AuthPartnerRequest struct {
	// The credential retrieved in the APP console
	PartnerID int64 `json:"partner_id,omitempty"`
	// An encrypted string generated in accordance with Shopee rule
	// Token string `json:"token,omitempty"`
	// Redirect url. The url to which the page directs after the authorization is completed. It can be any url(e.g. your company official website).
	Redirect string `json:"redirect,omitempty"`
	// Needs to be consistent with the timestamp in sign base string. Expires in 5 minutes.
	Timestamp int `json:"timestamp,omitempty"`
}

type BoostItemRequest

type BoostItemRequest struct {
	// A list of item ids to be boosted. You can input a maximum of 5 items per request.
	ItemID []int `json:"item_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type BoostItemResponse

type BoostItemResponse struct {
	// batch result details
	BatchResult BoostItemResponseBatchResult `json:"batch_result,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type BoostItemResponseBatchResult

type BoostItemResponseBatchResult struct {
	// A list of item ids which have been boosted successfully.
	Successes []int `json:"successes,omitempty"`
	// A list of failed-to-boost items, including error details.
	Failures []BoostItemResponseBatchResultFailure `json:"failures,omitempty"`
}

type BoostItemResponseBatchResultFailure

type BoostItemResponseBatchResultFailure struct {
	// to indicate error type.
	ErrorCode string `json:"error_code,omitempty"`
	// Failed item id.
	ID int64 `json:"id,omitempty"`
	// error description
	Description string `json:"description,omitempty"`
}

type CancelOrderRequest

type CancelOrderRequest struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The reason seller want to cancel this order. Applicable values: OUT_OF_STOCK, CUSTOMER_REQUEST, UNDELIVERABLE_AREA, COD_NOT_SUPPORTED.
	CancelReason string `json:"cancel_reason,omitempty"`
	// ID of item. Required when cancel_reason is OUT_OF_STOCK.
	ItemID int64 `json:"item_id,omitempty"`
	// ID of the variation that belongs to the same item.Required when cancel_reason is OUT_OF_STOCK.
	VariationID int64 `json:"variation_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type CancelOrderResponse

type CancelOrderResponse struct {
	// The time when the order is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type Client

type Client interface {

	// GetShopInfo Use this call to get information of shop
	GetShopInfo(*GetShopInfoRequest) (*GetShopInfoResponse, error)
	// UpdateShopInfo Use this call to update information of shop
	UpdateShopInfo(*UpdateShopInfoRequest) (*UpdateShopInfoResponse, error)
	// Performance Shop performance includes the indexes from "My Performance" of Seller Center.
	Performance(*PerformanceRequest) (*PerformanceResponse, error)
	// SetShopInstallmentStatus Only for TW whitelisted shop.Use this API to set the installment status of shop.
	SetShopInstallmentStatus(*SetShopInstallmentStatusRequest) (*SetShopInstallmentStatusResponse, error)
	//
	AuthPartner(*AuthPartnerRequest) string

	// AddShopCategory Use this call to add a new collecion
	AddShopCategory(*AddShopCategoryRequest) (*AddShopCategoryResponse, error)
	// GetShopCategories Use this call to get list of in-shop categories
	GetShopCategories(*GetShopCategoriesRequest) (*GetShopCategoriesResponse, error)
	// DeleteShopCategory Use this call to delete a existing collecion
	DeleteShopCategory(*DeleteShopCategoryRequest) (*DeleteShopCategoryResponse, error)
	// UpdateShopCategory Use this call to update a existing collecion
	UpdateShopCategory(*UpdateShopCategoryRequest) (*UpdateShopCategoryResponse, error)
	// AddItems Use this call to add items list to certain shop_category
	AddItems(*AddItemsRequest) (*AddItemsResponse, error)
	// GetItems Use this call to get items list of certain shop_category
	GetItems(*GetItemsRequest) (*GetItemsResponse, error)
	// DeleteItems Use this api to delete items from shop category
	DeleteItems(*DeleteItemsRequest) (*DeleteItemsResponse, error)

	// GetCategories Use this call to get categories of product item
	GetCategories(*GetCategoriesRequest) (*GetCategoriesResponse, error)
	// GetAttributes Use this call to get attributes of product item
	GetAttributes(*GetAttributesRequest) (*GetAttributesResponse, error)
	// Add Use this call to add a product item. Should get dependency by calling below API first
	// shopee.item.GetCategories
	// shopee.item.GetAttributes
	// shopee.logistics.GetLogistics
	Add(*AddRequest) (*AddResponse, error)
	// Delete Use this call to delete a product item.
	Delete(*DeleteRequest) (*DeleteResponse, error)
	// UnlistItem Use this api to unlist or list items in batch.
	UnlistItem(*UnlistItemRequest) (*UnlistItemResponse, error)
	// AddVariations Use this call to add item variations, it only supports non-tier-variation items.
	AddVariations(*AddVariationsRequest) (*AddVariationsResponse, error)
	// DeleteVariation Use this call to delete item variation
	DeleteVariation(*DeleteVariationRequest) (*DeleteVariationResponse, error)
	// GetItemsList Use this call to get a list of items
	GetItemsList(*GetItemsListRequest) (*GetItemsListResponse, error)
	// GetItemDetail Use this call to get detail of item
	GetItemDetail(*GetItemDetailRequest) (*GetItemDetailResponse, error)
	// UpdateItem Use this call to update a product item. Should get dependency by calling below API first
	// shopee.item.GetItemDetail
	UpdateItem(*UpdateItemRequest) (*UpdateItemResponse, error)
	// AddItemImg Use this call to add product item images.
	AddItemImg(*AddItemImgRequest) (*AddItemImgResponse, error)
	// UpdateItemImg Override and update all the existing images of an item.
	UpdateItemImg(*UpdateItemImgRequest) (*UpdateItemImgResponse, error)
	// InsertItemImg Use this call to add one item image in assigned position.
	InsertItemImg(*InsertItemImgRequest) (*InsertItemImgResponse, error)
	// DeleteItemImg Use this call to delete a product item image.
	DeleteItemImg(*DeleteItemImgRequest) (*DeleteItemImgResponse, error)
	// UpdatePrice Use this call to update item price
	UpdatePrice(*UpdatePriceRequest) (*UpdatePriceResponse, error)
	// UpdateStock Use this call to update item stock
	UpdateStock(*UpdateStockRequest) (*UpdateStockResponse, error)
	// UpdateVariationPrice Use this call to update item variation price
	UpdateVariationPrice(*UpdateVariationPriceRequest) (*UpdateVariationPriceResponse, error)
	// UpdateVariationStock Use this call to update item variation stock
	UpdateVariationStock(*UpdateVariationStockRequest) (*UpdateVariationStockResponse, error)
	// UpdatePriceBatch Update items price in batch.
	UpdatePriceBatch(*UpdatePriceBatchRequest) (*UpdatePriceBatchResponse, error)
	// UpdateStockBatch Update items stock in batch.
	UpdateStockBatch(*UpdateStockBatchRequest) (*UpdateStockBatchResponse, error)
	// UpdateVariationPriceBatch Update variations price in batch.
	UpdateVariationPriceBatch(*UpdateVariationPriceBatchRequest) (*UpdateVariationPriceBatchResponse, error)
	// UpdateVariationStockBatch Update variations stock in batch.
	UpdateVariationStockBatch(*UpdateVariationStockBatchRequest) (*UpdateVariationStockBatchResponse, error)
	// InitTierVariation Initialize a non-tier-variation item to a tier-variation item, upload variation image and initialize stock and price for each variation. This API cannot edit existed tier_variation and variation price/stock.
	InitTierVariation(*InitTierVariationRequest) (*InitTierVariationResponse, error)
	// AddTierVariation Use this api to add new tier variations in batch. Tier variation index of variations in the same item must be unique.
	AddTierVariation(*AddTierVariationRequest) (*AddTierVariationResponse, error)
	// GetVariation Use this call to get tier-variation basic information under an item
	GetVariation(*GetVariationRequest) (*GetVariationResponse, error)
	// UpdateTierVariationList Use this api to update tier-variation list or upload variation image of a tier-variation item.
	UpdateTierVariationList(*UpdateTierVariationListRequest) (*UpdateTierVariationListResponse, error)
	// UpdateTierVariationIndex Use this api to update existing tier index under the same variation_id.
	UpdateTierVariationIndex(*UpdateTierVariationIndexRequest) (*UpdateTierVariationIndexResponse, error)
	// BoostItem Use this api to boost multiple items at once.
	BoostItem(*BoostItemRequest) (*BoostItemResponse, error)
	// GetBoostedItem Use this api to get all boosted items.
	GetBoostedItem(*GetBoostedItemRequest) (*GetBoostedItemResponse, error)
	// SetItemInstallmentTenures Only for TW whitelisted shop. Use this API to set the installment tenures of items.
	SetItemInstallmentTenures(*SetItemInstallmentTenuresRequest) (*SetItemInstallmentTenuresResponse, error)
	// GetPromotionInfo Use this api to get ongoing and upcoming promotions.
	GetPromotionInfo(*GetPromotionInfoRequest) (*GetPromotionInfoResponse, error)
	// GetRecommendCats Use this API to get recommended category ids according to item name.
	GetRecommendCats(*GetRecommendCatsRequest) (*GetRecommendCatsResponse, error)
	// GetComment Use this api to get comment by shopid/itemid/comment_id
	GetComment(*GetCommentRequest) (*GetCommentResponse, error)
	// ReplyComments Use this api to reply comments from buyers in batch
	ReplyComments(*ReplyCommentsRequest) (*ReplyCommentsResponse, error)

	// UploadImg Use this optional API to pre-validate your image urls and convert them to Shopee image url to use in item upload APIs. This way your potential invalid urls will not block your item upload process.
	UploadImg(*UploadImgRequest) (*UploadImgResponse, error)

	// AddDiscount Use this api to add shop discount activity
	AddDiscount(*AddDiscountRequest) (*AddDiscountResponse, error)
	// AddDiscountItem Use this api to add shop discount item
	AddDiscountItem(*AddDiscountItemRequest) (*AddDiscountItemResponse, error)
	// DeleteDiscount Use this api to delete one discount activity BEFORE it starts.
	DeleteDiscount(*DeleteDiscountRequest) (*DeleteDiscountResponse, error)
	// DeleteDiscountItem Use this api to delete items of the discount activity
	DeleteDiscountItem(*DeleteDiscountItemRequest) (*DeleteDiscountItemResponse, error)
	// GetDiscountDetail Use this api to get one shop discount activity detail
	GetDiscountDetail(*GetDiscountDetailRequest) (*GetDiscountDetailResponse, error)
	// GetDiscountsList Use this api to get shop discount activity list
	GetDiscountsList(*GetDiscountsListRequest) (*GetDiscountsListResponse, error)
	// UpdateDiscount Use this api to update one discount information
	UpdateDiscount(*UpdateDiscountRequest) (*UpdateDiscountResponse, error)
	// UpdateDiscountItems Use this api to update items of the discount activity
	UpdateDiscountItems(*UpdateDiscountItemsRequest) (*UpdateDiscountItemsResponse, error)

	// GetOrdersList GetOrdersList is the recommended call to use for order management. Use this call to retrieve basic information of all orders which are updated within specific period of time. More details of each order can be retrieved from GetOrderDetails. [Only the recent one month orders can be fetch through this API. Please use GetOrderBySatus API to fetch more orders.]
	GetOrdersList(*GetOrdersListRequest) (*GetOrdersListResponse, error)
	// GetOrdersByStatus GetOrdersByStatus is the recommended call to use for order management. Use this call to retrieve basic information of all orders which are specific status. More details of each order can be retrieved from GetOrderDetails.
	GetOrdersByStatus(*GetOrdersByStatusRequest) (*GetOrdersByStatusResponse, error)
	// GetOrderDetails Use this call to retrieve detailed information about one or more orders based on OrderSN.
	GetOrderDetails(*GetOrderDetailsRequest) (*GetOrderDetailsResponse, error)
	// GetEscrowDetails Use this call to retrieve detailed escrow information about one order based on OrderSN.
	GetEscrowDetails(*GetEscrowDetailsRequest) (*GetEscrowDetailsResponse, error)
	// AddOrderNote Use this call to add note for an order
	AddOrderNote(*AddOrderNoteRequest) (*AddOrderNoteResponse, error)
	// CancelOrder Use this call to cancel an order from the seller side.
	CancelOrder(*CancelOrderRequest) (*CancelOrderResponse, error)
	// AcceptBuyerCancellation Use this call to accept buyer cancellation
	AcceptBuyerCancellation(*AcceptBuyerCancellationRequest) (*AcceptBuyerCancellationResponse, error)
	// RejectBuyerCancellation Use this call to reject buyer cancellation
	RejectBuyerCancellation(*RejectBuyerCancellationRequest) (*RejectBuyerCancellationResponse, error)
	// GetForderInfo Use this call to retrieve detailed information of all the fulfill orders(forder) under a single regular order based on ordersn.
	GetForderInfo(*GetForderInfoRequest) (*GetForderInfoResponse, error)
	// GetEscrowReleasedOrders Use this api to get orders' release time and escrow amount.
	GetEscrowReleasedOrders(*GetEscrowReleasedOrdersRequest) (*GetEscrowReleasedOrdersResponse, error)
	// SplitOrder Use this API to split order into fulfillment orders. This feature is only enabled for whitelisted shops.
	SplitOrder(*SplitOrderRequest) (*SplitOrderResponse, error)
	// UndoSplitOrder Use this API to cancel split order from the seller side.
	UndoSplitOrder(*UndoSplitOrderRequest) (*UndoSplitOrderResponse, error)
	// GetUnbindOrderList Use this call to get a list of unbind orders.
	GetUnbindOrderList(*GetUnbindOrderListRequest) (*GetUnbindOrderListResponse, error)
	// MyIncome Use this API to fetch the accounting detail of order.
	MyIncome(*MyIncomeRequest) (*MyIncomeResponse, error)

	// GetLogistics Use this call to get all supported logistic channels.
	GetLogistics(*GetLogisticsRequest) (*GetLogisticsResponse, error)
	// UpdateShopLogistics Configure shop level logistics
	UpdateShopLogistics(*UpdateShopLogisticsRequest) (*UpdateShopLogisticsResponse, error)
	// GetParameterForInit Use this call to get all required param for logistic initiation.
	GetParameterForInit(*GetParameterForInitRequest) (*GetParameterForInitResponse, error)
	// GetAddress For integrated logistics channel, use this call to get pickup address for pickup mode order.
	GetAddress(*GetAddressRequest) (*GetAddressResponse, error)
	// GetTimeSlot For integrated logistics channel, use this call to get pickup timeslot for pickup mode order.
	GetTimeSlot(*GetTimeSlotRequest) (*GetTimeSlotResponse, error)
	// GetBranch For integrated logistics channel, use this call to get dropoff location for dropoff mode order.
	GetBranch(*GetBranchRequest) (*GetBranchResponse, error)
	// GetLogisticInfo Get all the logistics info of an order to Init.
	// This API consolidates the output of GetParameterForInit, GetAddresss, GetTimeSlot and GetBranch based on each order so that developer can get all the required parameters ready in this API for Init.This API is an alternative of GetParameterForInit, GetAddresss, GetTimeSlot and GetBranch as a set.
	GetLogisticInfo(*GetLogisticInfoRequest) (*GetLogisticInfoResponse, error)
	// Init Use this call to initiate logistics including arrange Pickup, Dropoff or shipment for non-integrated logistic channels. Should call shopee.logistics.GetLogisticInfo to fetch all required param first. It's recommended to initiate logistics one hour AFTER the orders were placed since there is one-hour window buyer can cancel any order without request to seller.
	Init(*InitRequest) (*InitResponse, error)
	// GetAirwayBill Use this API to get airway bill for orders. AirwayBill is only fetchable when the order status is under READY_TO_SHIP and RETRY_SHIP.
	GetAirwayBill(*GetAirwayBillRequest) (*GetAirwayBillResponse, error)
	// GetOrderLogistics  Use this call to fetch the logistics information of an order, these info can be used for airwaybill printing. Dedicated for crossborder SLS order airwaybill. May not be applicable for local channel airwaybill.
	GetOrderLogistics(*GetOrderLogisticsRequest) (*GetOrderLogisticsResponse, error)
	// GetLogisticsMessage Use this call to get the logistics tracking information of an order.
	GetLogisticsMessage(*GetLogisticsMessageRequest) (*GetLogisticsMessageResponse, error)
	// GetForderWaybill Use this API to get airwaybill for fulfillment orders.
	GetForderWaybill(*GetForderWaybillRequest) (*GetForderWaybillResponse, error)
	// SetAddress Use this API to set default_address/pick_up_address/return_address of shop. Please use GetAddress API to fetch the address_id.
	SetAddress(*SetAddressRequest) (*SetAddressResponse, error)
	// DeleteAddress Use this API to delete the default/pick_up/return address of shop by address_id. Please use GetAddress API to fetch the address_id.
	DeleteAddress(*DeleteAddressRequest) (*DeleteAddressResponse, error)

	// ConfirmReturn Confirm return
	ConfirmReturn(*ConfirmReturnRequest) (*ConfirmReturnResponse, error)
	// DisputeReturn Dispute return
	DisputeReturn(*DisputeReturnRequest) (*DisputeReturnResponse, error)
	// GetReturnList Get return list
	GetReturnList(*GetReturnListRequest) (*GetReturnListResponse, error)
	// GetReturnDetail Use this api to get detail information of a returned order
	GetReturnDetail(*GetReturnDetailRequest) (*GetReturnDetailResponse, error)

	// GetShopsByPartner Use this call to get basic info of shops which have authorized to the partner.
	GetShopsByPartner(*GetShopsByPartnerRequest) (*GetShopsByPartnerResponse, error)
	// GetCategoriesByCountry Use this api to get categories list filtered by country and cross border without using shopID.
	GetCategoriesByCountry(*GetCategoriesByCountryRequest) (*GetCategoriesByCountryResponse, error)
	// GetPaymentList The supported payment method list by country
	GetPaymentList(*GetPaymentListRequest) (*GetPaymentListResponse, error)

	// GetTopPicksList Get the list of all collections.
	GetTopPicksList(*GetTopPicksListRequest) (*GetTopPicksListResponse, error)
	// AddTopPicks Add one collection. One shop can have up to 10 collections.
	AddTopPicks(*AddTopPicksRequest) (*AddTopPicksResponse, error)
	// UpdateTopPicks Use this API to update the collection name, the item list in a collection, or to activate a collection.
	UpdateTopPicks(*UpdateTopPicksRequest) (*UpdateTopPicksResponse, error)
	// DeleteTopPicks Delete a collection
	DeleteTopPicks(*DeleteTopPicksRequest) (*DeleteTopPicksResponse, error)

	// GenerateFMTrackingNo Use this API to generate first-mile tracking number for the shipment method of pickup. Please note that the prerequisite for using this API is that the order status is ready_to_ship and the tracking number of order has been obtained. Only applicable to cross-border sellers in China.
	GenerateFMTrackingNo(*GenerateFMTrackingNoRequest) (*GenerateFMTrackingNoResponse, error)
	// GetShopFMTrackingNo Use this API to fetch first-mile tracking numbers of the shop. Only applicable to cross-border sellers in China.
	GetShopFMTrackingNo(*GetShopFMTrackingNoRequest) (*GetShopFMTrackingNoResponse, error)
	// FirstMileCodeBindOrder Use this API to bind orders with the first-mile tracking number. Only applicable to cross-border sellers in China.
	FirstMileCodeBindOrder(*FirstMileCodeBindOrderRequest) (*FirstMileCodeBindOrderResponse, error)
	// GetFmTnDetail Use this API to fetch the detailed information of first-mile tracking number. Only applicable to cross-border sellers in China.
	GetFmTnDetail(*GetFmTnDetailRequest) (*GetFmTnDetailResponse, error)
	// GetFMTrackingNoWaybill Use the API to get the waybill of first-mile tracking number.Please note that this API only used for the shipment method of pickup. Only applicable to cross-border sellers in China.
	GetFMTrackingNoWaybill(*GetFMTrackingNoWaybillRequest) (*GetFMTrackingNoWaybillResponse, error)
	// GetShopFirstMileChannel Use this call to get all supported logistic channels for first mile. Only applicable to cross-border sellers in China.
	GetShopFirstMileChannel(*GetShopFirstMileChannelRequest) (*GetShopFirstMileChannelResponse, error)
	// FirstMileUnbind Use this API to unbind orders with the first-mile tracking number. Only applicable to cross-border sellers in China.
	FirstMileUnbind(*FirstMileUnbindRequest) (*FirstMileUnbindResponse, error)

	// GetTransactionList Use this API to get the transaction records of wallet.
	GetTransactionList(*GetTransactionListRequest) (*GetTransactionListResponse, error)

	// GetPushConfig Use this API to get the configuration information of push service.
	GetPushConfig(*GetPushConfigRequest) (*GetPushConfigResponse, error)
	// SetPushConfig Use this API to set the configuration information of push service.
	SetPushConfig(*SetPushConfigRequest) (*SetPushConfigResponse, error)

	// GetAccessToken Use this API and the code to obtain the access_token and refresh_token.
	GetAccessToken(*GetAccessTokenRequest) (*GetAccessTokenResponse, error)
	// RefreshAccessToken Use this API to refresh the access_token after it expires.
	RefreshAccessToken(*RefreshAccessTokenRequest) (*RefreshAccessTokenResponse, error)
}

Client 定義了一個蝦皮的客戶端該有什麼功能。

func NewClient

func NewClient(opts *ClientOptions) Client

type ClientOptions

type ClientOptions struct {
	Secret string
	// 非必要
	//PartnerID int64
	// 非必要
	//ShopID int64
	//
	IsSandbox bool
	//
	Version ClientVersion
}

type ClientVersion

type ClientVersion int

ClientVersion is the API version of the client should be using.

const (
	// ClientVersionV1 for Open API V1, see: https://open.shopee.com/documents?module=63&type=2&id=53.
	ClientVersionV1 ClientVersion = iota
	// ClientVersionV2 for Open API V2, see: https://open.shopee.com/documents?module=63&type=2&id=56.
	ClientVersionV2
)

type ConfirmReturnRequest

type ConfirmReturnRequest struct {
	// The serial number of return.
	ReturnSN string `json:"return_sn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type ConfirmReturnResponse

type ConfirmReturnResponse struct {
	// The serial number of return.
	ReturnSN string `json:"return_sn,omitempty"`
	//
	Msg string `json:"msg,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteAddressRequest

type DeleteAddressRequest struct {
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The identity of address
	AddressID int64 `json:"address_id,omitempty"`
}

type DeleteAddressResponse

type DeleteAddressResponse struct {
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteDiscountItemRequest

type DeleteDiscountItemRequest struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item. If there is no variation of this item, you don't need to input this param. Dafault is 0.
	VariationID int64 `json:"variation_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteDiscountItemResponse

type DeleteDiscountItemResponse struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// The time when item is deleted.
	ModifyTime int `json:"modify_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteDiscountRequest

type DeleteDiscountRequest struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteDiscountResponse

type DeleteDiscountResponse struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// The time when discount has been deleted.
	ModifyTime int `json:"modify_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteItemImgRequest

type DeleteItemImgRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Image URLs of the item. It contains at most 9 URLs.Could get the url by api GetItemDetail
	Images []string `json:"images,omitempty"`
	// Image positions of the item. Positions start with 1 and the max number is 9. If the position can not match the old image position, this position would be ignored It contains at most 9 positions. Param position and param images can not been empty at the same time.If there are images and positions at the same time, positions is ignored.
	Positions []int `json:"positions,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteItemImgResponse

type DeleteItemImgResponse struct {
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteItemsRequest

type DeleteItemsRequest struct {
	// The id of the shop category
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// The list of items need to be deleted
	Items []int `json:"items,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteItemsResponse

type DeleteItemsResponse struct {
	// The id of the shop category
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// The list of item ids which are invalid
	InvalidItemID []int `json:"invalid_item_id,omitempty"`
	// count of items under this shop category after deletion
	Count int `json:"count,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteRequest

type DeleteRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteResponse

type DeleteResponse struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	//
	Msg string `json:"msg,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteShopCategoryRequest

type DeleteShopCategoryRequest struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteShopCategoryResponse

type DeleteShopCategoryResponse struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	//
	Msg string `json:"msg,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DeleteTopPicksRequest

type DeleteTopPicksRequest struct {
	// Collection id. Cannot delete an activated collection.
	TopPicksID int64 `json:"top_picks_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteTopPicksResponse

type DeleteTopPicksResponse struct {
	// Collection id
	TopPicksID int64 `json:"top_picks_id,omitempty"`
}

type DeleteVariationRequest

type DeleteVariationRequest struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item. Please input the variation_id of a variation to be changed. The variation_id and item_id pair must be matched in order to perform the update.
	VariationID int64 `json:"variation_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DeleteVariationResponse

type DeleteVariationResponse struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// The time when stock of the variation is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type DisputeReturnRequest

type DisputeReturnRequest struct {
	// The serial number of return.
	ReturnSN string `json:"return_sn,omitempty"`
	// Seller's email.
	Email string `json:"email,omitempty"`
	// The reason for seller dispute the return. Available value: NON_RECEIPT/OTHER/NOT_RECEIVED. See Data Definition- ReturnDisputeReason
	DisputeReason string `json:"dispute_reason,omitempty"`
	// The reason description for seller dispute the return.
	DisputeTextReason string `json:"dispute_text_reason,omitempty"`
	// Image URLs that seller provide. Seller can upload up 3 images at most.
	Images []string `json:"images,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type DisputeReturnResponse

type DisputeReturnResponse struct {
	// The serial number of return.
	ReturnSN string `json:"return_sn,omitempty"`
	//
	Msg string `json:"msg,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type FirstMileCodeBindOrderRequest

type FirstMileCodeBindOrderRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The set of ordersn. You can specify up to 50 ordersns in this call.
	OrderList []FirstMileCodeBindOrderRequestOrder `json:"order_list,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	// The shipment method for bound orders, should be pickup or dropoff.
	ShipmentMethod string `json:"shipment_method,omitempty"`
	// The identity of logistic channel
	LogisticID int64 `json:"logistic_id,omitempty"`
	// The volume of the parcel.
	Volume float64 `json:"volume,omitempty,string"`
	// The weight of the parcel.
	Weight float64 `json:"weight,omitempty,string"`
	// The width of the parcel.
	Width float64 `json:"width,omitempty,string"`
	// The length of the parcel.
	Length float64 `json:"length,omitempty,string"`
	// The height of the parcel.
	Height float64 `json:"height,omitempty,string"`
	// Use this field to specify the region you want to ship parcel.
	Area string `json:"area,omitempty"`
}

type FirstMileCodeBindOrderRequestOrder

type FirstMileCodeBindOrderRequestOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type FirstMileCodeBindOrderResponse

type FirstMileCodeBindOrderResponse struct {
	// This is to indicate whether orders are bound successfully.
	Success bool `json:"success,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	//
	FailList []FirstMileCodeBindOrderResponseFail `json:"fail_list,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type FirstMileCodeBindOrderResponseFail

type FirstMileCodeBindOrderResponseFail struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
	// The reason why the order/fulfillment order cannot be bound.
	Reason string `json:"reason,omitempty"`
}

type FirstMileUnbindRequest

type FirstMileUnbindRequest struct {
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	//
	OrderList FirstMileUnbindRequestOrderList `json:"order_list,omitempty"`
}

type FirstMileUnbindRequestOrderList

type FirstMileUnbindRequestOrderList struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type FirstMileUnbindResponse

type FirstMileUnbindResponse struct {
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	// This is to indicate whether orders are unbound successfully.
	Success bool `json:"success,omitempty"`
	//
	FailList FirstMileUnbindResponseFailList `json:"fail_list,omitempty"`
}

type FirstMileUnbindResponseFailList

type FirstMileUnbindResponseFailList struct {
	// The reason why the order/fulfillment order cannot be unbound.
	Reason string `json:"reason,omitempty"`
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type GenerateFMTrackingNoRequest

type GenerateFMTrackingNoRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// This field is used for seller to specify the declare time.
	DeclareDate string `json:"declare_date,omitempty"`
	// The number of first-mile tracking numbers generated.
	Quantity int `json:"quantity,omitempty"`
	// This object contains detailed breakdown for the seller address.
	SellerInfo GenerateFMTrackingNoRequestSellerInfo `json:"seller_info,omitempty"`
}

type GenerateFMTrackingNoRequestSellerInfo

type GenerateFMTrackingNoRequestSellerInfo struct {
	// The full address of the seller.
	Address string `json:"address,omitempty"`
	// Seller's name for the address.
	Name string `json:"name,omitempty"`
	// Seller's postal code.
	Zipcode string `json:"zipcode,omitempty"`
	// Seller's location.
	Area string `json:"area,omitempty"`
	// Seller's phone number.
	Phone string `json:"phone,omitempty"`
}

type GenerateFMTrackingNoResponse

type GenerateFMTrackingNoResponse struct {
	// The first-mile tracking number.
	FMTNList []string `json:"fmtn_list,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetAccessTokenRequest

type GetAccessTokenRequest struct {
	// The code in redirect url after shop authorization. Valid for one-time use, expires in 10 minutes.
	Code string `json:"code,omitempty"`
	// The shop_id of the shop that authorized the developer.
	ShopID int64 `json:"shop_id,omitempty"`
	// The credential retrieved in the APP console.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetAccessTokenResponse

type GetAccessTokenResponse struct {
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
	// Error code. Empty when the api call succeeded.
	Error string `json:"error,omitempty"`
	// Use refresh_token to obtain new access_token. Valid for one-time use, expires in 30 days.
	RefreshToken string `json:"refresh_token,omitempty"`
	// Use access_token as a common request parameter for certian APIs. Valid for multiple use, expires in 4 hours.
	AccessToken string `json:"access_token,omitempty"`
	// Access_token expiration time, unit is second.
	ExpireIn int `json:"expire_in,omitempty"`
}

type GetAddressRequest

type GetAddressRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetAddressResponse

type GetAddressResponse struct {
	// All pickup address that you can choose.
	AddressList []GetAddressResponseAddress `json:"address_list,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetAddressResponseAddress

type GetAddressResponseAddress struct {
	// The identity of address
	AddressID int64 `json:"address_id,omitempty"`
	// The country of specify address
	Country string `json:"country,omitempty"`
	// The state of specify address
	State string `json:"state,omitempty"`
	// The city of specify address
	City string `json:"city,omitempty"`
	// The address description of specify address
	Address string `json:"address,omitempty"`
	// The zipcode of specify address
	Zipcode string `json:"zipcode,omitempty"`
	// The district of specify address
	District string `json:"district,omitempty"`
	// The town of specify address
	Town string `json:"town,omitempty"`
	// The flag of shop address, applicable values: default_address, pickup_address, return_address
	AddressFlag []string `json:"address_flag,omitempty"`
}

type GetAirwayBillRequest

type GetAirwayBillRequest struct {
	// The set of order serial numbers. Up to 50 ordersn in one call.
	OrderSNList []string `json:"ordersn_list,omitempty"`
	// Option to get batch airway bills in single file. Default value is false.
	IsBatch bool `json:"is_batch,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetAirwayBillResponse

type GetAirwayBillResponse struct {
	// This object contains the detailed breakdown for the result of this API call if the param is_batch is false.
	Result GetAirwayBillResponseResult `json:"result,omitempty"`
	// This object contains the detailed breakdown for the result of this API call if the param is_batch is true.
	BatchResult GetAirwayBillResponseBatchResult `json:"batch_result,omitempty"`
	// This list contains the ordersn of all orders that failed to retrieve airway bill in this call. AirwayBill is no longer fetchable after the order status is updated to SHIPPED.
	Errors []string `json:"errors,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetAirwayBillResponseBatchResult

type GetAirwayBillResponseBatchResult struct {
	// The number of orderSN to get airway bills in this call.
	TotalCount int `json:"total_count,omitempty"`
	// The list contains urls of retrieving airway bill in PDF format. Each url contains the airway bills which is in the same logistics channel.
	AirwayBills []string `json:"airway_bills,omitempty"`
}

type GetAirwayBillResponseResult

type GetAirwayBillResponseResult struct {
	// The number of ordersn to get airway bills in this call.
	TotalCount int `json:"total_count,omitempty"`
	// This Object contains the airway bill to each order.
	AirwayBills []GetAirwayBillResponseResultAirwayBill `json:"airway_bills,omitempty"`
	// This list contains the ordersn and error descriptions of all orders that failed to retrieve airway bill in this call.
	Errors []GetAirwayBillResponseResultError `json:"errors,omitempty"`
}

type GetAirwayBillResponseResultAirwayBill

type GetAirwayBillResponseResultAirwayBill struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The url of retrieving airway bill.
	AirwayBill string `json:"airway_bill,omitempty"`
}

type GetAirwayBillResponseResultError

type GetAirwayBillResponseResultError struct {
	// The ordersn of orders which occurred error.
	OrderSN string `json:"ordersn,omitempty"`
	//
	ErrorCode string `json:"error_code,omitempty"`
	// The detail information of this error.
	ErrorDescription string `json:"error_description,omitempty"`
}

type GetAttributesRequest

type GetAttributesRequest struct {
	// The Identify of category. Should call shopee.item.GetCategories to get category_id first. Attributes can ONLY be fetched for the category_id WITHOUT children.
	CategoryID int64 `json:"category_id,omitempty"`
	// Indicate the translation language. Language values include: en(English), vi(Vietnamese), id(Indonesian), th(Thai), zh-Hant(Traditional Chinese), zh-Hans(Simplified Chinese), ms-my(Malaysian Malay). If the selected language is not supported in certain shop location, the response will be in default language.
	Language string `json:"language,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Two-characters country code(capital letter) for the attributes. Should be provided if no "shopid".
	Country string `json:"country,omitempty"`
	// Is cross-border or not. Should be provided if no "shopid".
	IsCB bool `json:"is_cb,omitempty"`
	// Shopee's unique identifier for a shop. Should be provided if no "country" and "is_cb".
	ShopID int64 `json:"shopid,omitempty"`
}

type GetAttributesResponse

type GetAttributesResponse struct {
	// The attributes list.
	Attributes []GetAttributesResponseAttribute `json:"attributes,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type GetAttributesResponseAttribute

type GetAttributesResponseAttribute struct {
	// The Identify of each category.
	AttributeID int64 `json:"attribute_id,omitempty"`
	// The name of each attribute.
	AttributeName string `json:"attribute_name,omitempty"`
	// This is to indicate whether this attribute is mandantory.
	IsMandatory bool `json:"is_mandatory,omitempty"`
	// Enumerated type that defines the type of the attribute. Applicable values: See Data Definition- AttributeType.
	AttribuiteType string `json:"attribuite_type,omitempty"`
	// Enumerated type that defines the input type of the attribute. Applicable values: See Data Definition- AttributeInputType.
	InputType string `json:"input_type,omitempty"`
	// All options that attribute contains.
	Options []string `json:"options,omitempty"`
	// The option values in different language.
	Values []GetAttributesResponseAttributeValue `json:"values,omitempty"`
}

type GetAttributesResponseAttributeValue

type GetAttributesResponseAttributeValue struct {
	// Value in original language. It's MANDATORY to use attributes in original_value to add items.
	OriginalValue string `json:"original_value,omitempty"`
	// Value in translated language. As referrence only, CANNOT be used to add item. If the selected language is not supported in certain shop location, this field will be empty.
	TranslateValue string `json:"translate_value,omitempty"`
}

type GetBoostedItemRequest

type GetBoostedItemRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetBoostedItemResponse

type GetBoostedItemResponse struct {
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	//
	Items []GetBoostedItemResponseItem `json:"items,omitempty"`
}

type GetBoostedItemResponseItem

type GetBoostedItemResponseItem struct {
	// boosted items' id.
	ItemID int64 `json:"item_id,omitempty"`
	// Cooldown_second time is four hours after boost. After four hours you can boost this item again.
	CooldownSecond int `json:"cooldown_second,omitempty"`
}

type GetBranchRequest

type GetBranchRequest struct {
	// The order serial numbers.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetBranchResponse

type GetBranchResponse struct {
	// All dropoff branches you can choose.
	Branch []GetBranchResponseBranch `json:"branch,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetBranchResponseBranch

type GetBranchResponseBranch struct {
	// The identity of branch.
	BranchID int64 `json:"branch_id,omitempty"`
	// The country of specify branch.
	Country string `json:"country,omitempty"`
	// The state of specify branch.
	State string `json:"state,omitempty"`
	// The city of specify branch.
	City string `json:"city,omitempty"`
	// The address description of specify branch.
	Address string `json:"address,omitempty"`
	// The zipcode of specify branch.
	Zipcode string `json:"zipcode,omitempty"`
	// The district of specify branch.
	District string `json:"district,omitempty"`
	// The town of specify branch.
	Town string `json:"town,omitempty"`
}

type GetCategoriesByCountryRequest

type GetCategoriesByCountryRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Two-digit country code(capital letter).
	Country string `json:"country,omitempty"`
	// Is cross border or not. 1: cross border; 0: not cross border
	IsCB bool `json:"is_cb,omitempty"`
	// Indicate the translation language. Language values include: en(English), vi(Vietnamese), id(Indonesian), th(Thai), zh-Hant(Traditional Chinese), zh-Hans(Simplified Chinese), ms-my(Malaysian Malay). If the selected language is not supported in certain shop location, the response will be in default language.
	Language string `json:"language,omitempty"`
}

type GetCategoriesByCountryResponse

type GetCategoriesByCountryResponse struct {
	// List of categories info.
	Categories []GetCategoriesByCountryResponseCategory `json:"categories,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetCategoriesByCountryResponseCategory

type GetCategoriesByCountryResponseCategory struct {
	// The Identify of the parent of the category
	ParentID int64 `json:"parent_id,omitempty"`
	// This is to indicate whether the category has children.
	HasChildren bool `json:"has_children,omitempty"`
	// The Identify of each category
	CategoryID int64 `json:"category_id,omitempty"`
	// The name of each category
	CategoryName string `json:"category_name,omitempty"`
	// To indicate if this category supports size chart
	IsSuppSizechart bool `json:"is_supp_sizechart,omitempty"`
}

type GetCategoriesRequest

type GetCategoriesRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Indicate the translation language. Language values include: en(English), vi(Vietnamese), id(Indonesian), th(Thai), zh-Hant(Traditional Chinese), zh-Hans(Simplified Chinese), ms-my(Malaysian Malay). If the selected language is not supported in certain shop location, the response will be in default language.
	Language string `json:"language,omitempty"`
}

type GetCategoriesResponse

type GetCategoriesResponse struct {
	// The category list.
	Categories []GetCategoriesResponseCategory `json:"categories,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type GetCategoriesResponseCategory

type GetCategoriesResponseCategory struct {
	// The Identify of each category.
	CategoryID int64 `json:"category_id,omitempty"`
	// The Identify of the parent of the category.
	ParentID int64 `json:"parent_id,omitempty"`
	// The name of each category.
	CategoryName string `json:"category_name,omitempty"`
	// This is to indicate whether the category has children. Attributes can ONLY be fetched for the category_id WITHOUT children.
	HasChildren bool `json:"has_children,omitempty"`
	// The limits of pre-order items' days_to_ship based on per category.
	DaysToShipLimits GetCategoriesResponseCategoryDaysToShipLimits `json:"days_to_ship_limits,omitempty"`
}

type GetCategoriesResponseCategoryDaysToShipLimits

type GetCategoriesResponseCategoryDaysToShipLimits struct {
	// The maximum of dts,-1 means no dts.
	MaxLimit int `json:"max_limit,omitempty"`
	// The minimum of dts, -1 means no dts.
	MinLimit int `json:"min_limit,omitempty"`
}

type GetCommentRequest

type GetCommentRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// The identity of comment.
	CMTID int64 `json:"cmt_id,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// If many items are available to retrieve, you may need to call GetItemsList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries (<= 100) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is usUed to specify the maximum number of entries to return in a single ""page"" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
}

type GetCommentResponse

type GetCommentResponse struct {
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate whether the comment list is more than one page. If this value is true, you may want to continue to check next page to retrieve the rest of comments.
	More bool `json:"more,omitempty"`
	//
	ItemCMTList []GetCommentResponseItemCMTList `json:"item_cmt_list,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetCommentResponseItemCMTList

type GetCommentResponseItemCMTList struct {
	// The identity of comment.
	CMTID int64 `json:"cmt_id,omitempty"`
	// Content of the comment.
	Comment string `json:"comment,omitempty"`
	// Username of the buyer who posted the comment.
	BuyerUsername string `json:"buyer_username,omitempty"`
	// Commented ordersn
	OrderSN string `json:"ordersn,omitempty"`
	// Commented item's id
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// The create time of the comment
	CreateTime int `json:"create_time,omitempty"`
	// The status of comment, available values: DELETE/NORMAL/VALID/HIDDEN
	Status string `json:"status,omitempty"`
	// Buyer's rating for the item
	RatingStar int `json:"rating_star,omitempty"`
	// The edit status of comment, available values: EXPIRED/EDITABLE/HAVE_EDIT_ONCE
	Editable string `json:"editable,omitempty"`
	// The status of comment, available values: DELETE/NORMAL/VALID/HIDDEN
	CMTReply GetCommentResponseItemCMTListCMTReply `json:"cmt_reply,omitempty"`
}

type GetCommentResponseItemCMTListCMTReply

type GetCommentResponseItemCMTListCMTReply struct {
	// The content of reply
	Reply string `json:"reply,omitempty"`
	// The status of comment, available values: DELETE/NORMAL/VALID/HIDDEN
	Status string `json:"status,omitempty"`
}

type GetDiscountDetailRequest

type GetDiscountDetailRequest struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Specifies the starting entry of data to return in the current call. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// If many items of this discount are available to retrieve, you may need to call GetDiscountDetail multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries (<= 100) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is used to specify the maximum number of entries to return in a single "page" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetDiscountDetailResponse

type GetDiscountDetailResponse struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Title of the discount.
	DiscountName int `json:"discount_name,omitempty"`
	// The time when discount activity start.
	StartTime int `json:"start_time,omitempty"`
	// The time when discount activity end.
	EndTime int `json:"end_time,omitempty"`
	// This is to indicate whether the item list is more than one page. If this value is true, you may want to continue to check next page to retrieve the rest of items.
	More bool `json:"more,omitempty"`
	//
	Items []GetDiscountDetailResponseItem `json:"items,omitempty"`
	// The status of discount, applicable values: expired, ongoing, upcoming.
	Status string `json:"status,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetDiscountDetailResponseItem

type GetDiscountDetailResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Name of the item in local language.
	ItemName string `json:"item_name,omitempty"`
	// The max number of this product in the promotion price.
	PurchaseLimit int `json:"purchase_limit,omitempty"`
	// The original price before discount of the item. If there is variation, this value is 0.
	ItemOriginalPrice float64 `json:"item_original_price,omitempty,string"`
	// The discount price of the item. If there is variation, this value is 0.
	ItemPromotionPrice float64 `json:"item_promotion_price,omitempty,string"`
	// The current stock quantity of the item.
	Stock int `json:"stock,omitempty"`
	//
	Variations []GetDiscountDetailResponseItemVariation `json:"variations,omitempty"`
}

type GetDiscountDetailResponseItemVariation

type GetDiscountDetailResponseItemVariation struct {
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Name of the variation that belongs to the same item.
	VariationName string `json:"variation_name,omitempty"`
	// The original price before discount of the variation.
	VariationOriginalPrice float64 `json:"variation_original_price,omitempty,string"`
	// The discount price of the variation.
	VariationPromotionPrice float64 `json:"variation_promotion_price,omitempty,string"`
	// The current stock quantity of the variation.
	VariationStock int `json:"variation_stock,omitempty"`
}

type GetDiscountsListRequest

type GetDiscountsListRequest struct {
	// The status filter for retriveing discount list. Available value: UPCOMING/ONGOING/EXPIRED/ALL.
	DiscountStatus string `json:"discount_status,omitempty"`
	// Specifies the starting entry of data to return in the current call. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// If many items are available to retrieve, you may need to call GetDiscountsList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries (<= 100) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is used to specify the maximum number of entries to return in a single "page" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// The update_time_from and update_time_to fields specify a date range for retrieving orders (based on the discount update time). The create_time_from field is the starting date range. The maximum date range that may be specified with the update_time_from and update_time_to fields is 15 days.
	UpdateTimeFrom int `json:"update_time_from,omitempty"`
	// The update_time_from and update_time_to fields specify a date range for retrieving orders (based on the discount update time). The create_time_from field is the starting date range. The maximum date range that may be specified with the update_time_from and update_time_to fields is 15 days.
	UpdateTimeTo int `json:"update_time_to,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetDiscountsListResponse

type GetDiscountsListResponse struct {
	//
	Discount []GetDiscountsListResponseDiscount `json:"discount,omitempty"`
	// This is to indicate whether the item list is more than one page. If this value is true, you may want to continue to check next page to retrieve the rest of items.
	More bool `json:"more,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetDiscountsListResponseDiscount

type GetDiscountsListResponseDiscount struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Title of the discount.
	DiscountName string `json:"discount_name,omitempty"`
	// The time when discount activity start.
	StartTime int `json:"start_time,omitempty"`
	// The time when discount activity end.
	EndTime int `json:"end_time,omitempty"`
	// The status of discount, applicable values: expired, ongoing, upcoming.
	Status string `json:"status,omitempty"`
}

type GetEscrowDetailsRequest

type GetEscrowDetailsRequest struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetEscrowDetailsResponse

type GetEscrowDetailsResponse struct {
	// My Income infomation
	Order GetEscrowDetailsResponseOrder `json:"order,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetEscrowDetailsResponseOrder

type GetEscrowDetailsResponseOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The two-digit code representing the country where the order was made.
	Country string `json:"country,omitempty"`
	// This object contains detailed income breakdown for the order.
	IncomeDetails GetEscrowDetailsResponseOrderIncomeDetail `json:"income_details,omitempty"`
	// The logistics service provider that the buyer selected for the order to deliver items.
	ShippingCarrier string `json:"shipping_carrier,omitempty"`
	// The three-digit code representing the currency unit of total order amount (escorw_amount) at the point of payment to the seller.
	EscrowCurrency string `json:"escrow_currency,omitempty"`
	// The exchange rate used by Shopee to convert local_currency to escrow_currency.
	ExchangeRate string `json:"exchange_rate,omitempty"`
	// The payment channel that the seller selected to receive escrow for the order.
	EscrowChannel string `json:"escrow_channel,omitempty"`
	// The unique identifier for a payee by the 3rd party payment service provider selected in escrow_channel.
	PayeeID string `json:"payee_id,omitempty"`
	// This object contains detailed breakdown for bank account of the seller if selected escorw_channel is Bank Transfer.
	BankAccount GetEscrowDetailsResponseOrderBankAccount `json:"bank_account,omitempty"`
	// This object contains the detailed breakdown for all the items in this order, including regular items(non-activity) and activity items.
	Items []GetEscrowDetailsResponseOrderItem `json:"items,omitempty"`
	// This object contains the activity in this order.
	Activity []GetEscrowDetailsResponseOrderActivity `json:"activity,omitempty"`
}

type GetEscrowDetailsResponseOrderActivity

type GetEscrowDetailsResponseOrderActivity struct {
	// ID of activity.
	ActivityID int64 `json:"activity_id,omitempty"`
	// Type of activity. Currently only one type: bundle_deal
	ActivityType string `json:"activity_type,omitempty"`
	// The original TOTAL price of ALL items in one activity(e.g. bundle deal. Define by activity_id) in the listing currency.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// The after-discocunt TOTAL price of ALL items in one activity(e.g. bundle deal. Define by activity_id) in the listing currency.
	DiscountedPrice float64 `json:"discounted_price,omitempty,string"`
	// This object contains the items in this activity.
	Items []GetEscrowDetailsResponseOrderActivityItem `json:"items,omitempty"`
}

type GetEscrowDetailsResponseOrderActivityItem

type GetEscrowDetailsResponseOrderActivityItem struct {
	// ID of item.
	ItemID int64 `json:"item_id,omitempty"`
	// ID of the variation that belongs to the same item.
	VariationID int64 `json:"variation_id,omitempty"`
	// The number of identical items purchased at the same time by the same buyer from one listing/item.
	QuantityPurchased int `json:"quantity_purchased,omitempty"`
	// The price used to participate activity. E.g. itemA original price is $10, promo price is $9, and bundle deal is buy 2 get 20% off equals to $14.4. The original_price value will be $9 in this case.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
}

type GetEscrowDetailsResponseOrderBankAccount

type GetEscrowDetailsResponseOrderBankAccount struct {
	// Name of the seller's receiving bank
	BankName string `json:"bank_name,omitempty"`
	// Account number of the seller's receiving bank
	BankAccountNumber string `json:"bank_account_number,omitempty"`
	// The two-digit code representing country of the seller's receiving bank account
	BankAccountCountry string `json:"bank_account_country,omitempty"`
}

type GetEscrowDetailsResponseOrderIncomeDetail

type GetEscrowDetailsResponseOrderIncomeDetail struct {
	// The three-digit code representing the currency unit used for all transactional amount under
	LocalCurrency string `json:"local_currency,omitempty"`
	// The total amount paid by the buyer for the order. This amount includes the total sale price of items, shipping cost beared by buyer; and offset by Shopee promotions if applicable.
	TotalAmount float64 `json:"total_amount,omitempty,string"`
	// Final value of coins used by seller for the order.
	Coin float64 `json:"coin,omitempty,string"`
	// Final value of voucher provided by Shopee for the order.
	Voucher float64 `json:"voucher,omitempty,string"`
	// Final value of voucher provided by Seller for the order.
	VoucherSeller float64 `json:"voucher_seller,omitempty,string"`
	// Final sum of each item Shopee discount of a specific order. This amount will rebate to seller.
	SellerRebate float64 `json:"seller_rebate,omitempty,string"`
	// The final shipping cost of order . For Non-integrated logistics channel is 0.
	ActualShippingCost float64 `json:"actual_shipping_cost,omitempty,string"`
	// The platform shipping subsidy to the seller
	ShippingFeeRebate float64 `json:"shipping_fee_rebate,omitempty,string"`
	// The commission fee charged by Shopee platform if applicable.
	CommissionFee float64 `json:"commission_fee,omitempty,string"`
	// The voucher code or promotion code the buyer used.
	VoucherCode float64 `json:"voucher_code,omitempty,string"`
	// The voucher name or promotion name the buyer used.
	VoucherName float64 `json:"voucher_name,omitempty,string"`
	// The total amount that the seller is expected to receive for the order and will change before order completed. escrow_amount=total_amount+voucher+credit_card_promotion+seller_rebate+coin-commission_fee-credit_card_transaction_fee-cross_border_tax-service_fee-buyer_shopee_kredit-seller_coin_cash_back+final_shipping_fee-seller_return_refund_amount.
	EscrowAmount float64 `json:"escrow_amount,omitempty,string"`
	// Amount incurred by Buyer for purchasing items outside of home country. Amount may change after Return Refund.
	CroossBorderTax float64 `json:"crooss_border_tax,omitempty,string"`
	// Include buyer transaction fee and seller transaction fee.
	CreditCardTransactionFee float64 `json:"credit_card_transaction_fee,omitempty,string"`
	// Amount charged by Shopee to seller for additional services.
	ServiceFee float64 `json:"service_fee,omitempty,string"`
	// Amount charged by Shopee to Buyer for using ShopeeKredit for the order. Currently only applicable in ID.
	BuyerShopeeKredit float64 `json:"buyer_shopee_kredit,omitempty,string"`
	// Value of coins provided by Seller for purchasing with his or her store for the order.
	SellerCoinCashBack float64 `json:"seller_coin_cash_back,omitempty,string"`
	// Final adjusted amount that seller has to bear as part of escrow. This amount could be negative or positive.
	FinalShippingFee float64 `json:"final_shipping_fee,omitempty,string"`
	// Amount returned to Seller in the event of partial return.
	SellerReturnRefundAmount float64 `json:"seller_return_refund_amount,omitempty,string"`
	// The amount offset via payment promotion. May include bank payment promotion and Shopee payment promotion.
	CreditCardPromotion float64 `json:"credit_card_promotion,omitempty,string"`
	// True means incoming won't change any more.
	IsCompleted bool `json:"is_completed,omitempty"`
	// Use this field to fetch the list of voucher codes.
	VoucherCodeList []string `json:"voucher_code_list,omitempty"`
	// The transaction_fee of seller.
	SellerTransactionFee float64 `json:"seller_transaction_fee,omitempty,string"`
	// The transaction_fee of buyer.
	BuyerTransactionFee float64 `json:"buyer_transaction_fee,omitempty,string"`
}

type GetEscrowDetailsResponseOrderItem

type GetEscrowDetailsResponseOrderItem struct {
	// ID of item
	ItemID int64 `json:"item_id,omitempty"`
	// Name of item
	ItemName string `json:"item_name,omitempty"`
	// A item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// ID of the variation that belongs to the same item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Name of the variation that belongs to the same item. A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	VariationName string `json:"variation_name,omitempty"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
	// This value indicates the number of identical items purchased at the same time by the same buyer from one listing/item.
	QuantityPurchased int `json:"quantity_purchased,omitempty"`
	// The original price of the item before ANY promotion/discount in the listing currency. It returns the subtotal of that specific item if quantity exceeds 1.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// The after-discount price of the item in the listing currency. It returns the subtotal of that specific item if quantity exceeds 1. If there is no discount, this value will be the same as that of original_price.
	// In case of bundle deal item, this value will return 0 as by design bundle deal discount will not be breakdown to item/variation level. Due to technical restriction, the value will return the price before bundle deal if we don’t configure it to 0. Please use the value under "income_details" and "activity" to calculate the bundle deal discount breakdown on item level.
	DiscountedPrice float64 `json:"discounted_price,omitempty,string"`
	// The offset of this item when the buyer consumed Shopee Coins upon checkout.
	// In case of bundle deal item, this value will return 0. Due to technical restriction, this field will return incorrect value under bundle deal case if we don’t configure it to 0. Please use the value under "income_details" and "activity" to calculate the breakdown on item level.
	DiscountFromCoin float64 `json:"discount_from_coin,omitempty,string"`
	// The offset of this item when the buyer use Shopee voucher.
	// In case of bundle deal item, this value will return 0. Due to technical restriction, this field will return incorrect value under bundle deal case if we don’t configure it to 0. Please use the value under "income_details" and "activity" to calculate the breakdown on item level.
	DiscountFromVoucher float64 `json:"discount_from_voucher,omitempty,string"`
	// The offset of this item when the buyer use seller-specific voucher.
	// In case of bundle deal item, this value will return 0. Due to technical restriction, this field will return incorrect value under bundle deal case if we don’t configure it to 0. Please use the value under "income_details" and "activity" to calculate the breakdown on item level.
	DiscountFromVoucherSeller float64 `json:"discount_from_voucher_seller,omitempty,string"`
	// Platform subsidy to the seller for this item.
	// In case of bundle deal item, this value will return 0. Due to technical restriction, this field will return incorrect value under bundle deal case if we don’t configure it to 0. Please use the value under "income_details" and "activity" to calculate the breakdown on item level.
	SellerRebate float64 `json:"seller_rebate,omitempty,string"`
	// This value indicates the actual price the buyer pay.
	// In case of bundle deal item, this value will return 0 as by design bundle deal discount will not be breakdown to item/variation level. Due to technical restriction, the value will return the price before bundle deal if we don't configure it to 0. Please use the value under "income_details" and "activity" to calculate the bundle deal discount breakdown on item level.
	DealPrice float64 `json:"deal_price,omitempty,string"`
	// This value indicate the offset via credit card promotion.
	// In case of bundle deal item, this value will return 0. Due to technical restriction, this field will return incorrect value under bundle deal case if we don’t configure it to 0. Please use the value under "income_details" and "activity" to calculate the breakdown on item level.
	CreditCardPromotion float64 `json:"credit_card_promotion,omitempty,string"`
	// To indicate if this item belongs to an addon deal.
	IsAddOnDeal bool `json:"is_add_on_deal,omitempty"`
	// To indicate if this item is main item or sub item. True means main item, false means sub item.
	IsMainItem bool `json:"is_main_item,omitempty"`
	// The unique identity of an addon deal.
	AddOnDealID int64 `json:"add_on_deal_id,omitempty"`
}

type GetEscrowReleasedOrdersRequest

type GetEscrowReleasedOrdersRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// If many orders are available to retrieve, you may need to call GetEscrowReleaseTime multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries to retrieve per page (i.e., per call), the offset number to start next call. This integer value is used to specify the maximum number of entries to return in a single "page" of data. Max entries per page is 100.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// Release time range to filter order escrow information.
	ReleaseTimeFrom int `json:"release_time_from,omitempty"`
	// Release time range to filter order escrow information. The value should be higher than release_time_from.
	ReleaseTimeTo int `json:"release_time_to,omitempty"`
}

type GetEscrowReleasedOrdersResponse

type GetEscrowReleasedOrdersResponse struct {
	// Filtered orders' escrow information.
	Orders []GetEscrowReleasedOrdersResponseOrder `json:"orders,omitempty"`
}

type GetEscrowReleasedOrdersResponseOrder

type GetEscrowReleasedOrdersResponseOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Order's escrow amount.
	PayoutAmount float64 `json:"payout_amount,omitempty,string"`
	// Timestamp of escrow amount transaction finished.
	EscrowReleaseTime int `json:"escrow_release_time,omitempty"`
}

type GetFMTrackingNoWaybillRequest

type GetFMTrackingNoWaybillRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The set of first-mile tracking numbers. Up to 50 tracking numbers in one call.
	FMTNList []string `json:"fmtn_list,omitempty"`
	// Option to get batch airway bills in single file. Default value is false.
	IsBatch bool `json:"is_batch,omitempty"`
}

type GetFMTrackingNoWaybillResponse

type GetFMTrackingNoWaybillResponse struct {
	// This object contains the detailed breakdown for the result of this API call if the param is_batch is true.
	BatchResult GetFMTrackingNoWaybillResponseBatchResult `json:"batch_result,omitempty"`
	// This object contains the detailed breakdown for the result of this API call if the param is_batch is false.
	Result GetFMTrackingNoWaybillResponseResult `json:"result,omitempty"`
	// The number of Tracking Number to get waybills in this call.
	TotalCount int `json:"total_count,omitempty"`
	// This list contains the first-mile tracking number and error descriptions of all tracking numbers that failed to retrieve airway bill in this call.
	Errors []GetFMTrackingNoWaybillResponseError `json:"errors,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetFMTrackingNoWaybillResponseBatchResult

type GetFMTrackingNoWaybillResponseBatchResult struct {
	// The list contains urls of retrieving waybill in PDF format. Each url contains the airway bills which is in the same logistics channel.
	Waybills []string `json:"waybills,omitempty"`
	// The number of Tracking Number to get waybills in this call.
	TotalCount int `json:"total_count,omitempty"`
	// This list contains the first-mile tracking number and error descriptions of all tracking numbers that failed to retrieve airway bill in this call.
	Errors []GetFMTrackingNoWaybillResponseError `json:"errors,omitempty"`
}

type GetFMTrackingNoWaybillResponseError

type GetFMTrackingNoWaybillResponseError struct {
	//
	ErrorCode string `json:"error_code,omitempty"`
	// The detail information of this error.
	ErrorDescription string `json:"error_description,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
}

type GetFMTrackingNoWaybillResponseResult

type GetFMTrackingNoWaybillResponseResult struct {
	// This Object contains the waybill to each tracking number.
	Waybills []GetFMTrackingNoWaybillResponseResultWaybill `json:"waybills,omitempty"`
	// The number of Tracking Number to get waybills in this call.
	TotalCount int `json:"total_count,omitempty"`
	// This list contains the first-mile tracking number and error descriptions of all tracking numbers that failed to retrieve airway bill in this call.
	Errors []GetFMTrackingNoWaybillResponseError `json:"errors,omitempty"`
}

type GetFMTrackingNoWaybillResponseResultWaybill

type GetFMTrackingNoWaybillResponseResultWaybill struct {
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	// The url of retrieving waybill.
	Waybill string `json:"waybill,omitempty"`
}

type GetFmTnDetailRequest

type GetFmTnDetailRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	// This field indicates the current page number. By default, each page returns 100 orders, if the current page is less than 100, it returns all
	Page int `json:"page,omitempty"`
}

type GetFmTnDetailResponse

type GetFmTnDetailResponse struct {
	// The identity of logistic channel
	LogisticID int64 `json:"logistic_id,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	// The shipment method for bound orders, should be pickup or dropoff.
	ShipmentMethod string `json:"shipment_method,omitempty"`
	// The logistics status for first-mile tracking number.
	Status string `json:"status,omitempty"`
	//
	Orders []GetFmTnDetailResponseOrder `json:"orders,omitempty"`
	// The specified delivery date.
	DeclareDate string `json:"declare_date,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	// This field represents the total number of pages calculated by 100 orders per page.
	TotalPage int `json:"total_page,omitempty"`
}

type GetFmTnDetailResponseOrder

type GetFmTnDetailResponseOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
	// The tracking number of SLS for orders/forders.
	SLSTN string `json:"slstn,omitempty"`
	// Use this filed to indicate whether the order has been picked up by carrier.
	IsPickUpDone bool `json:"is_pick_up_done,omitempty"`
	// Use this filed to indicate whether the order has arrived at transit warehouse.
	IsArrivedTWS bool `json:"is_arrived_tws,omitempty"`
}

type GetForderInfoRequest

type GetForderInfoRequest struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetForderInfoResponse

type GetForderInfoResponse struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The fulfill order list
	ForderList []GetForderInfoResponseForder `json:"forder_list,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetForderInfoResponseForder

type GetForderInfoResponseForder struct {
	// The unique identifier for a fulfill order.
	ForderID string `json:"forder_id,omitempty"`
	// The fulfill order logistics status. Applicable values: See Data Definition - LogisticsStatus.
	Status string `json:"status,omitempty"`
	// Logistics tracking info.
	TrackingLog []GetForderInfoResponseForderLog `json:"tracking_log,omitempty"`
	// The items included in this fulfill order.
	Items []GetForderInfoResponseForderItem `json:"items,omitempty"`
	//
	LogisticsInfo []GetForderInfoResponseForderLogisticsInfo `json:"logistics_info,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	// The last-mile tracking number. Only for Cross Board BR seller.
	LMTN string `json:"lm_tn,omitempty"`
}

type GetForderInfoResponseForderItem

type GetForderInfoResponseForderItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// The number of identical items/variations purchased at the same time by the same buyer from one listing/item.
	Num int `json:"num,omitempty"`
	// The original price of the item in the listing currency.
	ItemPrice float64 `json:"item_price,omitempty,string"`
	// The original price of the variation in the listing currency.
	VariationPrice float64 `json:"variation_price,omitempty,string"`
}

type GetForderInfoResponseForderLog

type GetForderInfoResponseForderLog struct {
	// The time when logistics info has been updated.
	Ctime int `json:"ctime,omitempty"`
	// The order logistics tracking info.
	Description string `json:"description,omitempty"`
}

type GetForderInfoResponseForderLogisticsInfo

type GetForderInfoResponseForderLogisticsInfo struct {
	// The logistics service provider that the buyer selected for the order to deliver items.
	ShippingCarrier string `json:"shipping_carrier,omitempty"`
	// Only work for cross-border order. This value indicates whether the order contains goods that are required to declare at customs. "T" means true and it will mark as "T" on the shipping label; "F" means false and it will mark as "P" on the shipping label. This value is accurate ONLY AFTER the order trackingNo is generated, please capture this value AFTER your retrieve the trackingNo.
	GoodsToDeclare bool `json:"goods_to_declare,omitempty"`
	// Only work for cross-border order. This code is required at some sorting hub. Please ensure the service_code is INCLUDED on your shipping label, otherwise the parcel cannot be processed by the warehouse. If you didn't retrieve service_code after you first called this API, please try few more times within 30 minutes.
	ServiceCode string `json:"service_code,omitempty"`
	// The tracking number of fullfill order assigned by the shipping carrier for item shipment.
	TrackingNo string `json:"tracking_no,omitempty"`
}

type GetForderWaybillRequest

type GetForderWaybillRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The set of order serial numbers. Up to 50 ordersn in one call.
	OrdersList []GetForderWaybillRequestOrder `json:"orders_list,omitempty"`
	// Option to get batch airway bills in single file. Default value is false.
	IsBatch bool `json:"is_batch,omitempty"`
}

type GetForderWaybillRequestOrder

type GetForderWaybillRequestOrder struct {
	// The order serial numbers. Make sure the order has trackingNo generated before calling this API.
	OrderSN string `json:"ordersn,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type GetForderWaybillResponse

type GetForderWaybillResponse struct {
	// This object contains the detailed breakdown for the result of this API call if the param is_batch is false.
	Result GetForderWaybillResponseResult `json:"result,omitempty"`
	// This object contains the detailed breakdown for the result of this API call if the param is_batch is true.
	BatchResult GetForderWaybillResponseBatchResult `json:"batch_result,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetForderWaybillResponseBatchResult

type GetForderWaybillResponseBatchResult struct {
	// The number of orderSN to get airway bills in this call.
	TotalCount int `json:"total_count,omitempty"`
	// This list contains the ordersn and error descriptions of all orders that failed to retrieve airway bill in this call.
	Errors []GetForderWaybillResponseError `json:"errors,omitempty"`
	// The url of retrieving airway bill.
	Waybills []string `json:"waybills,omitempty"`
}

type GetForderWaybillResponseError

type GetForderWaybillResponseError struct {
	// The ordersn of orders which occurred error.
	OrderSN string `json:"ordersn,omitempty"`
	// The forder_id of fulfillment orders which occurred error.
	ForderID string `json:"forder_id,omitempty"`
	//
	ErrorCode string `json:"error_code,omitempty"`
	// The detail information of this error.
	ErrorDescription string `json:"error_description,omitempty"`
}

type GetForderWaybillResponseResult

type GetForderWaybillResponseResult struct {
	// The number of ordersn to get airway bills in this call.
	TotalCount int `json:"total_count,omitempty"`
	// This Object contains the airway bill to each order.
	Waybills []GetForderWaybillResponseResultWaybill `json:"waybills,omitempty"`
	// This list contains the ordersn and error descriptions of all orders that failed to retrieve airway bill in this call.
	Errors []GetForderWaybillResponseError `json:"errors,omitempty"`
}

type GetForderWaybillResponseResultWaybill

type GetForderWaybillResponseResultWaybill struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
	// The url of retrieving airway bill.
	Waybill string `json:"waybill,omitempty"`
}

type GetItemDetailRequest

type GetItemDetailRequest struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetItemDetailResponse

type GetItemDetailResponse struct {
	//
	Item GetItemDetailResponseItem `json:"item,omitempty"`
	// Warning returned when the category or attributes are missing/invalid.
	Warning string `json:"warning,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetItemDetailResponseItem

type GetItemDetailResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// An item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// Enumerated type that defines the current status of the item. Applicable values: NORMAL, DELETED, BANNED and UNLIST.
	Status string `json:"status,omitempty"`
	// Name of the item in local language.
	Name string `json:"name,omitempty"`
	// Description of the item in local language.
	Description string `json:"description,omitempty"`
	// Image URLs of the item. It contains at most 9 URLs.
	Images []string `json:"images,omitempty"`
	// The three-digit code representing the currency unit used for the item in Shopee Listings.
	Currency string `json:"currency,omitempty"`
	// This is to indicate whether the item has variation(s).
	HasVariaion bool `json:"has_variaion,omitempty"`
	// The current price of the item in the listing currency.If item is in promotion, this value is discount price.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the item.
	Stock int `json:"stock,omitempty"`
	// Timestamp that indicates the date and time that the item was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of the item, such as price/stock change.
	UpdateTime int `json:"update_time,omitempty"`
	// the net weight of this item, the unit is KG.
	Weight float64 `json:"weight,omitempty,string"`
	// Could call shopee.item.GetCategories to get category detail.Related to result.categories.category_id
	CategoryID int64 `json:"category_id,omitempty"`
	// The original price of the item in the listing currency.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// The variation list of item
	Variations []GetItemDetailResponseItemVariation `json:"variations,omitempty"`
	//
	Attributes []GetItemDetailResponseItemAttribute `json:"attributes,omitempty"`
	// The logistics list.
	Logistics []GetItemDetailResponseItemLogistic `json:"logistics,omitempty"`
	// The wholesales tier list.
	Wholesales []GetItemDetailResponseItemWholesale `json:"wholesales,omitempty"`
	// The rating star scores of this item.
	RatingStar float64 `json:"rating_star,omitempty,string"`
	// Count of comments for the item.
	CMTCount int `json:"cmt_count,omitempty"`
	// The sales volume of item.
	Sales int `json:"sales,omitempty"`
	// The page view of item.
	Views int `json:"views,omitempty"`
	// The conllection number of item.
	Likes int `json:"likes,omitempty"`
	// The length of package for this single item, the unit is CM
	PackageLength float64 `json:"package_length,omitempty,string"`
	// The width of package for this single item, the unit is CM
	PackageWidth float64 `json:"package_width,omitempty,string"`
	// The height of package for this single item, the unit is CM
	PackageHeight float64 `json:"package_height,omitempty,string"`
	// The days to ship.
	DaysToShip int `json:"days_to_ship,omitempty"`
	// url of size chart image. Only particular categories support it.
	SizeChart string `json:"size_chart,omitempty"`
	// This indicates whether the item is secondhand.
	Condition string `json:"condition,omitempty"`
	// The ID of discount activity the item is currently in. One item can only have one discount at a time. discount_id will be 0 if the item has no discount applied, or item has variation.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Whether 2-tier variation structure is activated for this item
	Is2TierItem bool `json:"is_2_tier_item,omitempty"`
	// Only for TW seller. List of installments
	Tenures []int `json:"tenures,omitempty"`
	// Use this field to get the locked stock of item by promotions.
	ReservedStock int `json:"reserved_stock,omitempty"`
	// Use this field to identify whether the item is pre-order. Applicable value: true/false.
	IsPreOrder bool `json:"is_pre_order,omitempty"`
}

type GetItemDetailResponseItemAttribute

type GetItemDetailResponseItemAttribute struct {
	// The Identify of each category
	AttributeID int64 `json:"attribute_id,omitempty"`
	// The name of each attribute
	AttributeName string `json:"attribute_name,omitempty"`
	// This is to indicate whether this attribute is mandantory
	IsMandatory bool `json:"is_mandatory,omitempty"`
	// Enumerated type that defines the type of the attribute. Applicable values: See Data Definition- AttributeType.
	AttributeType string `json:"attribute_type,omitempty"`
	// The value of this item attribute.
	AttributeValue string `json:"attribute_value,omitempty"`
}

type GetItemDetailResponseItemLogistic

type GetItemDetailResponseItemLogistic struct {
	// The identity of logistic channel
	LogisticID int64 `json:"logistic_id,omitempty"`
	// The name of logistic
	LogisticName string `json:"logistic_name,omitempty"`
	// related to shopee.logistics.GetLogistics result.logistics.enabled only affect current item
	Enabled bool `json:"enabled,omitempty"`
	// Only needed when logistics fee_type = CUSTOM_PRICE.
	ShippingFee float64 `json:"shipping_fee,omitempty,string"`
	// If specify logistic fee_type is SIZE_SELECTION size_id is required
	SizeID int64 `json:"size_id,omitempty"`
	// when seller chooses this option, the shipping fee of this channel on item will be set to 0. Default value is False.
	IsFree bool `json:"is_free,omitempty"`
	// Estimated shipping fee calculated by weight. Don't exist if channel is no-integrated.
	EstimatedShippingFee float64 `json:"estimated_shipping_fee,omitempty,string"`
}

type GetItemDetailResponseItemVariation

type GetItemDetailResponseItemVariation struct {
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
	// Name of the variation that belongs to the same item. A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	Name string `json:"name,omitempty"`
	// The current price of the variation in the listing currency.If item is in promotion, this value is discount price.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the variation in the listing currency.
	Stock int `json:"stock,omitempty"`
	// Enumerated type that defines the current status of the variation. Applicable values: MODEL_NORMAL and MODEL_DELETED.
	Status string `json:"status,omitempty"`
	// Timestamp that indicates the date and time that the variation was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of the variation, such as price/stock change.
	UpdateTime int `json:"update_time,omitempty"`
	// The original price of the variation in the listing currency.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// The ID of discount activity the variation is currently in. One variation can only have one discount at a time. discount_id will be 0 if the variation has no discount applied.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Use this field to get the locked stock of variation by promotions.
	ReservedStock int64 `json:"reserved_stock,omitempty"`
	// Use this field to indicate the after-tax price of variation.
	InflatedPrice float64 `json:"inflated_price,omitempty,string"`
	// Use this field to indicate the after-tax original price of variation.
	InflatedOriginalPrice float64 `json:"inflated_original_price,omitempty,string"`
	// The settlement price of SIP item.
	SIPItemPrice float64 `json:"sip_item_price,omitempty,string"`
	// The strategy of creating sip_item_price. auto: automatically created; manual: manually created.
	PriceSource string `json:"price_source,omitempty"`
}

type GetItemDetailResponseItemWholesale

type GetItemDetailResponseItemWholesale struct {
	// The min count of this tier wholesale.
	Min int `json:"min,omitempty"`
	// The max count of this tier wholesale.
	Max int `json:"max,omitempty"`
	// The current price of the wholesale in the listing currency.If item is in promotion, this price is useless.
	UnitPrice float64 `json:"unit_price,omitempty,string"`
}

type GetItemsListRequest

type GetItemsListRequest struct {
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset"`
	// If many items are available to retrieve, you may need to call GetItemsList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries (<= 100) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is usUed to specify the maximum number of entries to return in a single ""page"" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page"`
	// The update_time_from and update_time_to fields specify a date range for retrieving orders (based on the item update time). The update_time_from field is the starting date range. The maximum date range that may be specified with the update_time_from and update_time_to fields is 15 days.
	UpdateTimeFrom int `json:"update_time_from,omitempty"`
	// The update_time_from and update_time_to fields specify a date range for retrieving orders (based on the item update time). The update_time_to field is the ending date range. The maximum date range that may be specified with the update_time_from and update_time_to fields is 15 days.
	UpdateTimeTo int `json:"update_time_to,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// true:return item in all status; false:return items without item deleted by seller; default: false.
	NeedDeletedItem bool `json:"need_deleted_item,omitempty"`
}

type GetItemsListResponse

type GetItemsListResponse struct {
	//
	Items []GetItemsListResponseItem `json:"items,omitempty"`
	// This is to indicate whether the item list is more than one page. If this value is true, you may want to continue to check next page to retrieve the rest of items.
	More bool `json:"more,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	// The total count of items.
	Total int64 `json:"total,omitempty"`
}

type GetItemsListResponseItem

type GetItemsListResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// The latest update time of the item.
	UpdateTime int `json:"update_time,omitempty"`
	// Enumerated type that defines the current status of the item. Applicable values: NORMAL, BANNED and UNLIST.
	Status string `json:"status,omitempty"`
	// An item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// The variation list of item
	Variations []GetItemsListResponseItemVariation `json:"variations,omitempty"`
	// Whether 2-tier variation structure is activated for this item
	Is2TierItem bool `json:"is_2_tier_item,omitempty"`
	// Only for TW seller. List of installments
	Tenures []int `json:"tenures,omitempty"`
}

type GetItemsListResponseItemVariation

type GetItemsListResponseItemVariation struct {
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
}

type GetItemsRequest

type GetItemsRequest struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// If many items are available to retrieve, you may need to call GetItems multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries (<= 1000) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is used to specify the maximum number of entries to return in a single "page" of data. And the default will be 1000 as well.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
}

type GetItemsResponse

type GetItemsResponse struct {
	//
	Items []GetItemsResponseItem `json:"items,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type GetItemsResponseItem

type GetItemsResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
}

type GetLogisticInfoRequest

type GetLogisticInfoRequest struct {
	// The order serial numbers.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetLogisticInfoResponse

type GetLogisticInfoResponse struct {
	// Logistics information for pickup mode order.
	Pickup GetLogisticInfoResponsePickup `json:"pickup,omitempty"`
	// Logistics information for dropoff mode order.
	Dropoff GetLogisticInfoResponseDropoff `json:"dropoff,omitempty"`
	// The parameters required based on each specific order to Init. Must use the fields included under info_needed to call Init.
	InfoNeeded GetLogisticInfoResponseInfo `json:"info_needed,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetLogisticInfoResponseDropoff

type GetLogisticInfoResponseDropoff struct {
	// List of available dropoff branches info.
	BranchList []GetLogisticInfoResponseDropoffBranch `json:"branch_list,omitempty"`
}

type GetLogisticInfoResponseDropoffBranch

type GetLogisticInfoResponseDropoffBranch struct {
	// The identity of branch.
	BranchID int64 `json:"branch_id,omitempty"`
	// The country of specify branch.
	Country string `json:"country,omitempty"`
	// The state of specify branch.
	State string `json:"state,omitempty"`
	// The city of specify branch.
	City string `json:"city,omitempty"`
	// The address description of specify branch.
	Address string `json:"address,omitempty"`
	// The zipcode of specify branch.
	Zipcode string `json:"zipcode,omitempty"`
	// The district of specify branch.
	District string `json:"district,omitempty"`
	// The town of specify branch.
	Town string `json:"town,omitempty"`
}

type GetLogisticInfoResponseInfo

type GetLogisticInfoResponseInfo struct {
	// Logistics information for pickup mode order.
	Pickup []string `json:"pickup,omitempty"`
	// Logistics information for dropoff mode order.
	Dropoff []string `json:"dropoff,omitempty"`
	// The parameters required based on each specific order to Init. Must use the fields included under info_needed to call Init.
	NonIntegrated []string `json:"non_integrated,omitempty"`
}

type GetLogisticInfoResponsePickup

type GetLogisticInfoResponsePickup struct {
	// List of available pickup address info.
	AddressList []GetLogisticInfoResponsePickupAddress `json:"address_list,omitempty"`
}

type GetLogisticInfoResponsePickupAddress

type GetLogisticInfoResponsePickupAddress struct {
	// The identity of address.
	AddressID int64 `json:"address_id,omitempty"`
	// The country of specify branch.
	Country string `json:"country,omitempty"`
	// The state of specify branch.
	State string `json:"state,omitempty"`
	// The city of specify branch.
	City string `json:"city,omitempty"`
	// The address description of specify branch.
	Address string `json:"address,omitempty"`
	// The zipcode of specify branch.
	Zipcode string `json:"zipcode,omitempty"`
	// The district of specify branch.
	District string `json:"district,omitempty"`
	// The town of specify branch.
	Town string `json:"town,omitempty"`
	// List of pickup_time information corresponding to the address_id.
	TimeSlotList []string `json:"time_slot_list,omitempty"`
	// The identity of pickuptime.
	PickupTimeID string `json:"pickup_time_id,omitempty"`
	// The date of pickup time. In timestamp.
	Date int `json:"date,omitempty"`
	// The text description of pickup time. Only applicable for certain channels.
	TimeText string `json:"time_text,omitempty"`
	// The flag of shop address, applicable values: default_address, pickup_address, return_address
	AddressFlag []string `json:"address_flag,omitempty"`
}

type GetLogisticsMessageRequest

type GetLogisticsMessageRequest struct {
	// The order serial numbers.
	OrderSN string `json:"ordersn,omitempty"`
	// The tracking number assigned by the shipping carrier for item shipment. If there are more than one tracking number in one order, this param is necessary.
	TrackingNumber string `json:"tracking_number,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Shopee's unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type GetLogisticsMessageResponse

type GetLogisticsMessageResponse struct {
	// The tracking number assigned by the shipping carrier for item shipment.
	TrackingNumber string `json:"tracking_number,omitempty"`
	//
	TrackingInfo []GetLogisticsMessageResponseInfo `json:"tracking_info,omitempty"`
	// The Shopee logistics status for the order. Applicable values: See Data Definition- LogisticsStatus.
	LogisticStatus string `json:"logisttic_status,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	// The order serial numbers.
	OrderSN string `json:"ordersn,omitempty"`
	// Shopee's unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type GetLogisticsMessageResponseInfo

type GetLogisticsMessageResponseInfo struct {
	// The time when logistics info has been updated.
	CTime int `json:"c_time,omitempty"`
	// The order logistics tracking info.
	Description string `json:"description,omitempty"`
	// The 3PL logistics status for the order. Applicable values: See Data Definition - TrackingLogisticsStatus.
	Status string `json:"status,omitempty"`
}

type GetLogisticsRequest

type GetLogisticsRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetLogisticsResponse

type GetLogisticsResponse struct {
	Logistics []GetLogisticsResponseLogistic `json:"logistics,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetLogisticsResponseLogistic

type GetLogisticsResponseLogistic struct {
	// The identity of logistic channel
	LogisticID int64 `json:"logistic_id,omitempty"`
	// The name of logistic channel
	LogisticName string `json:"logistic_name,omitempty"`
	// This is to indicate whether this logistic channel supports COD
	HasCOD bool `json:"has_cod,omitempty"`
	// Whether this logistic channel is enabled on shop level.
	Enabled bool `json:"enabled,omitempty"`
	// See Define FeeType, related to FeeType Value
	FeeType string `json:"fee_type,omitempty"`
	// Only for fee_type is SIZE_SELECTION
	Sizes []GetLogisticsResponseLogisticSize `json:"sizes,omitempty"`
	// The weight limit for this logistic channel.
	WeightLimits GetLogisticsResponseLogisticLimit `json:"weight_limits,omitempty"`
	// The dimension limit for this logistic channel.
	ItemMaxDimension GetLogisticsResponseLogisticDimension `json:"item_max_dimension,omitempty"`
}

type GetLogisticsResponseLogisticDimension

type GetLogisticsResponseLogisticDimension struct {
	// The max height limit.
	Height float64 `json:"height,omitempty,string"`
	// The max width limit.
	Width float64 `json:"width,omitempty,string"`
	// The max length limit.
	Length float64 `json:"length,omitempty,string"`
	// The unit for the limit.
	Unit string `json:"unit,omitempty"`
}

type GetLogisticsResponseLogisticLimit

type GetLogisticsResponseLogisticLimit struct {
	// The max weight for an item on this logistic channel.If the value is 0 or null, that means there is no limit.
	ItemMaxWeight float64 `json:"item_max_weight,omitempty,string"`
	// The min weight for an item on this logistic channel. If the value is 0 or null, that means there is no limit.
	ItemMinWeight float64 `json:"item_min_weight,omitempty,string"`
}

type GetLogisticsResponseLogisticSize

type GetLogisticsResponseLogisticSize struct {
	// The identity of size.
	SizeID int64 `json:"size_id,omitempty"`
	// The name of size.
	Name int `json:"name,omitempty"`
	// The pre-defined shipping fee for the specific size.
	DefaultPrice int `json:"default_price,omitempty"`
}

type GetOrderDetailsRequest

type GetOrderDetailsRequest struct {
	// The set of ordersn. You can specify up to 50 ordersns in this call.
	OrderSNList []string `json:"ordersn_list,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetOrderDetailsResponse

type GetOrderDetailsResponse struct {
	// The set of orders that match the ordersn or filter criteria specified.
	Orders []GetOrderDetailsResponseOrder `json:"orders,omitempty"`
	// Orders that encountered error
	Errors []string `json:"errors,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetOrderDetailsResponseOrder

type GetOrderDetailsResponseOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The two-digit code representing the country where the order was made.
	Country string `json:"country,omitempty"`
	// The three-digit code representing the currency unit for which the order was paid.
	Currency string `json:"currency,omitempty"`
	// This value indicates whether the order was a COD (cash on delivery) order.
	COD bool `json:"cod,omitempty"`
	// The tracking number assigned by the shipping carrier for item shipment.
	TrackingNo string `json:"tracking_no,omitempty"`
	// Shipping preparation time set by the seller when listing item on Shopee.
	DaysToShip int `json:"days_to_ship,omitempty"`
	// This object contains detailed breakdown for the recipient address.
	RecipientAddress GetOrderDetailsResponseOrderAddress `json:"recipient_address,omitempty"`
	// The estimated shipping fee is an estimation calculated by Shopee based on specific logistics courier's standard.
	EstimatedShippingFee float64 `json:"estimated_shipping_fee,omitempty,string"`
	// The actual shipping cost of the order if available from external logistics partners.
	ActualShippingCost float64 `json:"actual_shipping_cost,omitempty,string"`
	// The total amount paid by the buyer for the order. This amount includes the total sale price of items, shipping cost beared by buyer; and offset by Shopee promotions if applicable. This value will only return after the buyer has completed payment for the order.
	TotalAmount float64 `json:"total_amount,omitempty,string"`
	// The total amount that the seller is expected to receive for the order. This amount includes buyer paid order amount (total_amount), all forms of Shopee platform subsidy; and offset by any cost and commission incurred.
	EscrowAmount float64 `json:"escrow_amount,omitempty,string"`
	// Enumerated type that defines the current status of the order.
	OrderStatus string `json:"order_status,omitempty"`
	// The logistics service provider that the buyer selected for the order to deliver items.
	ShippingCarrier string `json:"shipping_carrier,omitempty"`
	// The payment method that the buyer selected to pay for the order.
	// Applicable values: See Data Definition- Payment Methods.
	PaymentMethod string `json:"payment_method,omitempty"`
	// Only work for cross-border order.This value indicates whether the order contains goods that are required to declare at customs. "T" means true and it will mark as "T" on the shipping label; "F" means false and it will mark as "P" on the shipping label. This value is accurate ONLY AFTER the order trackingNo is generated, please capture this value AFTER your retrieve the trackingNo.
	GoodsToDeclare bool `json:"goods_to_declare,omitempty"`
	// Message to seller.
	MessageToSeller string `json:"message_to_seller,omitempty"`
	// The note seller made for own reference.
	Note string `json:"note,omitempty"`
	// Update time for the note.
	NoteUpdateTime int `json:"note_update_time,omitempty"`
	// Timestamp that indicates the date and time that the order was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of order, such as order status changed from 'Paid' to 'Completed'.
	UpdateTime int `json:"update_time,omitempty"`
	// This object contains the detailed breakdown for the result of this API call.
	Items []GetOrderDetailsResponseOrderItem `json:"items,omitempty"`
	// The time when the order status is updated from UNPAID to PAID. This value is NULL when order is not paid yet.
	PayTime int `json:"pay_time,omitempty"`
	// For Indonesia orders only. The name of the dropshipper.
	Dropshipper string `json:"dropshipper,omitempty"`
	// Last 4 digits of the credit card
	CreditCardNumber string `json:"credit_card_number,omitempty"`
	// The name of buyer
	BuyerUsername string `json:"buyer_username,omitempty"`
	// The phone number of dropshipper
	DropshipperPhone string `json:"dropshipper_phone,omitempty"`
	// The deadline to ship out the parcel.
	ShipByDate int `json:"ship_by_date,omitempty"`
	// To indicate whether this order is split to fullfil order(forder) level. Call GetForderInfo if it's "true".
	IsSplitUp bool `json:"is_split_up,omitempty"`
	// Cancel reason from buyer.
	BuyerCancelReason string `json:"buyer_cancel_reason,omitempty"`
	// Could be one of buyer, seller or system
	CancelBy string `json:"cancel_by,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
	// Use this field to get reason for buyer, seller, and system cancellation.
	CancelReason string `json:"cancel_reason,omitempty"`
	// Cross-border tax imposed by the Indonesian government on sellers.
	EscrowTax float64 `json:"escrow_tax,omitempty,string"`
	// Use this filed to judge whether the actual_shipping_fee is confirmed.
	IsActualShippingFeeConfirmed bool `json:"is_actual_shipping_fee_confirmed,omitempty"`
	// Buyer's CPF number for taxation and invoice purposes. Only for Brazil order.
	BuyerCPFID string `json:"buyer_cpf_id,omitempty"`
	// Use this field to indicate the order is fulfilled by shopee or seller. Applicable values: fulfilled_by_shopee, fulfilled_by_cb_seller, fulfilled_by_local_seller.
	OrderFlag string `json:"order_flag,omitempty"`
	// The last-mile tracking number. Only for Cross Board BR seller.
	LMTN string `json:"lm_tn,omitempty"`
}

type GetOrderDetailsResponseOrderAddress

type GetOrderDetailsResponseOrderAddress struct {
	// Recipient's name for the address.
	Name string `json:"name,omitempty"`
	// Recipient's phone number input when order was placed.
	Phone string `json:"phone,omitempty"`
	// The town of the recipient's address. Whether there is a town will depend on the region and/or country.
	Town string `json:"town,omitempty"`
	// The district of the recipient's address. Whether there is a town will depend on the region and/or country.
	District string `json:"district,omitempty"`
	// The city of the recipient's address. Whether there is a town will depend on the region and/or country.
	City string `json:"city,omitempty"`
	// The state/province of the recipient's address. Whether there is a town will depend on the region and/or country.
	State string `json:"state,omitempty"`
	// The two-digit code representing the country of the Recipient.
	Country string `json:"country,omitempty"`
	// Recipient's postal code.
	Zipcode string `json:"zipcode,omitempty"`
	// The full address of the recipient, including country, state, even street, and etc.
	FullAddress string `json:"full_address,omitempty"`
}

type GetOrderDetailsResponseOrderItem

type GetOrderDetailsResponseOrderItem struct {
	// ID of item
	ItemID int64 `json:"item_id,omitempty"`
	// Name of item
	ItemName string `json:"item_name,omitempty"`
	// A item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// ID of the variation that belongs to the same item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Name of the variation that belongs to the same item.
	// A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	VariationName string `json:"variation_name,omitempty"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
	// The number of identical items purchased at the same time by the same buyer from one listing/item.
	VariationQuantityPurchased int `json:"variation_quantity_purchased,omitempty"`
	// The original price of the item in the listing currency.
	VariationOriginalPrice float64 `json:"variation_original_price,omitempty,string"`
	// The after-discount price of the item in the listing currency. If there is no discount, this value will be same as that of variation_original_price.
	// In case of bundle deal item, this value will return 0 as by design bundle deal discount will not be breakdown to item/variation level. Due to technical restriction, the value will return the price before bundle deal if we don't configure it to 0. Please call GetEscrowDetails if you want to calculate item-level discounted price for bundle deal item.
	VariationDiscountedPrice float64 `json:"variation_discounted_price,omitempty,string"`
	// This value indicates whether buyer buy the order item in wholesale price.
	IsWholesale bool `json:"is_wholesale,omitempty"`
	// The weight of the item
	Weight float64 `json:"weight,omitempty,string"`
	// To indicate if this item belongs to an addon deal.
	IsAddOnDeal bool `json:"is_add_on_deal,omitempty"`
	// To indicate if this item is main item or sub item. True means main item, false means sub item.
	IsMainItem bool `json:"is_main_item,omitempty"`
	// The unique identity of an addon deal.
	AddOnDealID int64 `json:"add_on_deal_id,omitempty"`
	// The type of the promotion,
	PromotionType string `json:"promotion_type,omitempty"`
	// The ID of the promotion.
	PromotionID int64 `json:"promotion_id,omitempty"`
}

type GetOrderLogisticsRequest

type GetOrderLogisticsRequest struct {
	// The order serial numbers. Make sure the order has trackingNo generated before calling this API.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Shopee's unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type GetOrderLogisticsResponse

type GetOrderLogisticsResponse struct {
	// The logistics of order.
	Logistics []GetOrderLogisticsResponseLogistic `json:"logistics,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetOrderLogisticsResponseLogistic

type GetOrderLogisticsResponseLogistic struct {
	// The logistics service provider that the buyer selected for the order to deliver items.
	ShippingCarrier string `json:"shipping_carrier,omitempty"`
	// The identity of logistic channel.
	LogisticID int64 `json:"logistic_id,omitempty"`
	// Only work for cross-border order. This code is required at some sorting hub. Please ensure the service_code is INCLUDED on your shipping label, otherwise the parcel cannot be processed by the warehouse. If you didn't retrieve service_code after you first called this API, please try few more times within 30 minutes.
	ServiceCode string `json:"service_code,omitempty"`
	// Only work for cross-border order.The name of the carrier ships cross countries.
	FirstMileName string `json:"first_mile_name,omitempty"`
	// Only work for cross-border order.The name of the carrier delivers the parcels in local country.
	LastMileName string `json:"last_mile_name,omitempty"`
	// Only work for cross-border order.This value indicates whether the order contains goods that are required to declare at customs. "T" means true and it will mark as "T" on the shipping label; "F" means false and it will mark as "P" on the shipping label. This value is accurate ONLY AFTER the order trackingNo is generated, please capture this value AFTER your retrieve the trackingNo.
	GoodsToDeclare bool `json:"goods_to_declare,omitempty"`
	// The tracking number assigned by the shipping carrier for item shipment.
	TrackingNo string `json:"tracking_no,omitempty"`
	//
	Zone string `json:"zone,omitempty"`
	// Only work for cross-border order. The string use for waybill printing. The format is "S - country_code and lane_number". For example, S-TH01, S-TH02
	LaneCode string `json:"lane_code,omitempty"`
	// Only work for cross-border order in some special shop. The address info of the warehouse.
	WarehouseAddress string `json:"warehouse_address,omitempty"`
	// Only work for cross-border order in some special shop. The ID of the warehouse.
	WarehouseID int64 `json:"warehouse_id,omitempty"`
	// This object contains detailed breakdown for the recipient address.
	RecipientAddress GetOrderLogisticsResponseLogisticRecipientAddress `json:"recipient_address,omitempty"`
	// This value indicates whether the order was a COD (cash on delivery) order.
	COD bool `json:"cod,omitempty"`
	// The sort_code of recipient.
	RecipientSortCode GetOrderLogisticsResponseLogisticRecipientSortCode `json:"recipient_sort_code,omitempty"`
	// The sort_code of sender.
	SenderSortCode GetOrderLogisticsResponseLogisticSenderSortCode `json:"sender_sort_code,omitempty"`
	// Only used for local TW sellers.
	ThirdPartyLogisticInfo GetOrderLogisticsResponseLogisticThirdPartyLogisticInfo `json:"third_party_logistic_info,omitempty"`
	// Buyer's CPF number for taxation and invoice purposes. Only for Brazil order.
	BuyerCPFID string `json:"buyer_cpf_id,omitempty"`
	// First mile tracking NO. for CrossBoard BR seller can be used to self-design CB Brazil AWB.
	ShopeeTrackingNo string `json:"shopee_tracking_no,omitempty"`
	// The last-mile tracking number. Only for Cross Board BR seller.
	LMTN string `json:"lm_tn,omitempty"`
}

type GetOrderLogisticsResponseLogisticRecipientAddress

type GetOrderLogisticsResponseLogisticRecipientAddress struct {
	// Recipient's name for the address.
	Name string `json:"name,omitempty"`
	// Recipient's phone number input when order was placed.
	Phone string `json:"phone,omitempty"`
	// The town of the recipient's address. Whether there is a town will depend on the region and/or country.
	Town string `json:"town,omitempty"`
	// The district of the recipient's address. Whether there is a town will depend on the region and/or country.
	District string `json:"district,omitempty"`
	// The city of the recipient's address. Whether there is a town will depend on the region and/or country.
	City string `json:"city,omitempty"`
	// The state/province of the recipient's address. Whether there is a town will depend on the region and/or country.
	State string `json:"state,omitempty"`
	// The two-digit code representing the country of the Recipient.
	Country string `json:"country,omitempty"`
	// Recipient's postal code.
	Zipcode string `json:"zipcode,omitempty"`
	// The full address of the recipient, including country, state, even street, and etc.
	FullAddress string `json:"full_address,omitempty"`
}

type GetOrderLogisticsResponseLogisticRecipientSortCode

type GetOrderLogisticsResponseLogisticRecipientSortCode struct {
	// The first-level sort_code of recipient.
	FirstRecipientSortCode string `json:"first_recipient_sort_code,omitempty"`
	// The second-level sort_code of recipient.
	SecondRecipientSortCode string `json:"second_recipient_sort_code,omitempty"`
	// The third-level sort_code of recipient.
	ThirdRecipientSortCode string `json:"third_recipient_sort_code,omitempty"`
}

type GetOrderLogisticsResponseLogisticSenderSortCode

type GetOrderLogisticsResponseLogisticSenderSortCode struct {
	// The first-level sort_code of sender.
	FirstSenderSortCode string `json:"first_sender_sort_code,omitempty"`
	// The second-level sort_code of sender.
	SecondSenderSortCode string `json:"second_sender_sort_code,omitempty"`
	// The third-level sort_code of sender.
	ThirdSenderSortCode string `json:"third_sender_sort_code,omitempty"`
}

type GetOrderLogisticsResponseLogisticThirdPartyLogisticInfo

type GetOrderLogisticsResponseLogisticThirdPartyLogisticInfo struct {
	// Use this field to indicate the order category.
	ServiceDescription string `json:"service_description,omitempty"`
	// The manufacturer barcode.
	Barcode string `json:"barcode,omitempty"`
	// The purchase_time of the store.
	PurchaseTime string `json:"purchase_time,omitempty"`
	// The return_time of the store.
	ReturnTime string `json:"return_time,omitempty"`
	// The name of manufacturers.
	ManufacturesName string `json:"manufacturers_name,omitempty"`
	// The website of manufacturers.
	ManufacturesWebsite string `json:"manufacturers_website,omitempty"`
	// The identification of recipient area.
	RecipientArea string `json:"recipient_area,omitempty"`
	// The route code of the waybill.
	RouteStep string `json:"route_step,omitempty"`
	// The tally code of the waybill.
	Suda5Code string `json:"suda5_code,omitempty"`
	// The code of large logistics.
	LargeLogisticsID string `json:"large_logistics_id,omitempty"`
	// The parent code of the waybill.
	ParentID string `json:"parent_id,omitempty"`
	// Use this field to indicate the return cycle.
	ReturnCycle string `json:"return_cycle,omitempty"`
	// Use this field to indicate the return mode.
	ReturnMode string `json:"return_mode,omitempty"`
	// The reminder of stork work.
	Prompt string `json:"prompt,omitempty"`
	// Shopee's unique identifier for an order.
	OrderNo string `json:"order_no,omitempty"`
	// The QR code of the waybill.
	QRCode string `json:"qrcode,omitempty"`
	// The supplier name of channel.
	ECSupplierName string `json:"ec_supplier_name,omitempty"`
	// Use this field to indicate the first barcode.
	ECBarCode16 string `json:"ec_bar_code16,omitempty"`
	// The device code.
	EquipmentID string `json:"equipment_id,omitempty"`
	// The child code for B2C Family-mart.
	EShopID string `json:"eshop_id,omitempty"`
	// Use this field to indicate the pick barcode.
	ECBarCode9 string `json:"ec_bar_code9,omitempty"`
}

type GetOrdersByStatusRequest

type GetOrdersByStatusRequest struct {
	// The order_status filter for retriveing orders. Available value: ALL/UNPAID/READY_TO_SHIP/COMPLETED/IN_CANCEL/CANCELLED/TO_RETURN
	OrderStatus string `json:"order_status,omitempty"`
	// The create_time_from and create_time_to fields specify a date range for retrieving orders (based on the order create time). The create_time_from field is the starting date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days. Must include only create_time or update_time in the request.
	CreateTimeFrom int `json:"create_time_from,omitempty"`
	// The create_time_from and create_time_to fields specify a date range for retrieving orders (based on the order create time). The create_time_to field is the ending date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days. Must include only create_time or update_time in the request.
	CreateTimeTo int `json:"create_time_to,omitempty"`
	// If many orders are available to retrieve, you may need to call GetOrdersList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries to retrieve per page (i.e., per call), the offset number to start next call.
	// This integer value is used to specify the maximum number of entries to return in a single "page" of data. Max entries per page is 100.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetOrdersByStatusResponse

type GetOrdersByStatusResponse struct {
	// The set of orders that match the ordersn or filter criteria specified.
	Orders []GetOrdersByStatusResponseOrder `json:"orders,omitempty"`
	// This is to indicate whether the order list is more than one page. If this value is true, you may want to continue to check next page to retrieve orders.
	More bool `json:"more,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetOrdersByStatusResponseOrder

type GetOrdersByStatusResponseOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Enumerated type that defines the current status of the order. Applicable values: See Data Definition- OrderStatus.
	OrderStatus string `json:"order_status,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of order, such as order status changed from 'Paid' to 'Completed'.
	UpdateTime int `json:"update_time,omitempty"`
}

type GetOrdersListRequest

type GetOrdersListRequest struct {
	// The create_time_from and create_time_to fields specify a date range for retrieving orders (based on the order create time). The create_time_from field is the starting date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days. Must include only create_time or update_time in the request.
	CreateTimeFrom int `json:"create_time_from,omitempty"`
	// The create_time_from and create_time_to fields specify a date range for retrieving orders (based on the order create time). The create_time_to field is the ending date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days. Must include only create_time or update_time in the request.
	CreateTimeTo int `json:"create_time_to,omitempty"`
	// The update_time_from and update_time_to fields specify a date range for retrieving orders (based on the order update time). The update_time_from field is the starting date range. The maximum date range that may be specified with the update_time_from and update_time_to fields is 15 days. Must include only create_time or update_time in the request.
	UpdateTimeFrom int `json:"update_time_from,omitempty"`
	// The update_time_from and update_time_to fields specify a date range for retrieving orders (based on the order update time). The update_time_to field is the ending date range. The maximum date range that may be specified with the update_time_from and update_time_to fields is 15 days. Must include only create_time or update_time in the request.
	UpdateTimeTo int `json:"update_time_to,omitempty"`
	// If many orders are available to retrieve, you may need to call GetOrdersList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries to retrieve per page (i.e., per call), the offset number to start next call.
	// This integer value is used to specify the maximum number of entries to return in a single "page" of data. Max entries per page is 100.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetOrdersListResponse

type GetOrdersListResponse struct {
	// The set of orders that match the ordersn or filter criteria specified.
	Orders []GetOrdersListResponseOrder `json:"orders,omitempty"`
	// This is to indicate whether the order list is more than one page. If this value is true, you may want to continue to check next page to retrieve orders.
	More bool `json:"more,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetOrdersListResponseOrder

type GetOrdersListResponseOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Enumerated type that defines the current status of the order. Applicable values: See Data Definition- OrderStatus.
	OrderStatus string `json:"order_status,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of order, such as order status changed from 'Paid' to 'Completed'.
	UpdateTime int `json:"update_time,omitempty"`
}

type GetParameterForInitRequest

type GetParameterForInitRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The serial numbers of the order needs to be initiated logistic.
	OrderSN string `json:"ordersn,omitempty"`
}

type GetParameterForInitResponse

type GetParameterForInitResponse struct {
	// Could contain 'address_id', 'pickup_time_id'. If it contains 'address_id', should call shopee.logistics.GetAddress to get address list, then choose one of the address to init logistic. If it contains pickup_time_id, should call shopee.logistics.GetTimeSlot to get timeslot list, then choose one of the time to init logistic. If it has empty value, developer should still include "pickup" field in Init API.
	Pickup []string `json:"pickup,omitempty"`
	// Could contain 'branch_id', 'sender_real_name' or 'tracking_no'. If it contains 'branch_id', should call shopee.logistics.GetBranch to get branch list. If it contains 'sender_real_name' or 'tracking_no', should manually input these values in Init API. If it has empty value, developer should still include "dropoff" field in Init API.
	Dropoff []string `json:"dropoff,omitempty"`
	// Could contain 'tracking_no'. If it contains 'tracking_no', should manually input these values in Init API. If it has empty value, developer should still include "non-integrated" field in Init API.
	NonIntegrated []string `json:"non_integrated_[],omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetPaymentListRequest

type GetPaymentListRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// ID/MY/SG/VN/PH/TH/TW
	Country string `json:"country,omitempty"`
}

type GetPaymentListResponse

type GetPaymentListResponse struct {
	//
	PaymentMethodList []GetPaymentListResponseMethod `json:"payment_method_list,omitempty"`
}

type GetPaymentListResponseMethod

type GetPaymentListResponseMethod struct {
	// The payment method
	PaymentMethod string `json:"payment_method,omitempty"`
	// The country for this payment method
	Country string `json:"country,omitempty"`
}

type GetPromotionInfoRequest

type GetPromotionInfoRequest struct {
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// The list of item_id. Up to 50 item_ids in one call.
	ItemIDList []int64 `json:"item_id_list,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetPromotionInfoResponse

type GetPromotionInfoResponse struct {
	// The set of item's promotion list.
	Items []GetPromotionInfoResponseItem `json:"items,omitempty"`
	// The identifier of the API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type GetPromotionInfoResponseItem

type GetPromotionInfoResponseItem struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// Promotion information list.
	Promotions []GetPromotionInfoResponseItemPromotion `json:"promotions,omitempty"`
	// The list of error items.
	Errors []GetPromotionInfoResponseItemError `json:"errors,omitempty"`
}

type GetPromotionInfoResponseItemError

type GetPromotionInfoResponseItemError struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// Error Message.
	ErrorMsg string `json:"error_msg,omitempty"`
}

type GetPromotionInfoResponseItemPromotion

type GetPromotionInfoResponseItemPromotion struct {
	//
	PromotionType string `json:"promotion_type,omitempty"`
	// The ID of promotion.
	PromotionID int64 `json:"promotion_id,omitempty"`
	// ID of the variation that belongs to the same item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Start timestamp of promotion.
	StartTime int `json:"start_time,omitempty"`
	// End timestamp of promotion.
	EndTime int `json:"end_time,omitempty"`
	// The promotion price of item.
	PromotionPrice float64 `json:"promotion_price,omitempty,string"`
	// The Locked stock of item by promotion.
	ReservedStock int `json:"reserved_stock,omitempty"`
	// The sold out timestamp of promotion stock.
	StockoutTime int `json:"stockout_time,omitempty"`
	// The stage at which the promotion goes. Available values: ongoing/upcoming.
	Staging string `json:"staging,omitempty"`
}

type GetPushConfigRequest

type GetPushConfigRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetPushConfigResponse

type GetPushConfigResponse struct {
	// The callback url of push mechanism.
	CallbackURL string `json:"callback_url,omitempty"`
	// The shutdown time caused by low successful rate of push mechanism.
	ShutTime int64 `json:"shut_time,omitempty"`
	//
	DeatiledConfig GetPushConfigResponseDeatiledConfig `json:"detailed_config,omitempty"`
	// Use this filed to set shops that need to be blocked.
	BlockedShopID []int64 `json:"blocked_shopid,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetPushConfigResponseDeatiledConfig

type GetPushConfigResponseDeatiledConfig struct {
	// 0 stands for off and 1 stands for on.
	OrderStatus int `json:"order_status,omitempty"`
	// 0 stands for off and 1 stands for on.
	OrderTrackingNo int `json:"order_trackingno,omitempty"`
	// 0 stands for off and 1 stands for on.
	ShopUpdate int `json:"shop_update,omitempty"`
	// 0 stands for off and 1 stands for on.
	BannedItem int `json:"banned_item,omitempty"`
	// 0 stands for off and 1 stands for on.
	ItemPromotion int `json:"item_promotion,omitempty"`
	// 0 stands for off and 1 stands for on.
	ReservedStockChange int `json:"reserved_stock_change,omitempty"`
}

type GetRecommendCatsRequest

type GetRecommendCatsRequest struct {
	// The title of a particular item, used to get recommended category ids.
	Name string `json:"name,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetRecommendCatsResponse

type GetRecommendCatsResponse struct {
	// List of recommended category ids.
	CategoryIDs []string `json:"category_i_ds,omitempty"`
	// The identifier of the API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type GetReturnDetailRequest

type GetReturnDetailRequest struct {
	// The serial number of return.
	ReturnSN int `json:"return_sn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetReturnDetailResponse

type GetReturnDetailResponse struct {
	// Image URLs of return.
	Images []string `json:"images,omitempty"`
	// Reason for return product. Applicable values: See Data Definition- ReturnReason.
	Reason string `json:"reason,omitempty"`
	// Reason that buyer provide.
	TextReason string `json:"text_reason,omitempty"`
	// The serial number of return.
	ReturnSN int `json:"return_sn,omitempty"`
	// Amount of the refund.
	RefundAmount float64 `json:"refund_amount,omitempty,string"`
	// Currency of the return.
	Currency string `json:"currency,omitempty"`
	// The time of return create.
	CreateTime int `json:"create_time,omitempty"`
	// The time of modify return.
	UpdateTime int `json:"update_time,omitempty"`
	// Enumerated type that defines the current status of the return. Applicable values: See Data Definition- ReturnStatus.
	Status string `json:"status,omitempty"`
	// The last time seller deal with this return.
	DueDate int `json:"due_date,omitempty"`
	// The tracking number assigned by the shipping carrier for item shipment.
	TrackingNumber string `json:"tracking_number,omitempty"`
	// The reason of seller dispute return. While the return has been disputed, this field is useful. Applicable values: See Data Definition- ReturnDisputeReason.
	DisputeReason string `json:"dispute_reason,omitempty"`
	// The reason that seller provide. While the return has been disputed, this field is useful.
	DisputeTextReason string `json:"dispute_text_reason,omitempty"`
	// Items to be sent back to seller. Can be either integrated/non-integrated.
	NeedsLogistics bool `json:"needs_logistics,omitempty"`
	// Order price before discount.
	AmountBeforeDiscount float64 `json:"amount_before_discount,omitempty,string"`
	//
	User GetReturnDetailResponseUser `json:"user,omitempty"`
	//
	Item []GetReturnDetailResponseItem `json:"item,omitempty"`
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetReturnDetailResponseItem

type GetReturnDetailResponseItem struct {
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Name of item in local language.
	Name string `json:"name,omitempty"`
	// Image URLs of item.
	Images []string `json:"images,omitempty"`
	// Amount of this item.
	Amount int `json:"amount,omitempty"`
	// The price of item.
	ItemPrice float64 `json:"item_price,omitempty,string"`
	// To indicate if this item belongs to an addon deal.
	IsAddOnDeal bool `json:"is_add_on_deal,omitempty"`
	// To indicate if this item is main item or sub item. True means main item, false means sub item.
	IsMainItem bool `json:"is_main_item,omitempty"`
	// The unique identity of an addon deal.
	AddOnDealID int64 `json:"add_on_deal_id,omitempty"`
}

type GetReturnDetailResponseUser

type GetReturnDetailResponseUser struct {
	// Buyer's nickname.
	Username int `json:"username,omitempty"`
	// Buyer's email.
	Email string `json:"email,omitempty"`
	// Buyer's portrait.
	Portrait string `json:"portrait,omitempty"`
}

type GetReturnListRequest

type GetReturnListRequest struct {
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// If many items are available to retrieve, you may need to call GetReturnList multiple times to retrieve all the data. Each result set is returned as a page of entries. Default is 40. Use the Pagination filters to control the maximum number of entries (<= 100) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is usUed to specify the maximum number of entries to return in a single ""page"" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// The create_time_from and create_time_to fields specify a date range for retrieving orders (based on the order create time). The create_time_from field is the starting date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days.
	CreateTimeFrom int `json:"create_time_from,omitempty"`
	// The create_time_from and create_time_to fields specify a date range for retrieving orders (based on the order create time). The create_time_from field is the starting date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days.
	CreateTimeTo int `json:"create_time_to,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetReturnListResponse

type GetReturnListResponse struct {
	Returns []GetReturnListResponseReturn `json:"returns,omitempty"`
	// This is to indicate whether the item list is more than one page. If this value is true, you may want to continue to check next page to retrieve the rest of items.
	More bool `json:"more,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetReturnListResponseReturn

type GetReturnListResponseReturn struct {
	// Image URLs of return.
	Images []string `json:"images,omitempty"`
	// Reason for return product. Applicable values: See Data Definition- ReturnReason.
	Reason string `json:"reason,omitempty"`
	// Reason that buyer provide.
	TextReason string `json:"text_reason,omitempty"`
	// The serial number of return.
	ReturnSN int `json:"return_sn,omitempty"`
	// Amount of the refund.
	RefundAmount float64 `json:"refund_amount,omitempty,string"`
	// Currency of the return.
	Currency string `json:"currency,omitempty"`
	// The time of return create.
	CreateTime int `json:"create_time,omitempty"`
	// The time of modify return.
	UpdateTime int `json:"update_time,omitempty"`
	// Enumerated type that defines the current status of the return. Applicable values: See Data Definition- ReturnStatus.
	Status string `json:"status,omitempty"`
	// The last time seller deal with this return.
	DueDate int `json:"due_date,omitempty"`
	// The tracking number assigned by the shipping carrier for item shipment.
	TrackingNumber string `json:"tracking_number,omitempty"`
	// The reason of seller dispute return. While the return has been disputed, this field is useful. Applicable values: See Data Definition- ReturnDisputeReason.
	DisputeReason string `json:"dispute_reason,omitempty"`
	// The reason that seller provide. While the return has been disputed, this field is useful.
	DisputeTextReason string `json:"dispute_text_reason,omitempty"`
	// Items to be sent back to seller. Can be either integrated/non-integrated.
	NeedsLogistics bool `json:"needs_logistics,omitempty"`
	// Order price before discount.
	AmountBeforeDiscount float64 `json:"amount_before_discount,omitempty,string"`
	//
	User GetReturnListResponseReturnUser `json:"user,omitempty"`
	//
	Item []GetReturnListResponseReturnItem `json:"item,omitempty"`
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
}

type GetReturnListResponseReturnItem

type GetReturnListResponseReturnItem struct {
	// Item id.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Name of item in local language.
	Name string `json:"name,omitempty"`
	// Image URLs of item.
	Images []string `json:"images,omitempty"`
	// Amount of this item.
	Amount int `json:"amount,omitempty"`
	// The price of Item.
	ItemPrice float64 `json:"item_price,omitempty,string"`
	// To indicate if this item belongs to an addon deal.
	IsAddOnDeal bool `json:"is_add_on_deal,omitempty"`
	// To indicate if this item is main item or sub item. True means main item, false means sub item.
	IsMainItem bool `json:"is_main_item,omitempty"`
	// The unique identity of an addon deal.
	AddOnDealID int64 `json:"add_on_deal_id,omitempty"`
}

type GetReturnListResponseReturnUser

type GetReturnListResponseReturnUser struct {
	// Buyer's nickname.
	Username int `json:"username,omitempty"`
	// Buyer's email.
	Email string `json:"email,omitempty"`
	// Buyer's portrait.
	Protrait string `json:"protrait,omitempty"`
}

type GetShopCategoriesRequest

type GetShopCategoriesRequest struct {
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// If many items are available to retrieve, you may need to call GetItemsList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries (<= 100) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is usUed to specify the maximum number of entries to return in a single ""page"" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetShopCategoriesResponse

type GetShopCategoriesResponse struct {
	//
	ShopCategorys []GetShopCategoriesResponseCategory `json:"shop_categorys,omitempty"`
	// This is to indicate whether the shop categorys list is more than one page. If this value is true, you may want to continue to check next page to retrieve the rest of shop categorys.
	More bool `json:"more,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetShopCategoriesResponseCategory

type GetShopCategoriesResponseCategory struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// ShopCategory's status. Applicable values: NORMAL, INACTIVE, DELETED.
	Status string `json:"status,omitempty"`
	// ShopCategory's name.
	Name string `json:"name,omitempty"`
	// ShopCategory's sort weight.
	SortWeight int `json:"sort_weight,omitempty"`
}

type GetShopFMTrackingNoRequest

type GetShopFMTrackingNoRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The start time of declare_date.
	FromDate string `json:"from_date,omitempty"`
	// The end time of declare_date
	ToDate string `json:"to_date,omitempty"`
	// If a lot of first-mile tracking numbers are available to retrieve, you may need to call GetUnbindOrderList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries to retrieve per page (i.e., per call), the offset number to start next call. This integer value is used to specify the maximum number of entries to return in a single "page" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
}

type GetShopFMTrackingNoResponse

type GetShopFMTrackingNoResponse struct {
	// This is to indicate whether the order list is more than one page. If this value is true, you may want to continue to check next page to retrieve orders.
	HasMore bool `json:"has_more,omitempty"`
	//
	FMTNList []GetShopFMTrackingNoResponseFMTNList `json:"fmtn_list,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetShopFMTrackingNoResponseFMTNList

type GetShopFMTrackingNoResponseFMTNList struct {
	// The specified delivery date.
	DeclareDate string `json:"declare_date,omitempty"`
	// The logistics status for bound orders.
	Status string `json:"status,omitempty"`
	// The first-mile tracking number.
	FMTN string `json:"fm_tn,omitempty"`
}

type GetShopFirstMileChannelRequest

type GetShopFirstMileChannelRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Use this field to specify the region you want to ship parcel.
	Area string `json:"area,omitempty"`
}

type GetShopFirstMileChannelResponse

type GetShopFirstMileChannelResponse struct {
	//
	Logistics []GetShopFirstMileChannelResponseLogistic `json:"logistics,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetShopFirstMileChannelResponseLogistic

type GetShopFirstMileChannelResponseLogistic struct {
	// The identity of logistic channel.
	LogisticID int64 `json:"logistic_id,omitempty"`
	// The name of logistic.
	LogisticName string `json:"logistic_name,omitempty"`
	// The shipment method for bound orders, should be pickup or dropoff.
	ShipmentMethod string `json:"shipment_method,omitempty"`
}

type GetShopInfoRequest

type GetShopInfoRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetShopInfoResponse

type GetShopInfoResponse struct {
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// Name of the shop.
	ShopName string `json:"shop_name,omitempty"`
	// The two-digit code representing the country where the order was made.
	Country string `json:"country,omitempty"`
	// Description of the shop.
	ShopDescription string `json:"shop_description,omitempty"`
	// List of videos URLs of the shop.
	Videos []string `json:"videos,omitempty"`
	// List of images URLs of the shop.
	Images []string `json:"images,omitempty"`
	// Allow negotiations or not, 1: don't allow, 0: allow.
	DisableMakeOffer int `json:"disable_make_offer,omitempty"`
	// Display pickup address or not.
	EnableDisplayUnitNo bool `json:"enable_display_unit_no,omitempty"`
	// Listing limitation of items for the shop.
	ItemLimit int `json:"item_limit,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	// Applicable status: BANNED, FROZEN, NORMAL
	Status string `json:"status,omitempty"`
	// Only for TW seller. The status of whether shop support installment: 1 means true and 0 means false
	InstallmentStatus int `json:"installment_status,omitempty"`
	// SIP affiliate shops info list
	SIPAShops []GetShopInfoResponseShop `json:"sip_a_shops,omitempty"`
	// Use this filed to indicate whether the shop is a cross-border shop.
	IsCB bool `json:"is_cb,omitempty"`
	// The days-to-ship value for non-pre orders.
	NonPreOrderDTS int64 `json:"non_pre_order_dts,omitempty"`
	// The timestamp when the shop was authorized to the partner.
	AuthTime int64 `json:"auth_time,omitempty"`
	// Use this field to indicate the expiration date for shop authorization.
	ExpireTime int64 `json:"expire_time,omitempty"`
}

type GetShopInfoResponseShop

type GetShopInfoResponseShop struct {
	// Affiliate shop's id.
	AShopID string `json:"a_shopid,omitempty"`
	// Affiliate Shop's area.
	Country string `json:"country,omitempty"`
}

type GetShopsByPartnerRequest

type GetShopsByPartnerRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetShopsByPartnerResponse

type GetShopsByPartnerResponse struct {
	// A list of shops authorized to the partner.
	AuthedShops []GetShopsByPartnerResponseShop `json:"authed_shops,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetShopsByPartnerResponseShop

type GetShopsByPartnerResponseShop struct {
	// The two-digit code representing the country where the order was made.
	Country string `json:"country,omitempty"`
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// The timestamp when the shop was authorized to the partner.
	AuthTime int `json:"auth_time,omitempty"`
	// SIP affiliate shops info list
	SIPAShops []GetShopsByPartnerResponseShopSIP `json:"sip_a_shops,omitempty"`
	// Use this field to indicate the expiration date for shop authorization.
	ExpireTime int `json:"expire_time,omitempty"`
}

type GetShopsByPartnerResponseShopSIP

type GetShopsByPartnerResponseShopSIP struct {
	// Affiliate Shop's area
	Country string `json:"country,omitempty"`
	// Affiliate shop's id
	AShopID int64 `json:"a_shopid,omitempty"`
}

type GetTimeSlotRequest

type GetTimeSlotRequest struct {
	// The order serial numbers.
	OrderSN string `json:"ordersn,omitempty"`
	// The identify of address.
	AddressID int64 `json:"address_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetTimeSlotResponse

type GetTimeSlotResponse struct {
	//
	PickupTime []GetTimeSlotResponseTime `json:"pickup_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetTimeSlotResponseTime

type GetTimeSlotResponseTime struct {
	// The identity of pickuptime.
	PickupTimeID string `json:"pickup_time_id,omitempty"`
	// The date of pickup time. In timestamp.
	Date int `json:"date,omitempty"`
	// The text description of pickup time. Only applicable for certain channels.
	TimeText string `json:"time_text,omitempty"`
}

type GetTopPicksListRequest

type GetTopPicksListRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetTopPicksListResponse

type GetTopPicksListResponse struct {
	// Collection list
	Collections []GetTopPicksListResponseCollection `json:"collections,omitempty"`
}

type GetTopPicksListResponseCollection

type GetTopPicksListResponseCollection struct {
	// Collection name
	Name string `json:"name,omitempty"`
	// Collection ID
	TopPicksID int64 `json:"top_picks_id,omitempty"`
	// True or False
	IsActivated bool `json:"is_activated,omitempty"`
	// Item list of the collection
	Items []GetTopPicksListResponseCollectionItem `json:"items,omitempty"`
}

type GetTopPicksListResponseCollectionItem

type GetTopPicksListResponseCollectionItem struct {
	// Item ID
	ItemID int64 `json:"item_id,omitempty"`
	// Item name
	ItemName string `json:"item_name,omitempty"`
	// Item discounted price(original price if no discount). Item level price will return if it has variation.
	ItemPrice float64 `json:"item_price,omitempty,string"`
	// The sales of the item
	Sales int `json:"sales,omitempty"`
}

type GetTransactionListRequest

type GetTransactionListRequest struct {
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int64 `json:"pagination_offset,omitempty"`
	// If many transactions are available to retrieve, you may need to call GetTransactionList multiple times to retrieve all the data. Each result set is returned as a page of entries. Default is 40. Use the Pagination filters to control the maximum number of entries (<= 100) to retrieve per page (i.e., per call), the offset number to start next call. This integer value is usUed to specify the maximum number of entries to return in a single ""page"" of data.
	PaginationEntriesPerPage int64 `json:"pagination_entries_per_page,omitempty"`
	// The create_time_from field is the starting date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days.
	CreateTimeFrom int64 `json:"create_time_from,omitempty"`
	// The create_time_to field is the ending date range. The maximum date range that may be specified with the create_time_from and create_time_to fields is 15 days.
	CreateTimeTo int64 `json:"create_time_to,omitempty"`
	// This field indicates the wallet type.
	WalletType string `json:"wallet_type,omitempty"`
	// This field indicates the transaction type.
	TransactionType string `json:"transaction_type,omitempty"`
}

type GetTransactionListResponse

type GetTransactionListResponse struct {
	// This is to indicate whether the transaction list is more than one page. If this value is true, you may want to continue to check next page to retrieve orders.
	HasMore bool `json:"has_more,omitempty"`
	//
	TransactionList []GetTransactionListResponseTransactionList `json:"transaction_list,omitempty"`
}

type GetTransactionListResponseTransactionList

type GetTransactionListResponseTransactionList struct {
	// The ID of transaction.
	TransactionID int64 `json:"transaction_id,omitempty"`
	// The status of the transaction,available values: FAILED,COMPLETED,PENDING,INITIAL.
	Status string `json:"status,omitempty"`
	// The type of wallet, available values: shopee pay, jko pay.
	WalletType string `json:"wallet_type,omitempty"`
	// The type of transaction.
	TransactionType string `json:"transaction_type,omitempty"`
	// The amount of transaction.
	Amount float64 `json:"amount,omitempty,string"`
	// The current balance of this account.
	CurrentBalance float64 `json:"current_balance,omitempty,string"`
	// The create time of the transaction.
	CreateTime int `json:"create_time,omitempty"`
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The serial number of return.
	RefundSN string `json:"refund_sn,omitempty"`
	// The type of withdrawal.
	WithdrawalType string `json:"withdrawal_type,omitempty"`
	// This field indicates the transaction fee.
	TransactionFee float64 `json:"transaction_fee,omitempty,string"`
	// The detailed description of TOPUP SUCCESS and TOPUP FAILED.
	Description string `json:"description,omitempty"`
	// The name of buyer.
	BuyerName string `json:"buyer_name,omitempty"`
	// List of ordersn included in the transaction.
	PayOrderList GetTransactionListResponseTransactionListPayOrderList `json:"pay_order_list,omitempty"`
	// Name of the shop.
	ShopName string `json:"shop_name,omitempty"`
	// Withdraw ID when transaction type is withdraw_created, withdrawal_completed, withdrawal_cancelled.
	WithdrawID float64 `json:"withdraw_id,omitempty,string"`
	// The reason for ADJUSTMENT_ADD and ADJUSTMENT_MINUS.
	Reason string `json:"reason,omitempty"`
	// Use this field to indicate the event where a withdrawal is split into several withdrawals due to the withdrawal limit.
	RootWithdrawID float64 `json:"root_withdrawal_id,omitempty"`
}

type GetTransactionListResponseTransactionListPayOrderList

type GetTransactionListResponseTransactionListPayOrderList struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Name of the shop.
	ShopName string `json:"shop_name,omitempty"`
}

type GetUnbindOrderListRequest

type GetUnbindOrderListRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Specifies the starting entry of data to return in the current call. Default is 0. if data is more than one page, the offset can be some entry to start next call.
	PaginationOffset int `json:"pagination_offset,omitempty"`
	// If many unbind orders are available to retrieve, you may need to call GetUnbindOrderList multiple times to retrieve all the data. Each result set is returned as a page of entries. Use the Pagination filters to control the maximum number of entries to retrieve per page (i.e., per call), the offset number to start next call. This integer value is used to specify the maximum number of entries to return in a single "page" of data.
	PaginationEntriesPerPage int `json:"pagination_entries_per_page,omitempty"`
}

type GetUnbindOrderListResponse

type GetUnbindOrderListResponse struct {
	// This is to indicate whether the item list is more than one page. If this value is true, you may want to continue to check next page to retrieve the rest of items.
	More bool `json:"more,omitempty"`
	//
	Orders []GetUnbindOrderListResponseOrder `json:"orders,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetUnbindOrderListResponseOrder

type GetUnbindOrderListResponseOrder struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The Shopee logistics status for the order. Applicable values: See Data Definition- LogisticsStatus.
	LogisticStatus string `json:"logistic_status,omitempty"`
	// The unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type GetVariationRequest

type GetVariationRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type GetVariationResponse

type GetVariationResponse struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Tier_variation list.
	TierVariation []GetVariationResponseTierVariation `json:"tier_variation,omitempty"`
	// Item's variation list.
	Variations []GetVariationResponseVariation `json:"variations,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type GetVariationResponseTierVariation

type GetVariationResponseTierVariation struct {
	// Tier variation name.
	Name string `json:"name,omitempty"`
	// Tier variation value options list.
	Options []string `json:"options,omitempty"`
	// Tier variation images. Can only be applied for the first level options. Urls sequence match the options sequence and urls number cannot exceed options number.
	ImagesURL []string `json:"images_url,omitempty"`
}

type GetVariationResponseVariation

type GetVariationResponseVariation struct {
	// Unique identifier of the variation.
	VariationID string `json:"variation_id,omitempty"`
	// A list of tier variation combination index, which indicates variation's option position in tier_variation['options'] list. e.g. [0,1] means tier variation 1 option 1 and tier variation 2 option 2.
	TierIndex []int `json:"tier_index,omitempty"`
}

type InitRequest

type InitRequest struct {
	// The order serial numbers.
	OrderSN string `json:"ordersn,omitempty"`
	// Required parameter ONLY if GetParameterForInit returns "pickup" or if GetLogisticsInfo returns "pickup" under "info_needed" for the same order. Developer should still include "pickup" field in the call even if "pickup" has empty value.
	Pickup *InitRequestPickup `json:"pickup,omitempty"`
	// Required parameter ONLY if GetParameterForInit returns "dropoff" or if GetLogisticsInfo returns "dropoff" under "info_needed" for the same order. Developer should still include "dropoff" field in the call even if "dropoff" has empty value.
	Dropoff *InitRequestDropoff `json:"dropoff,omitempty"`
	// Optional parameter when GetParameterForInit returns "non-integrated" or GetLogisticsInfo returns "non-integrated" under "info_needed".
	NonIntegrated *InitRequestNonIntegrated `json:"non_integrated,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Shopee's unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
}

type InitRequestDropoff

type InitRequestDropoff struct {
	// The identity of branch. Retrieved from shopee.logistics.GetBranch branch.
	BranchID int64 `json:"branch_id,omitempty"`
	// The real name of sender.
	SenderRealName string `json:"sender_real_name,omitempty"`
	// Need input this field when "tracking_no" is returned from "info_need". Please note that this tracking number is assigned by third-party shipping carrier for item shipment.
	TrackingNo string `json:"tracking_no,omitempty"`
}

type InitRequestNonIntegrated

type InitRequestNonIntegrated struct {
	// Optional parameter for non-integrated channel order. The tracking number assigned by the shipping carrier for item shipment.
	TrackingNo string `json:"tracking_no,omitempty"`
}

type InitRequestPickup

type InitRequestPickup struct {
	// The identity of address. Retrieved from shopee.logistics.GetAddress.
	AddressID int64 `json:"address_id,omitempty"`
	// The pickup time id. Retrieved from shopee.logistics.GetTimeSlot.
	PickupItemID string `json:"pickup_item_id,omitempty"`
}

type InitResponse

type InitResponse struct {
	// The tracking number of order
	TrackingNumber string `json:"tracking_number,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type InitTierVariationRequest

type InitTierVariationRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Tier_variation list. Up to 2 tiers.
	TierVariation []InitTierVariationRequestTierVariation `json:"tier_variation,omitempty"`
	// 2-Tier variation list.
	Variation []InitTierVariationRequestVariation `json:"variation,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type InitTierVariationRequestTierVariation

type InitTierVariationRequestTierVariation struct {
	// Tier variation name.
	Name string `json:"name,omitempty"`
	// Tier variation value options list. Option length should be under 20. Quantity of combinations of all 2 tier options is up to 50.
	Options []string `json:"options,omitempty"`
	// Tier variation images. Can only be applied for the first level options. Urls sequence match the options sequence and urls number cannot exceed options number.
	ImagesURL []string `json:"images_url,omitempty"`
}

type InitTierVariationRequestVariation

type InitTierVariationRequestVariation struct {
	// A list of tier variation combination index, which indicates variation's option position in tier_variation['options'] list. e.g. [0,1] means tier variation 1 option 1 and tier variation 2 option 2.
	TierIndex []int `json:"tier_index,omitempty"`
	// Stock value of this variation item. The original variation stock will be override when calling this API to initialize 2-tier structure for an existed item. 0 stock will make this variation a greyout option for buyer.
	Stock int `json:"stock,omitempty"`
	// Price value of this variation item. The original variation price will be override when calling this API to initialize 2-tier structure for an existed item.
	Price float64 `json:"price,omitempty,string"`
	// SKU string of this variation.SKU length should be under 100.
	VariationSKU string `json:"variation_sku,omitempty"`
}

type InitTierVariationResponse

type InitTierVariationResponse struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	// Current variation ids under this item
	VariationIDList []InitTierVariationResponseVariation `json:"variation_id_list,omitempty"`
}

type InitTierVariationResponseVariation

type InitTierVariationResponseVariation struct {
	// A list of tier variation indexes, which indicate variation's options in tier_variation['options'] list.
	TierIndex []int `json:"tier_index,omitempty"`
	// The identity of the variation.
	VariationID int64 `json:"variation_id,omitempty"`
}

type InsertItemImgRequest

type InsertItemImgRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Image URL of the item.
	ImageURL string `json:"image_url,omitempty"`
	// The position that insert the image. It starts with 1 and the max number is 9. If the position is bigger than existing position, the image would be placed on the last position.
	ImagePosition int `json:"image_position,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type InsertItemImgResponse

type InsertItemImgResponse struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The time when stock of the variation is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// Image URLs of item.
	Images []string `json:"images,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type MyIncomeRequest

type MyIncomeRequest struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type MyIncomeResponse

type MyIncomeResponse struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// The username of buyer.
	BuyerUserName string `json:"buyer_user_name,omitempty"`
	// The list of the serial number of return.
	ReturnSNList []string `json:"returnsn_list,omitempty"`
	//
	OrderIncome MyIncomeResponseOrderIncome `json:"order_income,omitempty"`
}

type MyIncomeResponseOrderIncome

type MyIncomeResponseOrderIncome struct {
	// The total amount that the seller is expected to receive for the order and will change before order completed. escrow_amount=buyer_total_amount+shopee_discount+voucher_from_shopee+coins+payment_promotion-buyer_transaction_fee-cross_border_tax-commission_fee-service_fee-seller_transaction_fee-seller_coin_cash_back-escrow_tax-drc_adjustable_refund+final_shipping_fee(could be positive/negative)
	EscrowAmount float64 `json:"escrow_amount,omitempty,string"`
	// The total amount that paid by buyer.buyer_total_amount= original price -seller_discount -shopee_discount -voucher_from_seller -voucher_from_shopee -coin -payment_promotion +buyer_paid_shipping_fee +buyer_transaction_fee +cross_border_tax
	BuyerTotalAmount float64 `json:"buyer_total_amount,omitempty,string"`
	// The original price of the item before ANY promotion/discount in the listing currency. It returns the subtotal of that specific item if quantity exceeds 1.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// Final sum of each item seller discount of a specific order.
	SellerDiscount float64 `json:"seller_discount,omitempty,string"`
	// Final sum of each item Shopee discount of a specific order. This amount will rebate to seller.
	ShopeeDiscount float64 `json:"shopee_discount,omitempty,string"`
	// Final value of voucher provided by Seller for the order.
	VoucherFromSeller float64 `json:"voucher_from_seller,omitempty,string"`
	// Final value of voucher provided by Shopee for the order.
	VoucherFromShopee float64 `json:"voucher_from_shopee,omitempty,string"`
	// Final value of coins used by seller for the order.
	Coins float64 `json:"coins,omitempty,string"`
	// The shipping fee paid by buyer.
	BuyerPaidShippingFee float64 `json:"buyer_paid_shipping_fee,omitempty,string"`
	// Tansaction fee paid by buyer for the order.
	BuyerTransactionFee float64 `json:"buyer_transaction_fee,omitempty,string"`
	// Amount incurred by Buyer for purchasing items outside of home country. Amount may change after Return Refund.
	CrossBorderTax float64 `json:"cross_border_tax,omitempty,string"`
	// The amount offset via payment promotion.
	PaymentPromotion float64 `json:"payment_promotion,omitempty,string"`
	// The commission fee charged by Shopee platform if applicable.
	CommissionFee float64 `json:"commission_fee,omitempty,string"`
	// Amount charged by Shopee to seller for additional services.
	ServiceFee float64 `json:"service_fee,omitempty,string"`
	// Tansaction fee paid by seller for the order.
	SellerTransactionFee float64 `json:"seller_transaction_fee,omitempty,string"`
	// Compensation to seller in case of lost parcel
	SellerLostCompensation float64 `json:"seller_lost_compensation,omitempty,string"`
	// Value of coins provided by Seller for purchasing with his or her store for the order.
	SellerCoinCashBack float64 `json:"seller_coin_cash_back,omitempty,string"`
	// Cross-border tax imposed by the Indonesian government on sellers.
	EscrowTax float64 `json:"escrow_tax,omitempty,string"`
	// Final adjusted amount that seller has to bear as part of escrow. This amount could be negative or positive. = min(actual_shipping_fee, shopee_shipping_rebate) + shipping_discount_from_3pl - actual_shipping_fee
	FinalShippingFee float64 `json:"final_shipping_fee,omitempty,string"`
	// The final shipping cost of order and it is negative. For Non-integrated logistics channel is 0.
	ActualShippingFee float64 `json:"actual_shipping_fee,omitempty,string"`
	// The platform shipping subsidy to the seller.
	ShopeeShippingRebate float64 `json:"shopee_shipping_rebate,omitempty,string"`
	// The discount of shipping fee from 3PL. Currently only applicable to ID
	ShippingFeeDiscountFrom3PL float64 `json:"shipping_fee_discount_from_3pl,omitempty,string"`
	// The shipping discount defined by seller.
	SellerShippinhDiscount float64 `json:"seller_shipping_discount,omitempty,string"`
	// The estimated shipping fee is an estimation calculated by Shopee based on specific logistics courier's standard.
	EstimatedShippingFee float64 `json:"estimated_shipping_fee,omitempty,string"`
	// The list of voucher code provided by seller.
	SellerVoucherCode []string `json:"seller_voucher_code,omitempty,string"`
	// The adjustable refund amount from Shopee Dispute Resolution Center.
	DRCAdjustableRefund float64 `json:"drc_adjustable_refund,omitempty,string"`
	// Final amount paid by the buyer for the items in a specific order.
	CostOfGoodsSold float64 `json:"cost_of_goods_sold,omitempty,string"`
	// Amount paid by the buyer for the items in a specific order.
	OriginalCostOfGoodsSold float64 `json:"original_cost_of_goods_sold,omitempty,string"`
	// Sum of each item Shopee discount of a specific order
	OriginalShopeeDiscount float64 `json:"original_shopee_discount,omitempty,string"`
	// Amount returned to Seller in the event of Partial Return.
	SellerReturnRefund float64 `json:"seller_return_refund,omitempty,string"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty,string"`
	// The list of the serial number of refund.
	RefundIDList []string `json:"refund_id_list,omitempty,string"`
}

type PerformanceRequest

type PerformanceRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type PerformanceResponse

type PerformanceResponse struct {
	// To ensure that buyers can easily find what they are looking for, any attempts by sellers to manipulate search results to gain an unfair advantage will be penalized.
	SpamListingViolation PerformanceResponsePerformance `json:"spam_listing_violation,omitempty"`
	// Overall review rating is the average of all order ratings submitted by your buyers.
	OverallReviewRating PerformanceResponsePerformance `json:"overall_review_rating,omitempty"`
	// Preparation time is the number of days it takes a seller to prepare and ship out an order.
	AveragePreparationTime PerformanceResponsePerformance `json:"average_preparation_time,omitempty"`
	// Late shipment rate is the percentage of orders (out of total orders) that were shipped late in the past 30 days. You should maintain your late shipment rate at a healthy level of <5%. If your late shipment rate exceeds 15%, you will receive a penalty point under the Seller Penalty Points system.
	LateShipmentRate PerformanceResponsePerformance `json:"late_shipment_rate,omitempty"`
	// Return-refund rate is the percentage of orders (out of total orders) that were requested by buyers for a return-refund in the past 30 days.
	ReturnRefundRate PerformanceResponsePerformance `json:"return_refund_rate,omitempty"`
	// Chat response time is the average time it takes a seller to respond to a buyer's chat message.
	ResponseTime PerformanceResponsePerformance `json:"response_time,omitempty"`
	// It is the responsibility of sellers to ensure all items listed under their profiles are fully compliant with local laws, as well as Shopee’s terms and policies.
	ProhibitedListingViolation PerformanceResponsePerformance `json:"prohibited_listing_violation,omitempty"`
	// Cancellation rate is the percentage of orders (out of total orders) cancelled by a seller in the past 30 days. Buyers initiatied cancellations are not included in the calculation.
	CancellationRate PerformanceResponsePerformance `json:"cancellation_rate,omitempty"`
	// Sellers should only list authentic products. Counterfeit items are products that were made in exact imitation of an existing brand with the intention to deceive or defraud, and may include, but are not limited to: - Products that are fake or replicas of an existing official product - Products that have never been produced by a specific brand - Products that bear such similarities with other products (e.g. a replica of a branded item with or without altered logos) without the authorization of the trademark owner.
	CounterfeitListingViolation PerformanceResponsePerformance `json:"counterfeit_listing_violation,omitempty"`
	// Your shop rating.
	ShopRating PerformanceResponsePerformance `json:"shop_rating,omitempty"`
	// Chat response rate is the percentage of new chats and offers (out of total) that a seller responds to within 12 hours of receiving them. Auto replies are not included in the chat response rate computation.
	ResponseRate PerformanceResponsePerformance `json:"response_rate,omitempty"`
	// Non-fulfilment rate is the percentage of orders (out of total orders) that were either cancelled or returned in the past 30 days. Only orders cancelled by sellers are taken into consideration when computing non-fulfilment rate. Non-fulfilment rate is also the sum of your cancellation rate and return-refund rate.
	NonFullfillmentRate PerformanceResponsePerformance `json:"non_fullfillment_rate,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type PerformanceResponsePerformance

type PerformanceResponsePerformance struct {
	// The threshold used to compare shop's actual performance to the target performance. It has four types: lt(less than), gt(greater than), lte(less than or equal), gte(greater than or equal).
	ThresholdType string `json:"threshold_type,omitempty"`
	// Null, not applicable.
	Unit string `json:"unit,omitempty"`
	// Your target performance index.
	Target float64 `json:"target,omitempty"`
	// Your actual performance index.
	My float64 `json:"my,omitempty"`
}

type RefreshAccessTokenRequest

type RefreshAccessTokenRequest struct {
	// Use refresh_token to obtain new access_token. Valid for one-time use, expires in 30 days.
	RefreshToken string `json:"refresh_token,omitempty"`
	// The shop_id of the shop that authorized the developer.
	ShopID int64 `json:"shop_id,omitempty"`
	// The credential retrieved in the APP console.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type RefreshAccessTokenResponse

type RefreshAccessTokenResponse struct {
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
	// Error code. Empty when the api call succeeded.
	Error string `json:"error,omitempty"`
	// Use refresh_token to obtain new access_token. Valid for one-time use, expires in 30 days.
	RefreshToken string `json:"refresh_token,omitempty"`
	// Use access_token as a common request parameter for certian APIs. Valid for multiple use, expires in 4 hours.
	AccessToken string `json:"access_token,omitempty"`
	// Access_token expiration time, unit is second.
	ExpireIn int `json:"expire_in,omitempty"`
	// The credential retrieved in the APP console.
	PartnerID int64 `json:"partner_id,omitempty"`
	// The shop_id of the shop that authorized the developer.
	ShopID int64 `json:"shop_id,omitempty"`
}

type RejectBuyerCancellationRequest

type RejectBuyerCancellationRequest struct {
	// The order to be rejected cancellation request.
	OrderSN string `json:"ordersn,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type RejectBuyerCancellationResponse

type RejectBuyerCancellationResponse struct {
	// The time when the order is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type ReplyCommentsRequest

type ReplyCommentsRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	//
	CMTList ReplyCommentsRequestCMTList `json:"cmt_list,omitempty"`
}

type ReplyCommentsRequestCMTList

type ReplyCommentsRequestCMTList struct {
	// The identity of comment.
	CMTID int64 `json:"cmt_id,omitempty"`
	// Content of the comment.
	Comment string `json:"comment,omitempty"`
}

type ReplyCommentsResponse

type ReplyCommentsResponse struct {
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
	//
	SuccList []ReplyCommentsResponseSuccList `json:"succ_list,omitempty"`
	//
	Errors []ReplyCommentsResponseError `json:"errors,omitempty"`
}

type ReplyCommentsResponseError

type ReplyCommentsResponseError struct {
	// The identity of comment.
	CMTID    int64  `json:"cmt_id,omitempty"`
	ErrorMsg string `json:"error_msg,omitempty"`
}

type ReplyCommentsResponseSuccList

type ReplyCommentsResponseSuccList struct {
	CMTID int64 `json:"cmt_id,omitempty"`
}

type ResponseError

type ResponseError struct {
	RequestID string `json:"request_id,omitempty"`
	Msg       string `json:"msg,omitempty"`
	ErrorType string `json:"error,omitempty"`
	Message   string `json:"message,omitempty"`
}

ResponseError defines a error response

func (ResponseError) Error

func (e ResponseError) Error() string

type SetAddressRequest

type SetAddressRequest struct {
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The identity of default address.
	DefaultAddressID int64 `json:"default_address_id,omitempty"`
	// The identity of pick_up address.
	PickUpAddressID int64 `json:"pick_up_address_id,omitempty"`
	// The identity of return address.
	ReturnAddressID int64 `json:"return_address_id,omitempty"`
}

type SetAddressResponse

type SetAddressResponse struct {
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type SetItemInstallmentTenuresRequest

type SetItemInstallmentTenuresRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// List of installments, applicable values: 3, 6, 12, 24. If the list is empty, it means you wanna close the installment.
	Tenures []int `json:"tenures,omitempty"`
}

type SetItemInstallmentTenuresResponse

type SetItemInstallmentTenuresResponse struct {
	// List of installments
	Tenures []int `json:"tenures,omitempty"`
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type SetPushConfigRequest

type SetPushConfigRequest struct {
	// The callback url of push mechanism.
	CallbackURL string `json:"callback_url,omitempty"`
	// The shutdown time caused by low successful rate of push mechanism.
	ShutTime int `json:"shut_time,omitempty"`
	//
	DeatiledConfig GetPushConfigResponseDeatiledConfig `json:"detailed_config,omitempty"`
	// Use this filed to set shops that need to be blocked.
	BlockedShopID []int64 `json:"blocked_shopid,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
}

type SetPushConfigRequestDeatiledConfig

type SetPushConfigRequestDeatiledConfig struct {
	// 0 stands for off and 1 stands for on.
	OrderStatus int `json:"order_status,omitempty"`
	// 0 stands for off and 1 stands for on.
	OrderTrackingNo int `json:"order_trackingno,omitempty"`
	// 0 stands for off and 1 stands for on.
	ShopUpdate int `json:"shop_update,omitempty"`
	// 0 stands for off and 1 stands for on.
	BannedItem int `json:"banned_item,omitempty"`
	// 0 stands for off and 1 stands for on.
	ItemPromotion int `json:"item_promotion,omitempty"`
	// 0 stands for off and 1 stands for on.
	ReservedStockChange int `json:"reserved_stock_change,omitempty"`
}

type SetPushConfigResponse

type SetPushConfigResponse struct {
	// Use this field to indicate whether the configuration is set successfully.
	Status string `json:"status,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type SetShopInstallmentStatusRequest

type SetShopInstallmentStatusRequest struct {
	// The status of whether shop support installment: 1 means true and 0 means false.
	InstallmentStatus int `json:"installment_status,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type SetShopInstallmentStatusResponse

type SetShopInstallmentStatusResponse struct {
	// The status of whether shop support installment: 1 means true and 0 means false.
	InstallmentStatus int `json:"installment_status,omitempty"`
}

type ShopeeClient

type ShopeeClient struct {
	Secret string

	IsSandbox bool
	Version   ClientVersion
	// contains filtered or unexported fields
}

ShopeeClient represents a client to Shopee

func (*ShopeeClient) AcceptBuyerCancellation

func (s *ShopeeClient) AcceptBuyerCancellation(req *AcceptBuyerCancellationRequest) (resp *AcceptBuyerCancellationResponse, err error)

AcceptBuyerCancellation Use this call to accept buyer cancellation

func (*ShopeeClient) Add

func (s *ShopeeClient) Add(req *AddRequest) (resp *AddResponse, err error)

Add Use this call to add a product item. Should get dependency by calling below API first shopee.item.GetCategories shopee.item.GetAttributes shopee.logistics.GetLogistics

func (*ShopeeClient) AddDiscount

func (s *ShopeeClient) AddDiscount(req *AddDiscountRequest) (resp *AddDiscountResponse, err error)

AddDiscount Use this api to add shop discount activity

func (*ShopeeClient) AddDiscountItem

func (s *ShopeeClient) AddDiscountItem(req *AddDiscountItemRequest) (resp *AddDiscountItemResponse, err error)

AddDiscountItem Use this api to add shop discount item

func (*ShopeeClient) AddItemImg

func (s *ShopeeClient) AddItemImg(req *AddItemImgRequest) (resp *AddItemImgResponse, err error)

AddItemImg Use this call to add product item images.

func (*ShopeeClient) AddItems

func (s *ShopeeClient) AddItems(req *AddItemsRequest) (resp *AddItemsResponse, err error)

AddItems Use this call to add items list to certain shop_category

func (*ShopeeClient) AddOrderNote

func (s *ShopeeClient) AddOrderNote(req *AddOrderNoteRequest) (resp *AddOrderNoteResponse, err error)

AddOrderNote Use this call to add note for an order

func (*ShopeeClient) AddShopCategory

func (s *ShopeeClient) AddShopCategory(req *AddShopCategoryRequest) (resp *AddShopCategoryResponse, err error)

AddShopCategory Use this call to add a new collecion

func (*ShopeeClient) AddTierVariation

func (s *ShopeeClient) AddTierVariation(req *AddTierVariationRequest) (resp *AddTierVariationResponse, err error)

AddTierVariation Use this api to add new tier variations in batch. Tier variation index of variations in the same item must be unique.

func (*ShopeeClient) AddTopPicks

func (s *ShopeeClient) AddTopPicks(req *AddTopPicksRequest) (resp *AddTopPicksResponse, err error)

AddTopPicks Add one collection. One shop can have up to 10 collections.

func (*ShopeeClient) AddVariations

func (s *ShopeeClient) AddVariations(req *AddVariationsRequest) (resp *AddVariationsResponse, err error)

AddVariations Use this call to add item variations

func (*ShopeeClient) AuthPartner

func (s *ShopeeClient) AuthPartner(req *AuthPartnerRequest) string

AuthPartner for V2.

func (*ShopeeClient) BoostItem

func (s *ShopeeClient) BoostItem(req *BoostItemRequest) (resp *BoostItemResponse, err error)

BoostItem Use this api to boost multiple items at once.

func (*ShopeeClient) CancelOrder

func (s *ShopeeClient) CancelOrder(req *CancelOrderRequest) (resp *CancelOrderResponse, err error)

CancelOrder Use this call to cancel an order from the seller side.

func (*ShopeeClient) ConfirmReturn

func (s *ShopeeClient) ConfirmReturn(req *ConfirmReturnRequest) (resp *ConfirmReturnResponse, err error)

ConfirmReturn Confirm return

func (*ShopeeClient) Delete

func (s *ShopeeClient) Delete(req *DeleteRequest) (resp *DeleteResponse, err error)

Delete Use this call to delete a product item.

func (*ShopeeClient) DeleteAddress

func (s *ShopeeClient) DeleteAddress(req *DeleteAddressRequest) (resp *DeleteAddressResponse, err error)

DeleteAddress Use this API to delete the default/pick_up/return address of shop by address_id. Please use GetAddress API to fetch the address_id.

func (*ShopeeClient) DeleteDiscount

func (s *ShopeeClient) DeleteDiscount(req *DeleteDiscountRequest) (resp *DeleteDiscountResponse, err error)

DeleteDiscount Use this api to delete one discount activity BEFORE it starts.

func (*ShopeeClient) DeleteDiscountItem

func (s *ShopeeClient) DeleteDiscountItem(req *DeleteDiscountItemRequest) (resp *DeleteDiscountItemResponse, err error)

DeleteDiscountItem Use this api to delete items of the discount activity

func (*ShopeeClient) DeleteItemImg

func (s *ShopeeClient) DeleteItemImg(req *DeleteItemImgRequest) (resp *DeleteItemImgResponse, err error)

DeleteItemImg Use this call to delete a product item image.

func (*ShopeeClient) DeleteItems

func (s *ShopeeClient) DeleteItems(req *DeleteItemsRequest) (resp *DeleteItemsResponse, err error)

DeleteItems Use this api to delete items from shop category

func (*ShopeeClient) DeleteShopCategory

func (s *ShopeeClient) DeleteShopCategory(req *DeleteShopCategoryRequest) (resp *DeleteShopCategoryResponse, err error)

DeleteShopCategory Use this call to delete a existing collecion

func (*ShopeeClient) DeleteTopPicks

func (s *ShopeeClient) DeleteTopPicks(req *DeleteTopPicksRequest) (resp *DeleteTopPicksResponse, err error)

DeleteTopPicks Delete a collection

func (*ShopeeClient) DeleteVariation

func (s *ShopeeClient) DeleteVariation(req *DeleteVariationRequest) (resp *DeleteVariationResponse, err error)

DeleteVariation Use this call to delete item variation

func (*ShopeeClient) DisputeReturn

func (s *ShopeeClient) DisputeReturn(req *DisputeReturnRequest) (resp *DisputeReturnResponse, err error)

DisputeReturn Dispute return

func (*ShopeeClient) FirstMileCodeBindOrder

func (s *ShopeeClient) FirstMileCodeBindOrder(req *FirstMileCodeBindOrderRequest) (resp *FirstMileCodeBindOrderResponse, err error)

FirstMileCodeBindOrder Use this API to bind orders with the first-mile tracking number.

func (*ShopeeClient) FirstMileUnbind

func (s *ShopeeClient) FirstMileUnbind(req *FirstMileUnbindRequest) (resp *FirstMileUnbindResponse, err error)

FirstMileUnbind Use this API to unbind orders with the first-mile tracking number. Only applicable to cross-border sellers in China.

func (*ShopeeClient) GenerateFMTrackingNo

func (s *ShopeeClient) GenerateFMTrackingNo(req *GenerateFMTrackingNoRequest) (resp *GenerateFMTrackingNoResponse, err error)

GenerateFMTrackingNo Use this API to generate first-mile tracking number for the shipment method of pickup. Please note that the prerequisite for using this API is that the order status is ready_to_ship and the tracking number of order has been obtained.

func (*ShopeeClient) GetAccessToken

func (s *ShopeeClient) GetAccessToken(req *GetAccessTokenRequest) (resp *GetAccessTokenResponse, err error)

GetAccessToken Use this API and the code to obtain the access_token and refresh_token.

func (*ShopeeClient) GetAddress

func (s *ShopeeClient) GetAddress(req *GetAddressRequest) (resp *GetAddressResponse, err error)

GetAddress For integrated logistics channel, use this call to get pickup address for pickup mode order.

func (*ShopeeClient) GetAirwayBill

func (s *ShopeeClient) GetAirwayBill(req *GetAirwayBillRequest) (resp *GetAirwayBillResponse, err error)

GetAirwayBill Use this API to get airway bill for orders. AirwayBill is only fetchable when the order status is under READY_TO_SHIP and RETRY_SHIP.

func (*ShopeeClient) GetAttributes

func (s *ShopeeClient) GetAttributes(req *GetAttributesRequest) (resp *GetAttributesResponse, err error)

GetAttributes Use this call to get attributes of product item

func (*ShopeeClient) GetBoostedItem

func (s *ShopeeClient) GetBoostedItem(req *GetBoostedItemRequest) (resp *GetBoostedItemResponse, err error)

GetBoostedItem Use this api to get all boosted items.

func (*ShopeeClient) GetBranch

func (s *ShopeeClient) GetBranch(req *GetBranchRequest) (resp *GetBranchResponse, err error)

GetBranch For integrated logistics channel, use this call to get dropoff location for dropoff mode order.

func (*ShopeeClient) GetCategories

func (s *ShopeeClient) GetCategories(req *GetCategoriesRequest) (resp *GetCategoriesResponse, err error)

GetCategories Use this call to get categories of product item

func (*ShopeeClient) GetCategoriesByCountry

func (s *ShopeeClient) GetCategoriesByCountry(req *GetCategoriesByCountryRequest) (resp *GetCategoriesByCountryResponse, err error)

GetCategoriesByCountry Use this api to get categories list filtered by country and cross border without using shopID.

func (*ShopeeClient) GetComment

func (s *ShopeeClient) GetComment(req *GetCommentRequest) (resp *GetCommentResponse, err error)

GetComment Use this api to get comment by shopid/itemid/comment_id

func (*ShopeeClient) GetDiscountDetail

func (s *ShopeeClient) GetDiscountDetail(req *GetDiscountDetailRequest) (resp *GetDiscountDetailResponse, err error)

GetDiscountDetail Use this api to get one shop discount activity detail

func (*ShopeeClient) GetDiscountsList

func (s *ShopeeClient) GetDiscountsList(req *GetDiscountsListRequest) (resp *GetDiscountsListResponse, err error)

GetDiscountsList Use this api to get shop discount activity list

func (*ShopeeClient) GetEscrowDetails

func (s *ShopeeClient) GetEscrowDetails(req *GetEscrowDetailsRequest) (resp *GetEscrowDetailsResponse, err error)

GetEscrowDetails Use this call to retrieve detailed escrow information about one order based on OrderSN.

func (*ShopeeClient) GetEscrowReleasedOrders

func (s *ShopeeClient) GetEscrowReleasedOrders(req *GetEscrowReleasedOrdersRequest) (resp *GetEscrowReleasedOrdersResponse, err error)

GetEscrowReleasedOrders Use this api to get orders' release time and escrow amount.

func (*ShopeeClient) GetFMTrackingNoWaybill

func (s *ShopeeClient) GetFMTrackingNoWaybill(req *GetFMTrackingNoWaybillRequest) (resp *GetFMTrackingNoWaybillResponse, err error)

GetFMTrackingNoWaybill Use the API to get the waybill of first-mile tracking number.Please note that this API only used for the shipment method of pickup.

func (*ShopeeClient) GetFmTnDetail

func (s *ShopeeClient) GetFmTnDetail(req *GetFmTnDetailRequest) (resp *GetFmTnDetailResponse, err error)

GetFmTnDetail Use this API to fetch the detailed information of first-mile tracking number.

func (*ShopeeClient) GetForderInfo

func (s *ShopeeClient) GetForderInfo(req *GetForderInfoRequest) (resp *GetForderInfoResponse, err error)

GetForderInfo Use this call to retrieve detailed information of all the fulfill orders(forder) under a single regular order based on ordersn.

func (*ShopeeClient) GetForderWaybill

func (s *ShopeeClient) GetForderWaybill(req *GetForderWaybillRequest) (resp *GetForderWaybillResponse, err error)

GetForderWaybill Use this API to get airwaybill for fulfillment orders.

func (*ShopeeClient) GetItemDetail

func (s *ShopeeClient) GetItemDetail(req *GetItemDetailRequest) (resp *GetItemDetailResponse, err error)

GetItemDetail Use this call to get detail of item

func (*ShopeeClient) GetItems

func (s *ShopeeClient) GetItems(req *GetItemsRequest) (resp *GetItemsResponse, err error)

GetItems Use this call to get items list of certain shop_category

func (*ShopeeClient) GetItemsList

func (s *ShopeeClient) GetItemsList(req *GetItemsListRequest) (resp *GetItemsListResponse, err error)

GetItemsList Use this call to get a list of items

func (*ShopeeClient) GetLogisticInfo

func (s *ShopeeClient) GetLogisticInfo(req *GetLogisticInfoRequest) (resp *GetLogisticInfoResponse, err error)

GetLogisticInfo Get all the logistics info of an order to Init. This API consolidates the output of GetParameterForInit, GetAddresss, GetTimeSlot and GetBranch based on each order so that developer can get all the required parameters ready in this API for Init.This API is an alternative of GetParameterForInit, GetAddresss, GetTimeSlot and GetBranch as a set.

func (*ShopeeClient) GetLogistics

func (s *ShopeeClient) GetLogistics(req *GetLogisticsRequest) (resp *GetLogisticsResponse, err error)

GetLogistics Use this call to get all supported logistic channels.

func (*ShopeeClient) GetLogisticsMessage

func (s *ShopeeClient) GetLogisticsMessage(req *GetLogisticsMessageRequest) (resp *GetLogisticsMessageResponse, err error)

GetLogisticsMessage Use this call to get the logistics tracking information of an order.

func (*ShopeeClient) GetOrderDetails

func (s *ShopeeClient) GetOrderDetails(req *GetOrderDetailsRequest) (resp *GetOrderDetailsResponse, err error)

GetOrderDetails Use this call to retrieve detailed information about one or more orders based on OrderSN.

func (*ShopeeClient) GetOrderLogistics

func (s *ShopeeClient) GetOrderLogistics(req *GetOrderLogisticsRequest) (resp *GetOrderLogisticsResponse, err error)

GetOrderLogistics Use this call to fetch the logistics information of an order, these info can be used for waybill printing. Dedicated for crossborder SLS order airwaybill. May not be applicable for local channel airwaybill.

func (*ShopeeClient) GetOrdersByStatus

func (s *ShopeeClient) GetOrdersByStatus(req *GetOrdersByStatusRequest) (resp *GetOrdersByStatusResponse, err error)

GetOrdersByStatus GetOrdersByStatus is the recommended call to use for order management. Use this call to retrieve basic information of all orders which are specific status. More details of each order can be retrieved from GetOrderDetails.

func (*ShopeeClient) GetOrdersList

func (s *ShopeeClient) GetOrdersList(req *GetOrdersListRequest) (resp *GetOrdersListResponse, err error)

GetOrdersList GetOrdersList is the recommended call to use for order management. Use this call to retrieve basic information of all orders which are updated within specific period of time. More details of each order can be retrieved from GetOrderDetails. [Only the recent one month orders can be fetch through this API. Please use GetOrderBySatus API to fetch more orders.]

func (*ShopeeClient) GetParameterForInit

func (s *ShopeeClient) GetParameterForInit(req *GetParameterForInitRequest) (resp *GetParameterForInitResponse, err error)

GetParameterForInit Use this call to get all required param for logistic initiation.

func (*ShopeeClient) GetPaymentList

func (s *ShopeeClient) GetPaymentList(req *GetPaymentListRequest) (resp *GetPaymentListResponse, err error)

GetPaymentList The supported payment method list by country

func (*ShopeeClient) GetPromotionInfo

func (s *ShopeeClient) GetPromotionInfo(req *GetPromotionInfoRequest) (resp *GetPromotionInfoResponse, err error)

GetPromotionInfo Use this api to get ongoing and upcoming promotions.

func (*ShopeeClient) GetPushConfig

func (s *ShopeeClient) GetPushConfig(req *GetPushConfigRequest) (resp *GetPushConfigResponse, err error)

GetPushConfig Use this API to get the configuration information of push service.

func (*ShopeeClient) GetRecommendCats

func (s *ShopeeClient) GetRecommendCats(req *GetRecommendCatsRequest) (resp *GetRecommendCatsResponse, err error)

GetRecommendCats Use this API to get recommended category ids according to item name.

func (*ShopeeClient) GetReturnDetail

func (s *ShopeeClient) GetReturnDetail(req *GetReturnDetailRequest) (resp *GetReturnDetailResponse, err error)

GetReturnDetail Use this api to get detail information of a returned order

func (*ShopeeClient) GetReturnList

func (s *ShopeeClient) GetReturnList(req *GetReturnListRequest) (resp *GetReturnListResponse, err error)

GetReturnList Get return list

func (*ShopeeClient) GetShopCategories

func (s *ShopeeClient) GetShopCategories(req *GetShopCategoriesRequest) (resp *GetShopCategoriesResponse, err error)

GetShopCategories Use this call to get list of in-shop categories

func (*ShopeeClient) GetShopFMTrackingNo

func (s *ShopeeClient) GetShopFMTrackingNo(req *GetShopFMTrackingNoRequest) (resp *GetShopFMTrackingNoResponse, err error)

GetShopFMTrackingNo Use this API to fetch first-mile tracking numbers of the shop.

func (*ShopeeClient) GetShopFirstMileChannel

func (s *ShopeeClient) GetShopFirstMileChannel(req *GetShopFirstMileChannelRequest) (resp *GetShopFirstMileChannelResponse, err error)

GetShopFirstMileChannel Use this call to get all supported logistic channels for first mile.

func (*ShopeeClient) GetShopInfo

func (s *ShopeeClient) GetShopInfo(req *GetShopInfoRequest) (resp *GetShopInfoResponse, err error)

GetShopInfo Use this call to get information of shop

func (*ShopeeClient) GetShopsByPartner

func (s *ShopeeClient) GetShopsByPartner(req *GetShopsByPartnerRequest) (resp *GetShopsByPartnerResponse, err error)

GetShopsByPartner Use this call to get basic info of shops which have authorized to the partner.

func (*ShopeeClient) GetTimeSlot

func (s *ShopeeClient) GetTimeSlot(req *GetTimeSlotRequest) (resp *GetTimeSlotResponse, err error)

GetTimeSlot For integrated logistics channel, use this call to get pickup timeslot for pickup mode order.

func (*ShopeeClient) GetTopPicksList

func (s *ShopeeClient) GetTopPicksList(req *GetTopPicksListRequest) (resp *GetTopPicksListResponse, err error)

GetTopPicksList Get the list of all collections.

func (*ShopeeClient) GetTransactionList

func (s *ShopeeClient) GetTransactionList(req *GetTransactionListRequest) (resp *GetTransactionListResponse, err error)

GetTransactionList Use this API to get the transaction records of wallet.

func (*ShopeeClient) GetUnbindOrderList

func (s *ShopeeClient) GetUnbindOrderList(req *GetUnbindOrderListRequest) (resp *GetUnbindOrderListResponse, err error)

GetUnbindOrderList Use this call to get a list of unbind orders.

func (*ShopeeClient) GetVariation

func (s *ShopeeClient) GetVariation(req *GetVariationRequest) (resp *GetVariationResponse, err error)

GetVariation Use this call to get tier-variation basic information under an item

func (*ShopeeClient) Init

func (s *ShopeeClient) Init(req *InitRequest) (resp *InitResponse, err error)

Init Use this call to initiate logistics including arrange Pickup, Dropoff or shipment for non-integrated logistic channels. Should call shopee.logistics.GetLogisticInfo to fetch all required param first. It's recommended to initiate logistics one hour AFTER the orders were placed since there is one-hour window buyer can cancel any order without request to seller.

func (*ShopeeClient) InitTierVariation

func (s *ShopeeClient) InitTierVariation(req *InitTierVariationRequest) (resp *InitTierVariationResponse, err error)

InitTierVariation Initialize a non-tier-variation item to a tier-variation item, upload variation image and initialize stock and price for each variation. This API cannot edit existed tier_variation and variation price/stock.

func (*ShopeeClient) InsertItemImg

func (s *ShopeeClient) InsertItemImg(req *InsertItemImgRequest) (resp *InsertItemImgResponse, err error)

InsertItemImg Use this call to add one item image in assigned position.

func (*ShopeeClient) MyIncome

func (s *ShopeeClient) MyIncome(req *MyIncomeRequest) (resp *MyIncomeResponse, err error)

MyIncome Use this API to fetch the accounting detail of order.

func (*ShopeeClient) Performance

func (s *ShopeeClient) Performance(req *PerformanceRequest) (resp *PerformanceResponse, err error)

Performance Shop performance includes the indexes from "My Performance" of Seller Center.

func (*ShopeeClient) RefreshAccessToken

func (s *ShopeeClient) RefreshAccessToken(req *RefreshAccessTokenRequest) (resp *RefreshAccessTokenResponse, err error)

RefreshAccessToken Use this API to refresh the access_token after it expires.

func (*ShopeeClient) RejectBuyerCancellation

func (s *ShopeeClient) RejectBuyerCancellation(req *RejectBuyerCancellationRequest) (resp *RejectBuyerCancellationResponse, err error)

RejectBuyerCancellation Use this call to reject buyer cancellation

func (*ShopeeClient) ReplyComments

func (s *ShopeeClient) ReplyComments(req *ReplyCommentsRequest) (resp *ReplyCommentsResponse, err error)

ReplyComments Use this api to reply comments from buyers in batch

func (*ShopeeClient) SetAccessToken

func (s *ShopeeClient) SetAccessToken(t string) *ShopeeClient

func (*ShopeeClient) SetAddress

func (s *ShopeeClient) SetAddress(req *SetAddressRequest) (resp *SetAddressResponse, err error)

SetAddress Use this API to set default_address/pick_up_address/return_address of shop. Please use GetAddress API to fetch the address_id.

func (*ShopeeClient) SetItemInstallmentTenures

func (s *ShopeeClient) SetItemInstallmentTenures(req *SetItemInstallmentTenuresRequest) (resp *SetItemInstallmentTenuresResponse, err error)

SetItemInstallmentTenures Only for TW whitelisted shop. Use this API to set the installment tenures of items.

func (*ShopeeClient) SetPushConfig

func (s *ShopeeClient) SetPushConfig(req *SetPushConfigRequest) (resp *SetPushConfigResponse, err error)

SetPushConfig Use this API to get the configuration information of push service.

func (*ShopeeClient) SetShopInstallmentStatus

func (s *ShopeeClient) SetShopInstallmentStatus(req *SetShopInstallmentStatusRequest) (resp *SetShopInstallmentStatusResponse, err error)

SetShopInstallmentStatus Only for TW whitelisted shop.Use this API to set the installment status of shop.

func (*ShopeeClient) SplitOrder

func (s *ShopeeClient) SplitOrder(req *SplitOrderRequest) (resp *SplitOrderResponse, err error)

SplitOrder Use this API to split order into fulfillment orders. This feature is only enabled for whitelisted shops.

func (*ShopeeClient) UndoSplitOrder

func (s *ShopeeClient) UndoSplitOrder(req *UndoSplitOrderRequest) (resp *UndoSplitOrderResponse, err error)

UndoSplitOrder Use this API to cancel split order from the seller side.

func (*ShopeeClient) UnlistItem

func (s *ShopeeClient) UnlistItem(req *UnlistItemRequest) (resp *UnlistItemResponse, err error)

UnlistItem Use this api to unlist or list items in batch.

func (*ShopeeClient) UpdateDiscount

func (s *ShopeeClient) UpdateDiscount(req *UpdateDiscountRequest) (resp *UpdateDiscountResponse, err error)

UpdateDiscount Use this api to update one discount information

func (*ShopeeClient) UpdateDiscountItems

func (s *ShopeeClient) UpdateDiscountItems(req *UpdateDiscountItemsRequest) (resp *UpdateDiscountItemsResponse, err error)

UpdateDiscountItems Use this api to update items of the discount activity

func (*ShopeeClient) UpdateItem

func (s *ShopeeClient) UpdateItem(req *UpdateItemRequest) (resp *UpdateItemResponse, err error)

UpdateItem Use this call to update a product item. Should get dependency by calling below API first shopee.item.GetItemDetail

func (*ShopeeClient) UpdateItemImg

func (s *ShopeeClient) UpdateItemImg(req *UpdateItemImgRequest) (resp *UpdateItemImgResponse, err error)

UpdateItemImg Override and update all the existing images of an item.

func (*ShopeeClient) UpdatePrice

func (s *ShopeeClient) UpdatePrice(req *UpdatePriceRequest) (resp *UpdatePriceResponse, err error)

UpdatePrice Use this call to update item price

func (*ShopeeClient) UpdatePriceBatch

func (s *ShopeeClient) UpdatePriceBatch(req *UpdatePriceBatchRequest) (resp *UpdatePriceBatchResponse, err error)

UpdatePriceBatch Update items price in batch.

func (*ShopeeClient) UpdateShopCategory

func (s *ShopeeClient) UpdateShopCategory(req *UpdateShopCategoryRequest) (resp *UpdateShopCategoryResponse, err error)

UpdateShopCategory Use this call to update a existing collecion

func (*ShopeeClient) UpdateShopInfo

func (s *ShopeeClient) UpdateShopInfo(req *UpdateShopInfoRequest) (resp *UpdateShopInfoResponse, err error)

UpdateShopInfo Use this call to update information of shop

func (*ShopeeClient) UpdateShopLogistics

func (s *ShopeeClient) UpdateShopLogistics(req *UpdateShopLogisticsRequest) (resp *UpdateShopLogisticsResponse, err error)

UpdateShopLogistics Configure shop level logistics

func (*ShopeeClient) UpdateStock

func (s *ShopeeClient) UpdateStock(req *UpdateStockRequest) (resp *UpdateStockResponse, err error)

UpdateStock Use this call to update item stock

func (*ShopeeClient) UpdateStockBatch

func (s *ShopeeClient) UpdateStockBatch(req *UpdateStockBatchRequest) (resp *UpdateStockBatchResponse, err error)

UpdateStockBatch Update items stock in batch.

func (*ShopeeClient) UpdateTierVariationIndex

func (s *ShopeeClient) UpdateTierVariationIndex(req *UpdateTierVariationIndexRequest) (resp *UpdateTierVariationIndexResponse, err error)

UpdateTierVariationIndex Use this api to update existing tier index under the same variation_id.

func (*ShopeeClient) UpdateTierVariationList

func (s *ShopeeClient) UpdateTierVariationList(req *UpdateTierVariationListRequest) (resp *UpdateTierVariationListResponse, err error)

UpdateTierVariationList Use this api to update tier-variation list or upload variation image of a tier-variation item.

func (*ShopeeClient) UpdateTopPicks

func (s *ShopeeClient) UpdateTopPicks(req *UpdateTopPicksRequest) (resp *UpdateTopPicksResponse, err error)

UpdateTopPicks Use this API to update the collection name, the item list in a collection, or to activate a collection.

func (*ShopeeClient) UpdateVariationPrice

func (s *ShopeeClient) UpdateVariationPrice(req *UpdateVariationPriceRequest) (resp *UpdateVariationPriceResponse, err error)

UpdateVariationPrice Use this call to update item variation price

func (*ShopeeClient) UpdateVariationPriceBatch

func (s *ShopeeClient) UpdateVariationPriceBatch(req *UpdateVariationPriceBatchRequest) (resp *UpdateVariationPriceBatchResponse, err error)

UpdateVariationPriceBatch Update variations price in batch.

func (*ShopeeClient) UpdateVariationStock

func (s *ShopeeClient) UpdateVariationStock(req *UpdateVariationStockRequest) (resp *UpdateVariationStockResponse, err error)

UpdateVariationStock Use this call to update item variation stock

func (*ShopeeClient) UpdateVariationStockBatch

func (s *ShopeeClient) UpdateVariationStockBatch(req *UpdateVariationStockBatchRequest) (resp *UpdateVariationStockBatchResponse, err error)

UpdateVariationStockBatch Update variations stock in batch.

func (*ShopeeClient) UploadImg

func (s *ShopeeClient) UploadImg(req *UploadImgRequest) (resp *UploadImgResponse, err error)

UploadImg Use this optional API to pre-validate your image urls and convert them to Shopee image url to use in item upload APIs. This way your potential invalid urls will not block your item upload process.

type SplitOrderRequest

type SplitOrderRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Item information contained in fulfilment orders.
	Parcels []SplitOrderRequestParcel `json:"parcels,omitempty"`
}

type SplitOrderRequestParcel

type SplitOrderRequestParcel struct {
	// Itemids that will be put into a fullfillment order.
	ItemID int64 `json:"item_id,omitempty"`
	// Variation_id that will be put into a fulfillment order, if no variation please input variation_id:0.
	VariationID int64 `json:"variation_id"`
}

type SplitOrderResponse

type SplitOrderResponse struct {
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
	// Information of fulfillment orders.
	Forders []SplitOrderResponseForder `json:"forders,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type SplitOrderResponseForder

type SplitOrderResponseForder struct {
	// Shopee's unique identifier for a fulfillment order.
	ForderID string `json:"forder_id,omitempty"`
	// Item information contained in fulfillment orders.Number of items must be greater than or equal to 2. eg.[[{"item_id": 123}],[{"item_id": 456}]]
	Items []SplitOrderResponseForderItem `json:"items,omitempty"`
}

type SplitOrderResponseForderItem

type SplitOrderResponseForderItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
}

type UndoSplitOrderRequest

type UndoSplitOrderRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Shopee's unique identifier for an order.
	OrderSN string `json:"ordersn,omitempty"`
}

type UndoSplitOrderResponse

type UndoSplitOrderResponse struct {
	// Whether or not the split order has been cancelled.
	Result string `json:"result,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UnlistItemRequest

type UnlistItemRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// List of item_ids and expected status. Up to 50 items for one call.
	Items []UnlistItemRequestItem `json:"items,omitempty"`
}

type UnlistItemRequestItem

type UnlistItemRequestItem struct {
	// Item's unique identifier.
	ItemID int64 `json:"item_id,omitempty"`
	// True: unlist this item; False: list this item.
	Unlist bool `json:"unlist,omitempty"`
}

type UnlistItemResponse

type UnlistItemResponse struct {
	// List of item ids which failed to update status, including their reasons
	Failed []UnlistItemResponseFailed `json:"failed,omitempty"`
	// List of item ids which succeed to update status, including their current status.
	Success []UnlistItemResponseSuccess `json:"success,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UnlistItemResponseFailed

type UnlistItemResponseFailed struct {
	// Item's unique identifier.
	ItemID int64 `json:"item_id,omitempty"`
	// Error message.
	ErrorDesciption string `json:"error_desciption,omitempty"`
}

type UnlistItemResponseSuccess

type UnlistItemResponseSuccess struct {
	// Item's unique identifier.
	ItemID int64 `json:"item_id,omitempty"`
	// True: item is unlisted; False: item is listed.
	Unlist bool `json:"unlist,omitempty"`
}

type UpdateDiscountItemsRequest

type UpdateDiscountItemsRequest struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	//
	Items []UpdateDiscountItemsRequestItem `json:"items,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateDiscountItemsRequestItem

type UpdateDiscountItemsRequestItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The max number of this product in the promotion price.
	PurchaseLimit int `json:"purchase_limit,omitempty"`
	// The discount price of the item.
	ItemOriginalPrice float64 `json:"item_original_price,omitempty,string"`
	//
	Variations []UpdateDiscountItemsRequestItemVariation `json:"variations,omitempty"`
}

type UpdateDiscountItemsRequestItemVariation

type UpdateDiscountItemsRequestItemVariation struct {
	// Shopee's unique identifier for a variation of an item. If there is no variation of this item, you don't need to input this param. Dafault is 0.
	VariationID int64 `json:"variation_id,omitempty"`
	// The discount price of the item.
	VariationPromotionPrice float64 `json:"variation_promotion_price,omitempty,string"`
}

type UpdateDiscountItemsResponse

type UpdateDiscountItemsResponse struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// The number of items that modify successfully.
	Count int `json:"count,omitempty"`
	// The time when items are updated.
	ModifyTime int `json:"modify_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateDiscountRequest

type UpdateDiscountRequest struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Title of the discount.
	DiscountName string `json:"discount_name,omitempty"`
	// The time when discount activity end. The end time must be 1 hour later than start time. End time can only be shortened.
	EndTime int `json:"end_time,omitempty"`
	// The time when discount activity start. The new start time must later than original start time. Start time cannot be changed after discount starts.
	StartTime int `json:"start_time,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// Use this field to indicate whether or not to end discount.
	EndDiscount bool `json:"end_discount,omitempty"`
}

type UpdateDiscountResponse

type UpdateDiscountResponse struct {
	// Shopee's unique identifier for a discount activity.
	DiscountID int64 `json:"discount_id,omitempty"`
	// The time when items are updated.
	ModifyTime int `json:"modify_time,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateItemImgRequest

type UpdateItemImgRequest struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Image URLs of the item. Up to 9 images(12 images for TW mall seller), max 2.0 MB each.Image format accepted: JPG, JPEG, PNG.Suggested dimension: 1024 x 1024 px. Max size: 2MB
	Images []string `json:"images,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateItemImgResponse

type UpdateItemImgResponse struct {
	// Image URLs of the item. Up to 9 images, max 2.0 MB each.Image format accepted: JPG, JPEG, PNG.Suggested dimension: 1024 x 1024 px. Max size: 2MB
	Images []string `json:"images,omitempty"`
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateItemRequest

type UpdateItemRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Should call shopee.item.GetItemDetail to get category first.Related to result.categories.category_id
	CategoryID int64 `json:"category_id,omitempty"`
	// Name of the item in local language.
	Name string `json:"name,omitempty"`
	// Description of the item in local language. HTML is not supported.
	Description string `json:"description,omitempty"`
	// An item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// The variation of item is to list out all models of this product, for example, iPhone has model of White and Black, then its variations includes "White iPhone" and "Black iPhone".
	Variations []UpdateItemRequestVariation `json:"variations,omitempty"`
	// Should call shopee.item.GetAttributes to get attribute first. Should contain all all mandatory attribute if change the category.
	Attributes []UpdateItemRequestAttribute `json:"attributes,omitempty"`
	// The guaranteed days to ship orders. Update value to less than 7 will default the value to the respective standard per your shop location and make this item non pre-order.(e.g. 3 for CrossBorder)
	DaysToShip int `json:"days_to_ship,omitempty"`
	// The wholesales tier list. If the item has already had wholesale info, the wholesale info will be replaced. Please put the wholesale tier info in order by min count.
	Wholesales []UpdateItemRequestWholesale `json:"wholesales,omitempty"`
	// Should call shopee.logistics.GetLogistics to get logistics first. Should contain all all logistics.
	Logistics []UpdateItemRequestLogistic `json:"logistics,omitempty"`
	// the net weight of this item, the unit is KG.
	Weight float64 `json:"weight,omitempty,string"`
	// The length of package for this single item, the unit is CM
	PackageLength int `json:"package_length,omitempty"`
	// The width of package for this single item, the unit is CM
	PackageWidth int `json:"package_width,omitempty"`
	// The height of package for this single item, the unit is CM
	PackageHeight int `json:"package_height,omitempty"`
	// This indicates whether the item is secondhand.
	Condition string `json:"condition,omitempty"`
	// Url of size chart image. Only particular categories support it. max size: 500KB. 2000*2000 pixels
	SizeChart string `json:"size_chart,omitempty"`
	// Use this field to identify whether the item is pre-order. Applicable value: true/false.
	IsPreOrder bool `json:"is_pre_order,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateItemRequestAttribute

type UpdateItemRequestAttribute struct {
	// related to shopee.item.GetAttributes result.attributes.attribute_id
	AttributesID int64 `json:"attributtes_id,omitempty"`
	// related to shopee.item.GetAttributes one of result.attributes.options
	Value string `json:"value,omitempty"`
}

type UpdateItemRequestLogistic

type UpdateItemRequestLogistic struct {
	// related to shopee.logistics.GetLogistics result.logistics.logistic_id
	LogisticID int64 `json:"logistic_id,omitempty"`
	// related to shopee.logistics.GetLogistics result.logistics.enabled only affect current item
	Enabled bool `json:"enabled,omitempty"`
	// Only needed when logistics fee_type = CUSTOM_PRICE.
	ShippingFee float64 `json:"shipping_fee,omitempty,string"`
	// If specify logistic fee_type is SIZE_SELECTION size_id is required
	SizeID int64 `json:"size_id,omitempty"`
	// when seller chooses this option, the shipping fee of this channel on item will be set to 0. Default value is False.
	IsFree bool `json:"is_free,omitempty"`
}

type UpdateItemRequestVariation

type UpdateItemRequestVariation struct {
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Name of the variation that belongs to the same item. A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	Name string `json:"name,omitempty"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
}

type UpdateItemRequestWholesale

type UpdateItemRequestWholesale struct {
	// The min count of this tier wholesale. If the wholesale is not the first one, the min count must equal to max count of last tier plus one.
	Min int `json:"min,omitempty"`
	// The max count of this tier wholesale.
	Max int `json:"max,omitempty"`
	// The current price of the wholesale in the listing currency. The price must be cheaper than original price. And if the wholesale is not the first one, the price must be cheaper than previous tier.'
	UnitPrice float64 `json:"unit_price,omitempty,string"`
}

type UpdateItemResponse

type UpdateItemResponse struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	//
	Item UpdateItemResponseItem `json:"item,omitempty"`
	//
	Warning string `json:"warning,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateItemResponseItem

type UpdateItemResponseItem struct {
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// An item SKU (stock keeping unit) is an identifier defined by a seller, sometimes called parent SKU. Item SKU can be assigned to an item in Shopee Listings.
	ItemSKU string `json:"item_sku,omitempty"`
	// Enumerated type that defines the current status of the item. Applicable values: NORMAL, DELETED and BANNED.
	Status string `json:"status,omitempty"`
	// Name of the item in local language.
	Name string `json:"name,omitempty"`
	// Description of the item in local language.
	Description string `json:"description,omitempty"`
	// Image URLs of the item. It contains at most 9 URLs.
	Images []string `json:"images,omitempty"`
	// The three-digit code representing the currency unit used for the item in Shopee Listings.
	Currency string `json:"currency,omitempty"`
	// This is to indicate whether the item has variation(s).
	HasVariation bool `json:"has_variation,omitempty"`
	// The current price of the item in the listing currency. If item is in promotion, this value is discount price.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the item.
	Stock int `json:"stock,omitempty"`
	// Timestamp that indicates the date and time that the item was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of the item, such as price/stock change.
	UpdateTime int `json:"update_time,omitempty"`
	// the net weight of this item, the unit is KG.
	Weight float64 `json:"weight,omitempty,string"`
	// Could call shopee.item.GetCategories to get category detail.Related to result.categories.category_id
	CategoryID int64 `json:"category_id,omitempty"`
	// The original price of the item in the listing currency.
	OriginalPrice float64 `json:"original_price,omitempty,string"`
	// The variation list of item
	Variations []UpdateItemResponseItemVariation `json:"variations,omitempty"`
	//
	Attritube []UpdateItemResponseItemAttribute `json:"attritube,omitempty"`
	// The logistics list.
	Logistics []UpdateItemResponseItemLogistic `json:"logistics,omitempty"`
	// The wholesales tier list.
	Wholesales []UpdateItemResponseItemWholesale `json:"wholesales,omitempty"`
	// The rating star scores of this item.
	RatingStar float64 `json:"rating_star,omitempty,string"`
	// Count of comments for the item.
	CMTCount int `json:"cmt_count,omitempty"`
	// The sales volume of item.
	Sales int `json:"sales,omitempty"`
	// The page view of item.
	Views int `json:"views,omitempty"`
	// The conllection number of item.
	Likes int `json:"likes,omitempty"`
	// The length of package for this single item, the unit is CM
	PackageLength int `json:"package_length,omitempty"`
	// The width of package for this single item, the unit is CM
	PackageWidth int `json:"package_width,omitempty"`
	// The height of package for this single item, the unit is CM
	PackageHeight int `json:"package_height,omitempty"`
	// The guaranteed days to ship orders. Update value to less than 7 will default the value to the respective standard per your shop location and make this item non pre-order.(e.g. 3 for CrossBorder)
	DaysToShip int `json:"days_to_ship,omitempty"`
	// This indicates whether the item is secondhand.
	Condition string `json:"condition,omitempty"`
	// The ID of discount activity the item is currently in. One item can only have one discount at a time. discount_id will be 0 if the item has no discount applied, or item has variation.
	DiscountID int64 `json:"discount_id,omitempty"`
	// Use this field to identify whether the item is pre-order. Applicable value: true/false.
	IsPreOrder bool `json:"is_pre_order,omitempty"`
}

type UpdateItemResponseItemAttribute

type UpdateItemResponseItemAttribute struct {
	// The Identify of each category
	AttributeID int64 `json:"attribute_id,omitempty"`
	// The name of each attribute
	AttributeName string `json:"attribute_name,omitempty"`
	// This is to indicate whether this attribute is mandantory
	IsMandatory bool `json:"is_mandatory,omitempty"`
	// Enumerated type that defines the type of the attribute. Applicable values: See Data Definition- AttributeType.
	AttributeType string `json:"attribute_type,omitempty"`
	// The value of this item attribute.
	AttribueValue string `json:"attribue_value,omitempty"`
}

type UpdateItemResponseItemLogistic

type UpdateItemResponseItemLogistic struct {
	// The identity of logistic channel
	LogisticID int64 `json:"logistic_id,omitempty"`
	// The name of logistic
	LogisticName string `json:"logistic_name,omitempty"`
	// related to shopee.logistics.GetLogistics result.logistics.enabled only affect current item
	Enabled bool `json:"enabled,omitempty"`
	// Only needed when logistics fee_type = CUSTOM_PRICE.
	ShippingFee float64 `json:"shipping_fee,omitempty,string"`
	// If specify logistic fee_type is SIZE_SELECTION size_id is required
	SizeID int64 `json:"size_id,omitempty"`
	// when seller chooses this option, the shipping fee of this channel on item will be set to 0. Default value is False.
	IsFree bool `json:"is_free,omitempty"`
	// Estimated shipping fee calculated by weight. Don't exist if channel is no-integrated.
	EstimatedShippingFee float64 `json:"estimated_shipping_fee,omitempty,string"`
}

type UpdateItemResponseItemVariation

type UpdateItemResponseItemVariation struct {
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// A variation SKU (stock keeping unit) is an identifier defined by a seller. It is only intended for the seller's use. Many sellers assign a SKU to an item of a specific type, size, and color, which are variations of one item in Shopee Listings.
	VariationSKU string `json:"variation_sku,omitempty"`
	// Name of the variation that belongs to the same item. A seller can offer variations of the same item. For example, the seller could create a fixed-priced listing for a t-shirt design and offer the shirt in different colors and sizes. In this case, each color and size combination is a separate variation. Each variation can have a different quantity and price.
	Name string `json:"name,omitempty"`
	// The current price of the variation in the listing currency.If item is in promotion, this value is discount price.
	Price float64 `json:"price,omitempty,string"`
	// The current stock quantity of the variation in the listing currency.
	Stock int `json:"stock,omitempty"`
	// Enumerated type that defines the current status of the variation. Applicable values: MODEL_NORMAL and MODEL_DELETED.
	Status string `json:"status,omitempty"`
	// Timestamp that indicates the date and time that the variation was created.
	CreateTime int `json:"create_time,omitempty"`
	// Timestamp that indicates the last time that there was a change in value of the variation, such as price/stock change.
	UpdateTime int `json:"update_time,omitempty"`
	// The original price of the variation in the listing currency.
	OriginalPirce float64 `json:"original_pirce,omitempty,string"`
	// The ID of discount activity the variation is currently in. One variation can only have one discount at a time. discount_id will be 0 if the variation has no discount applied.
	DiscountID int64 `json:"discount_id,omitempty"`
}

type UpdateItemResponseItemWholesale

type UpdateItemResponseItemWholesale struct {
	// The min count of this tier wholesale.
	Min int `json:"min,omitempty"`
	// The max count of this tier wholesale.
	Max int `json:"max,omitempty"`
	// The current price of the wholesale in the listing currency.If item is in promotion, this price is useless.
	UnitPrice float64 `json:"unit_price,omitempty,string"`
}

type UpdatePriceBatchRequest

type UpdatePriceBatchRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// List of items to update price. Up to 50 items in one call.
	Items []UpdatePriceBatchRequestItem `json:"items,omitempty"`
}

type UpdatePriceBatchRequestItem

type UpdatePriceBatchRequestItem struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// New price value for this item.
	Price int `json:"price,omitempty"`
}

type UpdatePriceBatchResponse

type UpdatePriceBatchResponse struct {
	// Result of batch updating.
	BatchResult []UpdatePriceBatchResponseBatchResult `json:"batch_result,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdatePriceBatchResponseBatchResult

type UpdatePriceBatchResponseBatchResult struct {
	// List of item_id which have been updated successfully.
	Modifications []string `json:"modifications,omitempty"`
	// Informations for failed stock updating.
	Failures []UpdatePriceBatchResponseBatchResultFailure `json:"failures,omitempty"`
}

type UpdatePriceBatchResponseBatchResultFailure

type UpdatePriceBatchResponseBatchResultFailure struct {
	// Shopee's unique identifier for an item. Indicating items which failed to update.
	ItemID int64 `json:"item_id,omitempty"`
	// Detailed information for the failed updating.
	ErrorDescription string `json:"error_description,omitempty"`
}

type UpdatePriceRequest

type UpdatePriceRequest struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// Specify the revised price of the item. This value will be ignored if there is variation level price input.
	Price float64 `json:"price,omitempty,string"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdatePriceResponse

type UpdatePriceResponse struct {
	//
	Item UpdatePriceResponseItem `json:"item,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdatePriceResponseItem

type UpdatePriceResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The time when price of the item is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// Specify the revised price of the item.
	Price float64 `json:"price,omitempty,string"`
}

type UpdateShopCategoryRequest

type UpdateShopCategoryRequest struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// ShopCategory's name.
	Name string `json:"name,omitempty"`
	// ShopCategory's sort weight.
	SortWeight int `json:"sort_weight,omitempty"`
	// ShopCategory's status. Applicable values: NORMAL, INACTIVE, DELETED.
	Status string `json:"status,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateShopCategoryResponse

type UpdateShopCategoryResponse struct {
	// ShopCategory's unique identifier.
	ShopCategoryID int64 `json:"shop_category_id,omitempty"`
	// ShopCategory's name.
	Name string `json:"name,omitempty"`
	// ShopCategory's sort weight.
	SortWeight int `json:"sort_weight,omitempty"`
	// ShopCategory's status. Applicable values: NORMAL, INACTIVE, DELETED.
	Status string `json:"status,omitempty"`
	// The identifier for an API request for error tracking.
	RequestID string `json:"request_id,omitempty"`
}

type UpdateShopInfoRequest

type UpdateShopInfoRequest struct {
	// Shop name of this shop.
	ShopName string `json:"shop_name,omitempty"`
	// List of images url of shop banners.
	Images []string `json:"images,omitempty"`
	// List of videos url of shop banners.
	Videos []string `json:"videos,omitempty"`
	// Allow negotiations or not, 1: don't allow, 0: allow.
	DisableMakeOffer int `json:"disable_make_offer,omitempty"`
	// Display pickup address or not.
	EnableDisplayUnitNo bool `json:"enable_display_unit_no,omitempty"`
	// Description of the shop.
	ShopDescription string `json:"shop_description,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateShopInfoResponse

type UpdateShopInfoResponse struct {
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// Shop name of this shop.
	ShopName string `json:"shop_name,omitempty"`
	// List of images url of shop banners.
	Images []string `json:"images,omitempty"`
	// List of videos url of shop banners. Only accept youtube video urls.
	Videos []string `json:"videos,omitempty"`
	// Allow negotiations or not, 1: don't allow, 0: allow.
	DisableMakeOffer int `json:"disable_make_offer,omitempty"`
	// Display pickup address or not.
	EnableDisplayUnitNo bool `json:"enable_display_unit_no,omitempty"`
	// Warning message if parts of image/video uploads failed.
	Warning string `json:"warning,omitempty"`
	// Description of the shop.
	ShopDescription string `json:"shop_description,omitempty"`
	// The two-digit code representing the country where the order was made.
	Country string `json:"country,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateShopLogisticsRequest

type UpdateShopLogisticsRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// The identity of logistic channel
	LogisticID int64 `json:"logistic_id,omitempty"`
	// Whether to enable this logistic channel
	Enabled bool `json:"enabled,omitempty"`
	// Whether to make this logistic channel preferred. Indonestia logistics channel are not applicable.
	Preferred bool `json:"preferred,omitempty"`
	// Whether to enable COD for this logistic channel. Only COD supported channels are applicable.
	COD bool `json:"cod,omitempty"`
}

type UpdateShopLogisticsResponse

type UpdateShopLogisticsResponse struct {
	// Shopee's unique identifier for a shop.
	ShopID int64 `json:"shopid,omitempty"`
	// The identity of logistic channel
	LogisticID int64 `json:"logistic_id,omitempty"`
	// Whether this logistic channel is enabled
	Enabled bool `json:"enabled,omitempty"`
	// Whether this logistic channel is preferred
	Preferred bool `json:"preferred,omitempty"`
	// WHether COD is enabled for this channel
	COD bool `json:"cod,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateStockBatchRequest

type UpdateStockBatchRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// List of items to update stock. Up to 50 items in one call.
	Items []UpdateStockBatchRequestItem `json:"items,omitempty"`
}

type UpdateStockBatchRequestItem

type UpdateStockBatchRequestItem struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// New stock value for this item.
	Stock int `json:"stock,omitempty"`
}

type UpdateStockBatchResponse

type UpdateStockBatchResponse struct {
	// Result of batch updating.
	BatchResult []UpdateStockBatchResponseBatchResult `json:"batch_result,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateStockBatchResponseBatchResult

type UpdateStockBatchResponseBatchResult struct {
	// List of item_id which have been updated successfully.
	Modifications []string `json:"modifications,omitempty"`
	// Informations for failed stock updating.
	Failures []UpdateStockBatchResponseBatchResultFailure `json:"failures,omitempty"`
}

type UpdateStockBatchResponseBatchResultFailure

type UpdateStockBatchResponseBatchResultFailure struct {
	// Shopee's unique identifier for an item. Indicating items which failed to update.
	ItemID int64 `json:"item_id,omitempty"`
	// Detailed information for the failed updating.
	ErrorDescription string `json:"error_description,omitempty"`
}

type UpdateStockRequest

type UpdateStockRequest struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// Specify the updated stock quantity. This value will be ignored if there is variation level stock input.
	Stock int `json:"stock,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateStockResponse

type UpdateStockResponse struct {
	//
	Item UpdateStockResponseItem `json:"item,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateStockResponseItem

type UpdateStockResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The time when price of the item is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// Specify the updated stock quantity.
	Stock int `json:"stock,omitempty"`
}

type UpdateTierVariationIndexRequest

type UpdateTierVariationIndexRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// 2-Tier variation list.
	Variation []UpdateTierVariationIndexRequestVariation `json:"variation,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateTierVariationIndexRequestVariation

type UpdateTierVariationIndexRequestVariation struct {
	// A list of tier variation indexes, which indicate variation's options in tier_variation['options'] list.
	TierIndex []int `json:"tier_index,omitempty"`
	// The identity of product item variation.
	VariationID []int `json:"variation_id,omitempty"`
}

type UpdateTierVariationIndexResponse

type UpdateTierVariationIndexResponse struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateTierVariationListRequest

type UpdateTierVariationListRequest struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// Tier_variation list. Length must be 1 or 2.
	TierVariation []UpdateTierVariationListRequestTierVariation `json:"tier_variation,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateTierVariationListRequestTierVariation

type UpdateTierVariationListRequestTierVariation struct {
	// Tier variation name.
	Name string `json:"name,omitempty"`
	// Tier variation value options list. Lenght should be under 20. Combinations of 2 level options should be under 50.
	Options []string `json:"options,omitempty"`
	// Tier variation images. Can only be applied for the first level options. Urls sequence match the options sequence and urls number cannot exceed options number.
	ImagesURL []string `json:"images_url,omitempty"`
}

type UpdateTierVariationListResponse

type UpdateTierVariationListResponse struct {
	// The identity of product item.
	ItemID int64 `json:"item_id,omitempty"`
	// The identifier of the API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateTopPicksRequest

type UpdateTopPicksRequest struct {
	// Collection id
	TopPicksID int64 `json:"top_picks_id,omitempty"`
	// Collection name. 1 to 24 characters.
	Name string `json:"name,omitempty"`
	// The list of item id. Existed item_ids will overridden by the new_item_ids.
	ItemIDs []int `json:"item_i_ds,omitempty"`
	// True or False. If true, it will activate this collection and deactivate the original one.
	IsActivated bool `json:"is_activated,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateTopPicksResponse

type UpdateTopPicksResponse struct {
	// Collection id
	TopPicksID int64 `json:"top_picks_id,omitempty"`
	// Whether it is activated or not.
	IsActivated bool `json:"is_activated,omitempty"`
	// Collection name
	Name string `json:"name,omitempty"`
	// Item list of the collection
	Items []UpdateTopPicksResponseItem `json:"items,omitempty"`
}

type UpdateTopPicksResponseItem

type UpdateTopPicksResponseItem struct {
	// Item ID
	ItemID int64 `json:"item_id,omitempty"`
	// Item name
	ItemName string `json:"item_name,omitempty"`
	// Item discounted price(original price if no discount). Item level price will return if it has variation.
	ItemPrice float64 `json:"item_price,omitempty,string"`
	// The sales of the item
	Sales int `json:"sales,omitempty"`
}

type UpdateVariationPriceBatchRequest

type UpdateVariationPriceBatchRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// List of variations to update price. Up to 50 variations in one call.
	Variations []UpdateVariationPriceBatchRequestVariation `json:"variations,omitempty"`
}

type UpdateVariationPriceBatchRequestVariation

type UpdateVariationPriceBatchRequestVariation struct {
	// Shopee's unique identifier for a variation of an item. Please input the variation_id of a variation to be changed. The variation_id and item_id pair must be matched in order to perform the update.
	VariationID int64 `json:"variation_id,omitempty"`
	// New price value of this variation.
	Price int `json:"price,omitempty"`
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
}

type UpdateVariationPriceBatchResponse

type UpdateVariationPriceBatchResponse struct {
	// Result of batch updating.
	BatchResult []UpdateVariationPriceBatchResponseBatchResult `json:"batch_result,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateVariationPriceBatchResponseBatchResult

type UpdateVariationPriceBatchResponseBatchResult struct {
	// List of item_id which have been updated successfully.
	Modifications []UpdateVariationPriceBatchResponseBatchResultModification `json:"modifications,omitempty"`
	// Informations for failed stock updating.
	Failures []UpdateVariationPriceBatchResponseBatchResultFailure `json:"failures,omitempty"`
}

type UpdateVariationPriceBatchResponseBatchResultFailure

type UpdateVariationPriceBatchResponseBatchResultFailure struct {
	// Shopee's unique identifier for an item. Indicating items which failed to update.
	ItemID int64 `json:"item_id,omitempty"`
	// Detailed information for the failed updating.
	ErrorDescription string `json:"error_description,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
}

type UpdateVariationPriceBatchResponseBatchResultModification

type UpdateVariationPriceBatchResponseBatchResultModification struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
}

type UpdateVariationPriceRequest

type UpdateVariationPriceRequest struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// Specify the revised price of one variation of the item.
	Price float64 `json:"price,omitempty,string"`
	// Shopee's unique identifier for a variation of an item. Please input the variation_id of a variation to be changed. The variation_id and item_id pair must be matched in order to perform the update.
	VariationID int64 `json:"variation_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateVariationPriceResponse

type UpdateVariationPriceResponse struct {
	//
	Item UpdateVariationPriceResponseItem `json:"item,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateVariationPriceResponseItem

type UpdateVariationPriceResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The time when price of the item is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
	// Specify the revised price of one variation of the item.
	Price float64 `json:"price,omitempty,string"`
}

type UpdateVariationStockBatchRequest

type UpdateVariationStockBatchRequest struct {
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
	// List of variations to update price. Up to 50 variations in one call.
	Variations []UpdateVariationStockBatchRequestVariation `json:"variations,omitempty"`
}

type UpdateVariationStockBatchRequestVariation

type UpdateVariationStockBatchRequestVariation struct {
	// Shopee's unique identifier for a variation of an item. Please input the variation_id of a variation to be changed. The variation_id and item_id pair must be matched in order to perform the update.
	VariationID int64 `json:"variation_id,omitempty"`
	// New stock value of this variation.
	Stock int `json:"stock,omitempty"`
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
}

type UpdateVariationStockBatchResponse

type UpdateVariationStockBatchResponse struct {
	// Result of batch updating.
	BatchResult []UpdateVariationStockBatchResponseBatchResult `json:"batch_result,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateVariationStockBatchResponseBatchResult

type UpdateVariationStockBatchResponseBatchResult struct {
	// List of item_id which have been updated successfully.
	Modifications []UpdateVariationStockBatchResponseBatchResultModification `json:"modifications,omitempty"`
	// Informations for failed stock updating.
	Failures []UpdateVariationStockBatchResponseBatchResultFailure `json:"failures,omitempty"`
}

type UpdateVariationStockBatchResponseBatchResultFailure

type UpdateVariationStockBatchResponseBatchResultFailure struct {
	// Shopee's unique identifier for an item. Indicating items which failed to update.
	ItemID int64 `json:"item_id,omitempty"`
	// Detailed information for the failed updating.
	ErrorDescription string `json:"error_description,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
}

type UpdateVariationStockBatchResponseBatchResultModification

type UpdateVariationStockBatchResponseBatchResultModification struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
}

type UpdateVariationStockRequest

type UpdateVariationStockRequest struct {
	// Shopee's unique identifier for an item. Please input the item_id of an item to be changed.
	ItemID int64 `json:"item_id,omitempty"`
	// Specify the updated stock quantity.
	Stock int `json:"stock,omitempty"`
	// Shopee's unique identifier for a variation of an item. Please input the variation_id of a variation to be changed. The variation_id and item_id pair must be matched in order to perform the update.
	VariationID int64 `json:"variation_id,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UpdateVariationStockResponse

type UpdateVariationStockResponse struct {
	//
	Item UpdateVariationStockResponseItem `json:"item,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UpdateVariationStockResponseItem

type UpdateVariationStockResponseItem struct {
	// Shopee's unique identifier for an item.
	ItemID int64 `json:"item_id,omitempty"`
	// The time when price of the item is updated.
	ModifiedTime int `json:"modified_time,omitempty"`
	// Specify the updated stock quantity.
	Stock int `json:"stock,omitempty"`
	// Shopee's unique identifier for a variation of an item.
	VariationID int64 `json:"variation_id,omitempty"`
}

type UploadImgRequest

type UploadImgRequest struct {
	// Image url. max 2.0 MB each.Image format accepted: JPG, JPEG, PNG.Suggested dimension: 1024 x 1024 px. Max number of image is 9.
	Images []string `json:"images,omitempty"`
	// Partner ID is assigned upon registration is successful. Required for all requests.
	PartnerID int64 `json:"partner_id,omitempty"`
	// Shopee's unique identifier for a shop. Required for all requests.
	ShopID int64 `json:"shopid,omitempty"`
	// This is to indicate the timestamp of the request. Required for all requests.
	Timestamp int `json:"timestamp,omitempty"`
}

type UploadImgResponse

type UploadImgResponse struct {
	//
	Images []UploadImgResponseImage `json:"images,omitempty"`
	// The identifier for an API request for error tracking
	RequestID string `json:"request_id,omitempty"`
}

type UploadImgResponseImage

type UploadImgResponseImage struct {
	// origin image url
	ImageURL string `json:"image_url,omitempty"`
	// Shopee image url
	ShopeeImageURL string `json:"shopee_image_url,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL