feat:新增小时级报表接口
This commit is contained in:
parent
1c0b28db1f
commit
4d92809b1d
|
@ -201,3 +201,20 @@ func (ability *Defaultability) TaobaoUnideskRtaReportAsynctaskResultGet(req *req
|
|||
err = util.HandleJsonResponse(jsonStr, &respStruct)
|
||||
return &respStruct, err
|
||||
}
|
||||
|
||||
/*
|
||||
UD报表-小时数据报表查询接口
|
||||
*/
|
||||
func (ability *Defaultability) TaobaoUnideskRtaReportHourlyGet(req *request.TaobaoUnideskRtaReportHourlyGetRequest, accessToken string) (*response.TaobaoUnideskRtaReportHourlyGetResponse, error) {
|
||||
if ability.Client == nil {
|
||||
return nil, errors.New("Defaultability topClient is nil")
|
||||
}
|
||||
var jsonStr, err = ability.Client.ExecuteWithSession("taobao.unidesk.rta.report.hourly.get", req.ToMap(), req.ToFileMap(), accessToken)
|
||||
var respStruct = response.TaobaoUnideskRtaReportHourlyGetResponse{}
|
||||
if err != nil {
|
||||
log.Println("taobaoUnideskRtaReportHourlyGet error", err)
|
||||
return &respStruct, err
|
||||
}
|
||||
err = util.HandleJsonResponse(jsonStr, &respStruct)
|
||||
return &respStruct, err
|
||||
}
|
||||
|
|
|
@ -0,0 +1,103 @@
|
|||
package domain
|
||||
|
||||
type ReportTopHourlyQueryDTO struct {
|
||||
/*
|
||||
排序字段
|
||||
*/
|
||||
OrderByField *string `json:"order_by_field,omitempty" required:"false" `
|
||||
|
||||
/*
|
||||
第几页
|
||||
*/
|
||||
PageNo *int `json:"page_no,omitempty" required:"false"`
|
||||
|
||||
/*
|
||||
排序方式,ASC:正序、DESC:倒序
|
||||
*/
|
||||
OrderByType *string `json:"order_by_type,omitempty" required:"false"`
|
||||
|
||||
/*
|
||||
每页多少条
|
||||
*/
|
||||
PageSize *int `json:"page_size,omitempty" required:"false"`
|
||||
|
||||
/*
|
||||
分组条件,素材分组仅头条2.0支持,STAT_GROUP_BY_ADVERTISER_ID:按照广告主分组,STAT_GROUP_BY_CAMPAIGN_ID:按照计划组分组,STAT_GROUP_BY_ADGROUP_ID:按照计划分组,STAT_GROUP_BY_CREATIVE_ID:按照创意分组,STAT_GROUP_BY_TIME_DAY:按照天分组,STAT_GROUP_BY_MATERIAL_ID:按照素材分组,STAT_GROUP_BY_MATERIAL_X_ADGROUP_ID:按照素材X计划分组,STAT_GROUP_BY_COMBINATION_MATERIAL_ID:按照素材组合分组,STAT_GROUP_BY_COMBINATION_MATERIALX_CAMPAIGN_ID:按照素材组合X项目分组
|
||||
*/
|
||||
GroupBy *[]string `json:"group_by" required:"true"`
|
||||
|
||||
/*
|
||||
需要返回的指标,不指定则返回默认指标
|
||||
*/
|
||||
Fields *[]string `json:"fields,omitempty" required:"false"`
|
||||
|
||||
/*
|
||||
过滤条件
|
||||
*/
|
||||
Filtering *ReportFilterTopQueryDTO `json:"filtering,omitempty" required:"false"`
|
||||
|
||||
/*
|
||||
查询时间,只支持今天和昨天,格式:yyyy-MM-dd
|
||||
*/
|
||||
TheDate *string `json:"the_date,omitempty" required:"false"`
|
||||
|
||||
/*
|
||||
广告主id
|
||||
*/
|
||||
AdvertiserId *int64 `json:"advertiser_id" required:"true"`
|
||||
|
||||
/*
|
||||
平台版本,9999:升级版API(仅巨量2.0API需传入)
|
||||
*/
|
||||
Version *int `json:"version,omitempty" required:"false"`
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetOrderByField(v string) *ReportTopHourlyQueryDTO {
|
||||
s.OrderByField = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetPageNo(v int) *ReportTopHourlyQueryDTO {
|
||||
s.PageNo = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetOrderByType(v string) *ReportTopHourlyQueryDTO {
|
||||
s.OrderByType = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetPageSize(v int) *ReportTopHourlyQueryDTO {
|
||||
s.PageSize = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetGroupBy(v []string) *ReportTopHourlyQueryDTO {
|
||||
s.GroupBy = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetFields(v []string) *ReportTopHourlyQueryDTO {
|
||||
s.Fields = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetFiltering(v ReportFilterTopQueryDTO) *ReportTopHourlyQueryDTO {
|
||||
s.Filtering = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetTheDate(v string) *ReportTopHourlyQueryDTO {
|
||||
s.TheDate = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetAdvertiserId(v int64) *ReportTopHourlyQueryDTO {
|
||||
s.AdvertiserId = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTopHourlyQueryDTO) SetVersion(v int) *ReportTopHourlyQueryDTO {
|
||||
s.Version = &v
|
||||
return s
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package request
|
||||
|
||||
import (
|
||||
"git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
|
||||
"git.sunqdl.cn/fgqj/topsdk/util"
|
||||
)
|
||||
|
||||
type TaobaoUnideskRtaReportHourlyGetRequest struct {
|
||||
ReportTopQueryDto *domain.ReportTopHourlyQueryDTO `json:"report_top_query_dto" required:"true" `
|
||||
}
|
||||
|
||||
func (s *TaobaoUnideskRtaReportHourlyGetRequest) SetReportTopQueryDto(v domain.ReportTopHourlyQueryDTO) *TaobaoUnideskRtaReportHourlyGetRequest {
|
||||
s.ReportTopQueryDto = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (req *TaobaoUnideskRtaReportHourlyGetRequest) ToMap() map[string]interface{} {
|
||||
paramMap := make(map[string]interface{})
|
||||
if req.ReportTopQueryDto != nil {
|
||||
paramMap["report_top_query_dto"] = util.ConvertStructList(*req.ReportTopQueryDto)
|
||||
}
|
||||
return paramMap
|
||||
}
|
||||
|
||||
func (req *TaobaoUnideskRtaReportHourlyGetRequest) ToFileMap() map[string]interface{} {
|
||||
fileMap := make(map[string]interface{})
|
||||
return fileMap
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
package response
|
||||
|
||||
import "git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
|
||||
|
||||
type TaobaoUnideskRtaReportHourlyGetResponse struct {
|
||||
/*
|
||||
报表数据
|
||||
*/
|
||||
Result []domain.ReportTopDto `json:"result"`
|
||||
/*
|
||||
总条数
|
||||
*/
|
||||
Total int `json:"total"`
|
||||
}
|
Loading…
Reference in New Issue