149 lines
6.3 KiB
Go
149 lines
6.3 KiB
Go
package tbunionapi
|
|
|
|
import "git.rosy.net.cn/baseapi/utils"
|
|
|
|
const (
|
|
SSRXCatID = 28026
|
|
)
|
|
|
|
type OptimusMaterialResult struct {
|
|
CategoryID int `json:"category_id"`
|
|
ClickURL string `json:"click_url"`
|
|
CommissionRate string `json:"commission_rate"`
|
|
CouponAmount int `json:"coupon_amount"`
|
|
CouponClickURL string `json:"coupon_click_url,omitempty"`
|
|
CouponEndTime string `json:"coupon_end_time"`
|
|
CouponRemainCount int `json:"coupon_remain_count"`
|
|
CouponShareURL string `json:"coupon_share_url,omitempty"`
|
|
CouponStartFee string `json:"coupon_start_fee"`
|
|
CouponStartTime string `json:"coupon_start_time"`
|
|
CouponTotalCount int `json:"coupon_total_count"`
|
|
ItemDescription string `json:"item_description"`
|
|
ItemID int64 `json:"item_id"`
|
|
JhsPriceUspList string `json:"jhs_price_usp_list"`
|
|
LevelOneCategoryID int `json:"level_one_category_id"`
|
|
LevelOneCategoryName string `json:"level_one_category_name"`
|
|
Nick string `json:"nick"`
|
|
PictURL string `json:"pict_url"`
|
|
ReservePrice string `json:"reserve_price"`
|
|
SellerID int64 `json:"seller_id"`
|
|
ShopTitle string `json:"shop_title"`
|
|
ShortTitle string `json:"short_title"`
|
|
SmallImages []string `json:"small_images,omitempty"`
|
|
SubTitle string `json:"sub_title"`
|
|
Title string `json:"title"`
|
|
UserType int `json:"user_type"`
|
|
Volume int `json:"volume"`
|
|
WhiteImage string `json:"white_image"`
|
|
ZkFinalPrice string `json:"zk_final_price"`
|
|
}
|
|
|
|
//物料精选
|
|
func (a *API) OptimusMaterial(materialID, adzoneID, pageNo, pageSize int) (activityInfoGetResult []*OptimusMaterialResult, err error) {
|
|
result, err := a.AccessAPI("taobao.tbk.dg.optimus.material", false, map[string]interface{}{
|
|
"material_id": materialID,
|
|
"adzone_id": adzoneID,
|
|
"page_no": pageNo,
|
|
"page_size": pageSize,
|
|
})
|
|
if err == nil {
|
|
utils.Map2StructByJson(result["result_list"], &activityInfoGetResult, false)
|
|
}
|
|
return activityInfoGetResult, err
|
|
}
|
|
|
|
type MaterialOptionalParam struct {
|
|
AdzoneID int `json:"adzone_id,omitempty"`
|
|
Q string `json:"q,omitempty"`
|
|
PageNo int `json:"page_no,omitempty"`
|
|
PageSize int `json:"page_size,omitempty"`
|
|
Sort string `json:"sort,omitempty"`
|
|
}
|
|
|
|
type MaterialOptionalResult struct {
|
|
ResultList []struct {
|
|
CategoryID int `json:"category_id"`
|
|
CategoryName string `json:"category_name"`
|
|
CommissionRate string `json:"commission_rate"`
|
|
CommissionType string `json:"commission_type"`
|
|
CouponAmount string `json:"coupon_amount,omitempty"`
|
|
CouponEndTime string `json:"coupon_end_time,omitempty"`
|
|
CouponID string `json:"coupon_id"`
|
|
CouponInfo string `json:"coupon_info"`
|
|
CouponRemainCount int `json:"coupon_remain_count"`
|
|
CouponShareURL string `json:"coupon_share_url,omitempty"`
|
|
CouponStartFee string `json:"coupon_start_fee,omitempty"`
|
|
CouponStartTime string `json:"coupon_start_time,omitempty"`
|
|
CouponTotalCount int `json:"coupon_total_count"`
|
|
IncludeDxjh string `json:"include_dxjh"`
|
|
IncludeMkt string `json:"include_mkt"`
|
|
InfoDxjh string `json:"info_dxjh"`
|
|
ItemDescription string `json:"item_description"`
|
|
ItemID int64 `json:"item_id"`
|
|
ItemURL string `json:"item_url"`
|
|
LevelOneCategoryID int `json:"level_one_category_id"`
|
|
LevelOneCategoryName string `json:"level_one_category_name"`
|
|
Nick string `json:"nick"`
|
|
NumIid int64 `json:"num_iid"`
|
|
PictURL string `json:"pict_url"`
|
|
PresaleDeposit string `json:"presale_deposit"`
|
|
PresaleEndTime int `json:"presale_end_time"`
|
|
PresaleStartTime int `json:"presale_start_time"`
|
|
PresaleTailEndTime int `json:"presale_tail_end_time"`
|
|
PresaleTailStartTime int `json:"presale_tail_start_time"`
|
|
Provcity string `json:"provcity"`
|
|
RealPostFee string `json:"real_post_fee"`
|
|
ReservePrice string `json:"reserve_price"`
|
|
SellerID int64 `json:"seller_id"`
|
|
ShopDsr int `json:"shop_dsr"`
|
|
ShopTitle string `json:"shop_title"`
|
|
ShortTitle string `json:"short_title"`
|
|
SmallImages []string `json:"small_images"`
|
|
SuperiorBrand string `json:"superior_brand"`
|
|
Title string `json:"title"`
|
|
TkTotalCommi string `json:"tk_total_commi"`
|
|
TkTotalSales string `json:"tk_total_sales"`
|
|
URL string `json:"url"`
|
|
UserType int `json:"user_type"`
|
|
Volume int `json:"volume"`
|
|
WhiteImage string `json:"white_image"`
|
|
XID string `json:"x_id"`
|
|
ZkFinalPrice string `json:"zk_final_price"`
|
|
} `json:"result_list"`
|
|
TotalResults int `json:"total_results"`
|
|
RequestID string `json:"request_id"`
|
|
}
|
|
|
|
//物料搜索
|
|
func (a *API) MaterialOptional(param *MaterialOptionalParam) (activityInfoGetResult *MaterialOptionalResult, err error) {
|
|
result, err := a.AccessAPI("taobao.tbk.dg.material.optional", false, utils.Struct2FlatMap(param))
|
|
if err == nil {
|
|
utils.Map2StructByJson(result, &activityInfoGetResult, false)
|
|
}
|
|
return activityInfoGetResult, err
|
|
}
|
|
|
|
//商品链接转换
|
|
func (a *API) ItemConvert(itemID int) (activityInfoGetResult []*OptimusMaterialResult, err error) {
|
|
result, err := a.AccessAPI("taobao.tbk.item.convert", false, map[string]interface{}{
|
|
"fields": "num_iid,click_url",
|
|
"num_iids": utils.Int2Str(itemID),
|
|
"adzone_id": JxAdzoneID,
|
|
})
|
|
if err == nil {
|
|
utils.Map2StructByJson(result["result_list"], &activityInfoGetResult, false)
|
|
}
|
|
return activityInfoGetResult, err
|
|
}
|
|
|
|
//商品类目查询
|
|
func (a *API) ItemcatsGet(itemID int) (activityInfoGetResult []*OptimusMaterialResult, err error) {
|
|
result, err := a.AccessAPI("taobao.itemcats.get", false, map[string]interface{}{
|
|
"parent_cid": 0,
|
|
})
|
|
if err == nil {
|
|
utils.Map2StructByJson(result["result_list"], &activityInfoGetResult, false)
|
|
}
|
|
return activityInfoGetResult, err
|
|
}
|