Compare commits
5 Commits
2024083011
...
master
Author | SHA1 | Date |
---|---|---|
|
4d92809b1d | |
|
1c0b28db1f | |
|
6e0325a7ec | |
|
e97c542081 | |
|
f32b0019a2 |
|
@ -167,3 +167,54 @@ func (ability *Defaultability) TaobaoUnideskRtaReportDailyGet(req *request.Taoba
|
|||
err = util.HandleJsonResponse(jsonStr, &respStruct)
|
||||
return &respStruct, err
|
||||
}
|
||||
|
||||
/*
|
||||
UD报表-创建异步任务接口
|
||||
*/
|
||||
func (ability *Defaultability) TaobaoUnideskRtaReportAsynctaskAdd(req *request.TaobaoUnideskRtaReportAsynctaskAddRequest, accessToken string) (*response.TaobaoUnideskRtaReportAsynctaskAddResponse, error) {
|
||||
if ability.Client == nil {
|
||||
return nil, errors.New("Defaultability topClient is nil")
|
||||
}
|
||||
var jsonStr, err = ability.Client.ExecuteWithSession("taobao.unidesk.rta.report.asynctask.add", req.ToMap(), req.ToFileMap(), accessToken)
|
||||
var respStruct = response.TaobaoUnideskRtaReportAsynctaskAddResponse{}
|
||||
if err != nil {
|
||||
log.Println("taobaoUnideskRtaReportAsynctaskAdd error", err)
|
||||
return &respStruct, err
|
||||
}
|
||||
err = util.HandleJsonResponse(jsonStr, &respStruct)
|
||||
return &respStruct, err
|
||||
}
|
||||
|
||||
/*
|
||||
UD报表-异步任务结果查询接口
|
||||
*/
|
||||
func (ability *Defaultability) TaobaoUnideskRtaReportAsynctaskResultGet(req *request.TaobaoUnideskRtaReportAsynctaskResultGetRequest, accessToken string) (*response.TaobaoUnideskRtaReportAsynctaskResultGetResponse, error) {
|
||||
if ability.Client == nil {
|
||||
return nil, errors.New("Defaultability topClient is nil")
|
||||
}
|
||||
var jsonStr, err = ability.Client.ExecuteWithSession("taobao.unidesk.rta.report.asynctask.result.get", req.ToMap(), req.ToFileMap(), accessToken)
|
||||
var respStruct = response.TaobaoUnideskRtaReportAsynctaskResultGetResponse{}
|
||||
if err != nil {
|
||||
log.Println("taobaoUnideskRtaReportAsynctaskResultGet error", err)
|
||||
return &respStruct, err
|
||||
}
|
||||
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,24 @@
|
|||
package domain
|
||||
|
||||
type AsyncTaskResultGetTopDTO struct {
|
||||
|
||||
/*
|
||||
报表数据文件地址,excel格式,有效期5分钟,文件过期可重新调此接口获取
|
||||
*/
|
||||
Result *string `json:"result"`
|
||||
|
||||
/*
|
||||
任务id
|
||||
*/
|
||||
Id *int64 `json:"id"`
|
||||
|
||||
/*
|
||||
任务名称
|
||||
*/
|
||||
Name *string `json:"name"`
|
||||
|
||||
/*
|
||||
任务状态,1:待运行,2:运行中,3:运行成功,4:运行失败
|
||||
*/
|
||||
Status *int `json:"status"`
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
package domain
|
||||
|
||||
type AsyncTaskTopDTO struct {
|
||||
/*
|
||||
任务id
|
||||
*/
|
||||
Id *int64 `json:"id"`
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package domain
|
||||
|
||||
type AsyncTaskTopQueryDTO struct {
|
||||
|
||||
/*
|
||||
任务ids
|
||||
*/
|
||||
Id *int64 `json:"id,omitempty" required:"true"`
|
||||
|
||||
/*
|
||||
广告主id
|
||||
*/
|
||||
AdvertiserId *int64 `json:"advertiser_id,omitempty" required:"true"`
|
||||
|
||||
/*
|
||||
平台版本,9999:升级版API(仅巨量2.0API需传入)
|
||||
*/
|
||||
Version *int `json:"version" required:"false"`
|
||||
}
|
|
@ -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,157 @@
|
|||
package domain
|
||||
|
||||
type RtaReportTaskTopDTO struct {
|
||||
/*
|
||||
报表任务参数
|
||||
*/
|
||||
Params *ReportTaskParamTopDTO `json:"params,omitempty" required:"true"`
|
||||
|
||||
/*
|
||||
广告主id
|
||||
*/
|
||||
AdvertiserId *int64 `json:"advertiser_id,omitempty" required:"true"`
|
||||
|
||||
/*
|
||||
任务名称
|
||||
*/
|
||||
Name *string `json:"name,omitempty" required:"true"`
|
||||
|
||||
/*
|
||||
强制生成新的任务,参数相同会复用之前的任务,1:是,0:否
|
||||
*/
|
||||
Force *int `json:"force" required:"false"`
|
||||
|
||||
/*
|
||||
平台版本,9999:升级版API(仅巨量2.0API需传入)
|
||||
*/
|
||||
Version *int `json:"version" required:"false"`
|
||||
}
|
||||
|
||||
func (s *RtaReportTaskTopDTO) SetParams(v ReportTaskParamTopDTO) *RtaReportTaskTopDTO {
|
||||
s.Params = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *RtaReportTaskTopDTO) SetAdvertiserId(v int64) *RtaReportTaskTopDTO {
|
||||
s.AdvertiserId = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *RtaReportTaskTopDTO) SetName(v string) *RtaReportTaskTopDTO {
|
||||
s.Name = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *RtaReportTaskTopDTO) SetForce(v int) *RtaReportTaskTopDTO {
|
||||
s.Force = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *RtaReportTaskTopDTO) SetVersion(v int) *RtaReportTaskTopDTO {
|
||||
s.Version = &v
|
||||
return s
|
||||
}
|
||||
|
||||
type ReportTaskParamTopDTO struct {
|
||||
/*
|
||||
排序字段
|
||||
*/
|
||||
OrderByField *string `json:"order_by_field" required:"false"`
|
||||
|
||||
/*
|
||||
结束日期, 格式yyyy-MM-dd,按天分组时间区间不能超过一个月,按小时分组只支持查询当天数据
|
||||
*/
|
||||
EndDate *string `json:"end_date,omitempty" required:"true"`
|
||||
|
||||
/*
|
||||
排序方式,ASC:正序、DESC:倒序
|
||||
*/
|
||||
OrderByType *string `json:"order_by_type" 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_TIME_HOUR:按照小时分组,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,omitempty" required:"true"`
|
||||
|
||||
/*
|
||||
需要返回的指标,不指定则返回默认指标。具体字段名称参考日报表、小时报表数据查询接口
|
||||
*/
|
||||
Fields *[]string `json:"fields" required:"false"`
|
||||
|
||||
/*
|
||||
过滤条件
|
||||
*/
|
||||
Filtering *ReportTaskFilterTopDTO `json:"filtering" required:"false"`
|
||||
|
||||
/*
|
||||
开始日期, 格式yyyy-MM-dd
|
||||
*/
|
||||
StartDate *string `json:"start_date,omitempty" required:"true"`
|
||||
}
|
||||
|
||||
func (s *ReportTaskParamTopDTO) SetOrderByField(v string) *ReportTaskParamTopDTO {
|
||||
s.OrderByField = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTaskParamTopDTO) SetEndDate(v string) *ReportTaskParamTopDTO {
|
||||
s.EndDate = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTaskParamTopDTO) SetOrderByType(v string) *ReportTaskParamTopDTO {
|
||||
s.OrderByType = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTaskParamTopDTO) SetGroupBy(v []string) *ReportTaskParamTopDTO {
|
||||
s.GroupBy = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTaskParamTopDTO) SetFields(v []string) *ReportTaskParamTopDTO {
|
||||
s.Fields = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTaskParamTopDTO) SetFiltering(v ReportTaskFilterTopDTO) *ReportTaskParamTopDTO {
|
||||
s.Filtering = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (s *ReportTaskParamTopDTO) SetStartDate(v string) *ReportTaskParamTopDTO {
|
||||
s.StartDate = &v
|
||||
return s
|
||||
}
|
||||
|
||||
type ReportTaskFilterTopDTO struct {
|
||||
/*
|
||||
按照计划过滤
|
||||
*/
|
||||
AdgroupIds *[]int64 `json:"adgroup_ids" required:"false"`
|
||||
|
||||
/*
|
||||
转化效果周期,7:7天,15:15天
|
||||
*/
|
||||
Effect *int `json:"effect" required:"false"`
|
||||
|
||||
/*
|
||||
按照计划组过滤
|
||||
*/
|
||||
CampaignIds *[]int64 `json:"campaign_ids" required:"false"`
|
||||
|
||||
/*
|
||||
按照创意过滤
|
||||
*/
|
||||
CreativeIds *[]int64 `json:"creative_ids" required:"false"`
|
||||
|
||||
/*
|
||||
归因逻辑,1:点击效果,0:展示效果
|
||||
*/
|
||||
EffectType *int `json:"effect_type" required:"false"`
|
||||
|
||||
/*
|
||||
按照素材过滤,素材id从adgroup查询接口获取,素材组合报表只支持根据标题素材id筛选
|
||||
*/
|
||||
MaterialId *int64 `json:"material_id" required:"false"`
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package request
|
||||
|
||||
import (
|
||||
"git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
|
||||
"git.sunqdl.cn/fgqj/topsdk/util"
|
||||
)
|
||||
|
||||
type TaobaoUnideskRtaReportAsynctaskAddRequest struct {
|
||||
ReportTaskTopDto *domain.RtaReportTaskTopDTO `json:"report_task_top_dto" required:"true" `
|
||||
}
|
||||
|
||||
func (s *TaobaoUnideskRtaReportAsynctaskAddRequest) SetReportTaskTopDto(v domain.RtaReportTaskTopDTO) *TaobaoUnideskRtaReportAsynctaskAddRequest {
|
||||
s.ReportTaskTopDto = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (req *TaobaoUnideskRtaReportAsynctaskAddRequest) ToMap() map[string]interface{} {
|
||||
paramMap := make(map[string]interface{})
|
||||
if req.ReportTaskTopDto != nil {
|
||||
paramMap["report_task_top_dto"] = util.ConvertStructList(*req.ReportTaskTopDto)
|
||||
}
|
||||
return paramMap
|
||||
}
|
||||
|
||||
func (req *TaobaoUnideskRtaReportAsynctaskAddRequest) ToFileMap() map[string]interface{} {
|
||||
fileMap := make(map[string]interface{})
|
||||
return fileMap
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package request
|
||||
|
||||
import (
|
||||
"git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
|
||||
"git.sunqdl.cn/fgqj/topsdk/util"
|
||||
)
|
||||
|
||||
type TaobaoUnideskRtaReportAsynctaskResultGetRequest struct {
|
||||
AsyncTaskTopQueryDto *domain.AsyncTaskTopQueryDTO `json:"async_task_top_query_dto" required:"true" `
|
||||
}
|
||||
|
||||
func (s *TaobaoUnideskRtaReportAsynctaskResultGetRequest) SetReportTaskTopDto(v domain.AsyncTaskTopQueryDTO) *TaobaoUnideskRtaReportAsynctaskResultGetRequest {
|
||||
s.AsyncTaskTopQueryDto = &v
|
||||
return s
|
||||
}
|
||||
|
||||
func (req *TaobaoUnideskRtaReportAsynctaskResultGetRequest) ToMap() map[string]interface{} {
|
||||
paramMap := make(map[string]interface{})
|
||||
if req.AsyncTaskTopQueryDto != nil {
|
||||
paramMap["async_task_top_query_dto"] = util.ConvertStructList(*req.AsyncTaskTopQueryDto)
|
||||
}
|
||||
return paramMap
|
||||
}
|
||||
|
||||
func (req *TaobaoUnideskRtaReportAsynctaskResultGetRequest) ToFileMap() map[string]interface{} {
|
||||
fileMap := make(map[string]interface{})
|
||||
return fileMap
|
||||
}
|
|
@ -17,7 +17,7 @@ func (s *TaobaoUnideskRtaReportDailyGetRequest) SetAdvertiserTopQueryDTO(v domai
|
|||
func (req *TaobaoUnideskRtaReportDailyGetRequest) ToMap() map[string]interface{} {
|
||||
paramMap := make(map[string]interface{})
|
||||
if req.ReportTopQueryDTO != nil {
|
||||
paramMap["advertiser_top_query_dto"] = util.ConvertStructList(*req.ReportTopQueryDTO)
|
||||
paramMap["report_top_query_dto"] = util.ConvertStructList(*req.ReportTopQueryDTO)
|
||||
}
|
||||
return paramMap
|
||||
}
|
||||
|
|
|
@ -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,10 @@
|
|||
package response
|
||||
|
||||
import "git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
|
||||
|
||||
type TaobaoUnideskRtaReportAsynctaskAddResponse struct {
|
||||
/*
|
||||
返回结果
|
||||
*/
|
||||
Result domain.AsyncTaskTopDTO `json:"result"`
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package response
|
||||
|
||||
import "git.sunqdl.cn/fgqj/topsdk/defaultability/domain"
|
||||
|
||||
type TaobaoUnideskRtaReportAsynctaskResultGetResponse struct {
|
||||
/*
|
||||
任务信息
|
||||
*/
|
||||
Result domain.AsyncTaskResultGetTopDTO `json:"result"`
|
||||
}
|
|
@ -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