github.com/bububa/oceanengine/marketing-api@v0.0.0-20210315120513-0b953137f7a6/model/ad/get_request.go (about) 1 package ad 2 3 import ( 4 "encoding/json" 5 "net/url" 6 "strconv" 7 8 "github.com/bububa/oceanengine/marketing-api/enum" 9 ) 10 11 type GetRequest struct { 12 AdvertiserID uint64 `json:"advertiser_id,omitempty"` 13 Filtering *GetFiltering `json:"filtering,omitempty"` 14 Fields []string `json:"fields,omitempty"` // 查询字段集合, 如果指定, 则返回结果数组中, 每个元素是包含所查询字段的字典允许值: "id", "name", "budget", "budget_mode", "status", "opt_status","open_url", "modify_time", "start_time", "end_time", "bid","advertiser_id", "pricing", "flow_control_mode", "download_url", quick_app_url, "inventory_type", "schedule_type", "app_type", "cpa_bid","cpa_skip_first_phrase", "audience", "external_url", "package","campaign_id", "ad_modify_time", "ad_create_time","audit_reject_reason", "retargeting_type", "retargeting_tags","convert_id", "interest_tags", "hide_if_converted","external_actions", "device_type","auto_extend_enabled", "auto_extend_targets", "dpa_lbs", "dpa_city", "dpa_province", "dpa_recommend_type", "roi_goal","subscribe_url","form_id","form_index","app_desc","app_thumbnails" 15 Page int `json:"page,omitempty"` 16 PageSize int `json:"page_size,omitempty"` 17 } 18 19 func (r GetRequest) Encode() string { 20 values := &url.Values{} 21 values.Set("advertiser_id", strconv.FormatUint(r.AdvertiserID, 10)) 22 if r.Filtering != nil { 23 filtering, _ := json.Marshal(r.Filtering) 24 values.Set("filtering", string(filtering)) 25 } 26 if r.Page > 0 { 27 values.Set("page", strconv.Itoa(r.Page)) 28 } 29 if r.PageSize > 0 { 30 values.Set("page_size", strconv.Itoa(r.PageSize)) 31 } 32 return values.Encode() 33 } 34 35 type GetFiltering struct { 36 IDs []uint64 `json:"ids,omitempty"` // 按广告计划ID过滤,范围为1-100 37 AdName string `json:"ad_name,omitempty"` // 按广告计划name过滤,长度为1-30个字符 38 PricingList enum.PricingType `json:"pricing_list,omitempty"` // 按出价方式过滤 39 Status enum.AdStatus `json:"status,omitempty"` // 按计划状态过滤,默认为返回“所有不包含已删除”,如果要返回所有包含已删除有对应枚举表示 40 AdCreateTime string `json:"ad_create_time,omitempty"` // 广告计划创建时间,格式"yyyy-mm-dd",表示过滤出当天创建的广告计划 41 AdModifyTime string `json:"ad_modify_time,omitempty"` // 广告计划更新时间,格式"yyyy-mm-dd",表示过滤出当天更新的广告计划 42 }