You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
taobao/tbk.dg.optimus.material.go

77 lines
3.1 KiB

package taobao
import (
"context"
"encoding/json"
"go.dtapp.net/gorequest"
)
type TbkDgOptimusMaterialResponse struct {
TbkDgOptimusMaterialResponse struct {
IsDefault string `json:"is_default"`
ResultList struct {
MapData []struct {
CategoryId int `json:"category_id"`
ClickUrl string `json:"click_url"`
CommissionRate string `json:"commission_rate"`
CouponAmount int64 `json:"coupon_amount"`
CouponClickUrl string `json:"coupon_click_url"`
CouponEndTime string `json:"coupon_end_time"`
CouponRemainCount int `json:"coupon_remain_count"`
CouponShareUrl string `json:"coupon_share_url"`
CouponStartFee string `json:"coupon_start_fee"`
CouponStartTime string `json:"coupon_start_time"`
CouponTotalCount int `json:"coupon_total_count"`
CpaRewardType string `json:"cpa_reward_type"`
ItemDescription string `json:"item_description"`
ItemId string `json:"item_id"`
JhsPriceUspList string `json:"jhs_price_usp_list"`
LevelOneCategoryId int64 `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 struct {
String []string `json:"string"`
} `json:"small_images"`
SubTitle string `json:"sub_title"`
Title string `json:"title"`
UserType int `json:"user_type"`
Volume int64 `json:"volume"`
WhiteImage string `json:"white_image"`
ZkFinalPrice string `json:"zk_final_price"`
} `json:"map_data"`
} `json:"result_list"`
RequestId string `json:"request_id"`
TotalCount int64 `json:"total_count,omitempty"`
} `json:"tbk_dg_optimus_material_response"`
}
type TbkDgOptimusMaterialResult struct {
Result TbkDgOptimusMaterialResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
Err error // 错误
}
func newTbkDgOptimusMaterialResult(result TbkDgOptimusMaterialResponse, body []byte, http gorequest.Response, err error) *TbkDgOptimusMaterialResult {
return &TbkDgOptimusMaterialResult{Result: result, Body: body, Http: http, Err: err}
}
// TbkDgOptimusMaterial 淘宝客-推广者-物料精选
// https://open.taobao.com/api.htm?docId=33947&docType=2&source=search
func (c *Client) TbkDgOptimusMaterial(ctx context.Context, notMustParams ...Params) *TbkDgOptimusMaterialResult {
// 参数
params := NewParamsWithType("taobao.tbk.dg.optimus.material", notMustParams...)
params.Set("adzone_id", c.GetAdzoneId())
// 请求
request, err := c.request(ctx, params)
// 定义
var response TbkDgOptimusMaterialResponse
err = json.Unmarshal(request.ResponseBody, &response)
return newTbkDgOptimusMaterialResult(response, request.ResponseBody, request, err)
}