qianchuanSDK

package module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 3, 2021 License: GPL-3.0 Imports: 17 Imported by: 0

README

qianchuang SDK for Go

巨量引擎开放平台-千川SDK

安装

import "github.com/CriarBrand/qianchuanSDK"

使用

初始化

credentials := qianchuanSDK.NewCredentials("CLIENT_KEY", "CLIENT_SECRET")
manager := qianchuanSDK.NewManager(credentials, nil)

生成授权链接,获取授权码 /platform/oauth/connect/

oauthUrl := manager.OauthConnect(douyinGo.OauthParam{
    Scope: "user_info,mobile_alert,video.list,video.data,video.create,video.delete,data.external.user,data.external.item,aweme.share,fans.list,following.list,item.comment,star_top_score_display,fans.data,data.external.fans_source,data.external.fans_favourite,discovery.ent,video.search,video.search.comment,fans.check",
    RedirectUri: "REDIRECT_URI",
})

获取AccessToken /oauth/access_token/

accessToken, err := manager.OauthAccessToken(douyinGo.OauthAccessTokenReq{
    Code: "CODE",
})

刷新access_token /oauth/refresh_token/

manager.OauthRenewRefreshToken(douyinGo.OauthRenewRefreshTokenReq{
    RefreshToken: "REFRESH_TOKEN",
})

刷新refresh_token /oauth/renew_refresh_token/

manager.OauthRenewRefreshToken(douyinGo.OauthRenewRefreshTokenReq{
    RefreshToken: "REFRESH_TOKEN",
})

生成client_token /oauth/client_token/

clientToken, err := manager.OauthClientAccessToken()

获取用户信息 /oauth/userinfo/

userInfo, err := manager.OauthUserinfo(douyinGo.OauthUserinfoReq{
    OpenId:      "OPEN_ID",
    AccessToken: "ACCESS_TOKEN",
})

// 解析手机号
mobile, err := manager.DecryptMobile("ENCRYPT_MOBILE")

获取账户下计划列表(不含创意) /ad/get/

manager.AdListGet(AdListGetReq{
    AdvertiserId: "ADVERTISER_ID",
    AccessToken:  "ACCESS_TOKEN",
    Page:         1,
    PageSize:     20,
    Filtering: AdListGetFiltering{
        MarketingGoal: "LIVE_PROM_GOODS",
    },
})

获取计划详情(含创意信息) /ad/detail/get/

manager.AdDetailGet(AdDetailGetReq{
    AdvertiserId: "ADVERTISER_ID",
    AccessToken:  "ACCESS_TOKEN",
    AdId:         AD_ID,
})

获取计划审核建议 /ad/reject_reason/

manager.AdRejectReason(AdRejectReasonReq{
    AdvertiserId: "ADVERTISER_ID",
    AccessToken:  "ACCESS_TOKEN",
    AdIds:        []int64{AD_ID1, AD_ID2},
})

获取账户下创意列表 /creative/get/

manager.CreativeGet(CreativeGetReq{
    AccessToken:  string,
    AdvertiserId: string,
    Filtering: CreativeGetReqFiltering{
        MarketingGoal:         string,
        CreativeCreateEndDate: string,    
        Status:                string, 
        CreativeModifyTime:    string,
        AdIds:                 []int64,
        CreativeId:            int64,
        CreativeMaterialMode:  string,
        CampaignId:            int64,
        CreativeCreateEndDate: string,
    },
    Page:     1,
    PageSize: 20,
})

获取创意审核建议 /creative/reject_reason/

manager.CreativeRejectReason(CreativeRejectReasonReq{
    AccessToken:  string,
    AdvertiserId: int64,
    CreativeIds:  []int64,
})

获取千川账户下可投商品列表接口 /product/available/get/

manager.ProductAvailableGet(ProductAvailableGetReq{
    AccessToken:  string,
    AdvertiserId: int64,
    Page:         1,
    PageSize:     20,
})

获取千川账户下已授权抖音号 /aweme/authorized/get/

manager.AwemeAuthorizedGet(AwemeAuthorizedGetReq{
    AccessToken:  string,
    AdvertiserId: int64,
    Page:         1,
    PageSize:     10,
})

获取素材库的图片 /file/image/get/

manager.FileImageGet(FileImageGetReq{
    AccessToken:  string,
    AdvertiserId: int64,
    Filtering: FileImageGetReqFiltering{
        ImageIds:    []string,
        MaterialIds: []int64,
        Signatures:  []string,
        Width:       int64,
        Height:      int64,
        Ratio:       []float64,
        StartTime:   string,
        EndTime:     string,
    },
    Page:     1,
    PageSize: 10,
})

获取素材库的视频 /file/video/get/

manager.FileVideoGet(FileVideoGetReq{
    AccessToken:  string,
    AdvertiserId: int64,
    Filtering: FileVideoGetReqFiltering{
        Width:       int64,
        Height:      int64,
        Ratio:       []float64,
        VideoIds:    []string,
        MaterialIds: []int64,
        Signatures:  []string,
        StartTime:   string,
        EndTime:     string,
    },
    Page:     1,
    PageSize: 10,
})

获取抖音号下的视频 /file/video/aweme/get/

manager.FileVideoAwemeGet(FileVideoAwemeGetReq{
    AccessToken:  string,
    AdvertiserId: int64,
    AwemeId:      int64,
    Filtering: FileVideoAwemeGetReqFiltering{
        ProductId: int64,
    },
    Count: 30,
})

获取行业列表 /tools/industry/get/

manager.ToolsIndustryGet(ToolsIndustryGetReq{
    AccessToken: string,
    Level:       int64,
    Type:        string,
})

查询抖音类目下的推荐达人 /tools/aweme_category_top_author/get/

manager.ToolsAwemeCategoryTopAuthorGet(ToolsAwemeCategoryTopAuthorGetReq{
    AccessToken:  string,
    AdvertiserId: int64,
    CategoryId:   int64,
    Behaviors:    []string,
})

查询抖音类目列表 /tools/aweme_multi_level_category/get/

manager.ToolsAwemeMultiLevelCategoryGet(ToolsAwemeMultiLevelCategoryGetReq{
    AccessToken:  string,
    AdvertiserId: int64,
    Behaviors:    []string{},
})

行为类目查询 /tools/interest_action/action/category/

manager.ToolsInterestActionActionCategory(ToolsInterestActionActionCategoryReq{
    AccessToken:  string,
    AdvertiserId: int64,
    ActionScene:  []string,
    ActionDays:   int64,
})

行为关键词查询 /tools/interest_action/action/keyword/

manager.ToolsInterestActionActionKeyword(ToolsInterestActionActionKeywordReq{
    AccessToken:  string,
    AdvertiserId: int64,
    QueryWords:   string,
    ActionScene:  []string,
    ActionDays:   int64,
})

兴趣类目查询 /tools/interest_action/interest/category/

manager.ToolsInterestActionInterestCategory(ToolsInterestActionInterestCategoryReq{
    AccessToken:  string,
    AdvertiserId: int64,
})

兴趣关键词查询 /tools/interest_action/interest/keyword/

manager.ToolsInterestActionInterestKeyword(ToolsInterestActionInterestKeywordReq{
    AccessToken:  string,
    AdvertiserId: int64,
    QueryWords:   string,
})

查询动态创意词包 /tools/creative_word/select/

manager.ToolsCreativeWordSelect(ToolsCreativeWordSelectReq{
    AccessToken:     string,
    AdvertiserId:    int64,
    CreativeWordIds: []string,
})

查询人群包列表 /dmp/audiences/get/

manager.DmpAudiencesGet(DmpAudiencesGetReq{
    AccessToken:         string,
    AdvertiserId:        int64,
    RetargetingTagsType: int64,
    Offset:              int64,
    Limit:               int64,
})

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AesDecrypt

func AesDecrypt(crypted, key, iv []byte) ([]byte, error)

AesDecrypt AES解密

func Base64Decode

func Base64Decode(encodeString string) ([]byte, error)

Base64Decode Base64解码

func Base64Encode

func Base64Encode(str []byte) string

Base64Encode Base64编码

func NewCredentials

func NewCredentials(appId int64, appSecret string) *auth.Credentials

NewCredentials 获取认证

func PKCS5UnPadding

func PKCS5UnPadding(origData []byte) []byte

PKCS5UnPadding PKCS5填充

Types

type AdBidUpdateBody

type AdBidUpdateBody struct {
	AdvertiserId int64                 `json:"advertiser_id"` //广告主id
	Data         []AdBidUpdateBodyData `json:"data"`          //更新计划出价的列表,最多支持10个
}

type AdBidUpdateBodyData

type AdBidUpdateBodyData struct {
	AdId int64   `json:"ad_id"` //需要更新出价的计划id
	Bid  float32 `json:"bid"`   //计划更新之后的出价,最多只有两位小数
}

type AdBidUpdateReq

type AdBidUpdateReq struct {
	AccessToken string          // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        AdBidUpdateBody // POST请求的data
}

AdBidUpdateReq 更新计划出价 的 请求结构体

type AdBidUpdateRes

type AdBidUpdateRes struct {
	QCError
	Data AdBidUpdateResData `json:"data"`
}

AdBidUpdateRes 更新计划出价 的 响应结构体

type AdBidUpdateResData

type AdBidUpdateResData struct {
	AdId   []int64                   `json:"ad_id"`  //更新成功的计划id
	Errors []AdBidUpdateResDataError `json:"errors"` //更新失败的计划id和失败原因
}

type AdBidUpdateResDataError

type AdBidUpdateResDataError struct {
	AdId         int64  `json:"ad_id"`         //更新失败的计划id
	ErrorMessage string `json:"error_message"` //更新预算失败的原因
}

type AdBudgetUpdateBody

type AdBudgetUpdateBody struct {
	AdvertiserId int64                    `json:"advertiser_id"` //广告主id
	Data         []AdBudgetUpdateBodyData `json:"data"`          //更新预算的计划id和预算价格列表,最多支持10个
}

type AdBudgetUpdateBodyData

type AdBudgetUpdateBodyData struct {
	AdId   int64   `json:"ad_id"`  //广告计划id
	Budget float32 `json:"budget"` //更新后的预算,最多只有两位小数
}

type AdBudgetUpdateReq

type AdBudgetUpdateReq struct {
	AccessToken string             // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        AdBudgetUpdateBody // POST请求的data
}

AdBudgetUpdateReq 更新计划预算 的 请求结构体

type AdBudgetUpdateRes

type AdBudgetUpdateRes struct {
	QCError
	Data AdBudgetUpdateResData `json:"data"`
}

AdBudgetUpdateRes 更新计划预算 的 响应结构体

type AdBudgetUpdateResData

type AdBudgetUpdateResData struct {
	AdId   []int64                      `json:"ad_id"`  //更新成功的计划id
	Errors []AdBudgetUpdateResDataError `json:"errors"` //更新失败的计划id和失败原因
}

type AdBudgetUpdateResDataError

type AdBudgetUpdateResDataError struct {
	AdId         int64  `json:"ad_id"`         //更新失败的计划id
	ErrorMessage string `json:"error_message"` //更新预算失败的原因
}

type AdCreateAudience

type AdCreateAudience struct {
	District               string   `json:"district,omitempty"`                 // 地域定向类型,配合 city 字段使用,允许值:CITY 省市, COUNTY 区县, NONE 不限默认值为NONE
	City                   []int64  `json:"city,omitempty"`                     // 具体定向的城市列表,当 district 为COUNTY,CITY为必填,枚举值详见【附件-city.json】省市的传法:"city" : [12], "district" : "CITY"区县的传法:"city" : [130102], "district" : "COUNTY"
	LocationType           string   `json:"location_type,omitempty"`            // 地域定向的用户状态类型,当 district 为COUNTY,CITY为必填,允许值:CURRENT 正在该地区的用户、HOME 居住在该地区的用户、TRAVEL 到该地区旅行的用户、ALL 该地区内的所有用户
	Gender                 string   `json:"gender,omitempty"`                   // 性别,允许值:GENDER_FEMALE 女性, GENDER_MALE 男性,NONE 不限
	Age                    []string `json:"age,omitempty"`                      // 年龄,详见【附录-受众年龄区间】,允许值:AGE_BETWEEN_18_23, AGE_BETWEEN_24_30、AGE_BETWEEN_31_40、AGE_BETWEEN_41_49、AGE_ABOVE_50
	AwemeFanBehaviors      []string `json:"aweme_fan_behaviors,omitempty"`      // 抖音用户行为类型,详见【附录-抖音达人互动用户行为类型】
	AwemeFanBehaviorsDays  string   `json:"aweme_fan_behaviors_days,omitempty"` // 抖音达人互动用户行为天数
	AwemeFanCategories     []int64  `json:"aweme_fan_categories,omitempty"`     // 抖音达人分类ID列表,与aweme_fan_behaviors同时设置才会生效(抖音达人定向),可通过【工具-抖音达人-查询抖音类目列表】接口获取
	AwemeFanAccounts       []int64  `json:"aweme_fan_accounts,omitempty"`       // 抖音达人ID列表,与aweme_fan_behaviors同时设置才会生效(抖音达人定向),可通过【工具-抖音达人-查询抖音类目下的推荐达人】接口获取
	AutoExtendEnabled      int64    `json:"auto_extend_enabled,omitempty"`      // 是否启用智能放量,允许值:0 关闭、1 开启
	AutoExtendTargets      []string `json:"auto_extend_targets,omitempty"`      // 可放开定向列表。当auto_extend_enabled=1 时必填。允许值:AGE 年龄、REGION 地域、GENDER 性别、INTEREST_ACTION 行为兴趣 、CUSTOM_AUDIENCE 更多人群-自定义人群
	Platform               []string `json:"platform,omitempty"`                 // 投放平台列表,允许值:ANDROID、 IOS、不传值为全选
	SmartInterestAction    string   `json:"smart_interest_action,omitempty"`    // 行为兴趣意向定向模式,允许值:RECOMMEND系统推荐,CUSTOM 自定义;不传值则为不限制需要注意:如果设置RECOMMEND,则传入action_scene、action_days、action_categories、action_words、 interest_categories、interest_words字段都无效
	ActionScene            []string `json:"action_scene,omitempty"`             // 行为场景,详见【附录-行为场景】,smart_interest_actionCUSTOM时有效,允许值:E-COMMERCE 电商互动行为、NEWS 资讯互动行为、APP APP推广互动行为
	ActionDays             int64    `json:"action_days,omitempty"`              // 用户发生行为天数,当 smart_interest_action 传 CUSTOM 时有效允许值:7, 15, 30, 60, 90, 180, 365
	ActionCategories       []int64  `json:"action_categories,omitempty"`        // 行为类目词,当 smart_interest_action 传 CUSTOM 时有效行为类目可以通过【工具-行为兴趣词管理-行为类目查询】获取
	ActionWords            []int64  `json:"action_words,omitempty"`             // 行为关键词,当 smart_interest_action 传 CUSTOM 时有效行为关键词可以通过【工具-行为兴趣词管理-行为关键词查询】获取
	InterestCategories     []int64  `json:"interest_categories,omitempty"`      // 兴趣类目词,当 smart_interest_action 传 CUSTOM 时有效兴趣类目可以通过【工具-行为兴趣词管理-兴趣类目查询】获取
	InterestWords          []int64  `json:"interest_words,omitempty"`           // 兴趣关键词,当 smart_interest_action 传 CUSTOM 时有效行为关键词可以通过【工具-行为兴趣词管理-行为关键词查询】获取
	Ac                     []string `json:"ac,omitempty"`                       // 网络类型, 详见【附录-受众网络类型】,允许值:WIFI、2G、3G、4G。 不传值或全传为全选
	RetargetingTagsInclude []int64  `json:"retargeting_tags_include,omitempty"` // 定向人群包id列表,长度限制 0-200。定向人群包可以通过【工具-DMP人群管理-获取人群包列表】获取
	RetargetingTagsExclude []int64  `json:"retargeting_tags_exclude,omitempty"` // 排除人群包id列表,长度限制 0-200。排除人群包可以通过【工具-DMP人群管理-获取人群包列表】获取
	LivePlatformTags       []string `json:"live_platform_tags,omitempty"`       // 直播带货平台精选人群包,当marketing_goal=LIVE_PROM_GOODS时有效,默认为全不选。允许值:LARGE_FANSCOUNT 高关注人群、ABNORMAL_ACTIVE高活跃人群、AWEME_FANS抖音号粉丝
}

type AdCreateBody

type AdCreateBody struct {
	AdvertiserId    int64                   `json:"advertiser_id"`           // 千川广告主账户id
	MarketingGoal   string                  `json:"marketing_goal"`          // 营销目标,允许值:VIDEO_PROM_GOODS 短视频带货、LIVE_PROM_GOODS 直播带货
	PromotionWay    string                  `json:"promotion_way,omitempty"` // 推广方式 ,目前仅支持专业版,不支持极速版,允许值:STANDARD(默认)
	Name            string                  `json:"name"`                    // 计划名称,长度为1-100个字符,其中1个汉字算2位字符。名称不可重复,否则会报错
	CampaignId      int64                   `json:"campaign_id"`             // 千川广告组id
	AwemeId         int64                   `json:"aweme_id"`
	ProductIds      []int64                 `json:"product_ids,omitempty"`
	DeliverySetting AdCreateDeliverySetting `json:"delivery_setting"`
	Audience        AdCreateAudience        `json:"audience"`
	AdCreateCreative
}

type AdCreateCreative

type AdCreateCreative struct {
	CreativeMaterialMode          string                                  `json:"creative_material_mode"`                     // 创意呈现方式,允许值:CUSTOM_CREATIVE 自定义创意、PROGRAMMATIC_CREATIVE 程序化创意
	FirstIndustryId               int64                                   `json:"first_industry_id"`                          // 创意一级行业ID。可从【获取行业列表】接口获取
	SecondIndustryId              int64                                   `json:"second_industry_id"`                         // 创意二级行业ID。可从【获取行业列表】接口获取
	ThirdIndustryId               int64                                   `json:"third_industry_id"`                          // 创意三级行业ID。可从【获取行业列表】接口获取
	AdKeywords                    []string                                `json:"ad_keywords,omitempty"`                      // 创意标签。最多20个标签,且每个标签长度要求为1~20个字符,汉字算2个字符
	CreativeList                  []AdCreateCreativeList                  `json:"creative_list,omitempty"`                    // 自定义素材信息
	CreativeAutoGenerate          int64                                   `json:"creative_auto_generate,omitempty"`           // 是否开启「生成更多创意」
	ProgrammaticCreativeMediaList []AdCreateProgrammaticCreativeMediaList `json:"programmatic_creative_media_list,omitempty"` // 程序化创意素材信息
	ProgrammaticCreativeTitleList []AdCreateProgrammaticCreativeTitleList `json:"programmatic_creative_title_list,omitempty"` // 程序化创意标题信息
	ProgrammaticCreativeCard      *AdCreateProgrammaticCreativeCard       `json:"programmatic_creative_card,omitempty"`       // 程序化创意推广卡片信息
	IsHomepageHide                int64                                   `json:"is_homepage_hide,omitempty"`                 // 抖音主页是否隐藏视频
}

type AdCreateCreativeList

type AdCreateCreativeList struct {
	ImageMode             string                         `json:"image_mode,omitempty"`              // 创意素材类型
	VideoMaterial         *AdCreateCustomVideoMaterial   `json:"video_material,omitempty"`          // 视频类型素材
	ImageMaterial         *AdCreateImageMaterial         `json:"image_material,omitempty"`          // 图片类型素材
	TitleMaterial         *AdCreateTitleMaterial         `json:"title_material,omitempty"`          // 标题类型素材,若选择了抖音号上的视频,不支持修改标题
	PromotionCardMaterial *AdCreatePromotionCardMaterial `json:"promotion_card_material,omitempty"` // 推广卡片素材
}

AdCreateCreativeList 广告创意 - creative_list

type AdCreateCustomVideoMaterial

type AdCreateCustomVideoMaterial struct {
	VideoId      string `json:"video_id,omitempty"`       // 视频ID
	VideoCoverId string `json:"video_cover_id,omitempty"` // 视频封面ID
	AwemeItemId  int64  `json:"aweme_item_id,omitempty"`  // 抖音视频ID
}

AdCreateCustomVideoMaterial 广告创意 - 视频类型素材

type AdCreateDeliverySetting

type AdCreateDeliverySetting struct {
	SmartBidType       string  `json:"smart_bid_type"`                 // 投放场景(出价方式),详见【附录-自动出价类型】,允许值:SMART_BID_CUSTOM控成本投放、SMART_BID_CONSERVATIVE 放量投放控成本投放:控制成本,尽量消耗完预算放量投放:接受成本上浮,尽量消耗更多预算
	FlowControlMode    string  `json:"flow_control_mode,omitempty"`    // 投放速度,详见【附录-计划投放速度类型】仅当 smart_bid_type 为SMART_BID_CUSTOM 时需传值,允许值:FLOW_CONTROL_MODE_FAST 尽快投放(默认值)、FLOW_CONTROL_MODE_BALANCE 均匀投放、FLOW_CONTROL_MODE_SMOOTH 优先低成本,对应千川后台「严格控制成本上限」勾选项
	ExternalAction     string  `json:"external_action"`                // 转化目标短视频带货目的允许值:AD_CONVERT_TYPE_SHOPPING 商品购买、AD_CONVERT_TYPE_QC_FOLLOW_ACTION 粉丝提升、AD_CONVERT_TYPE_QC_MUST_BUY 点赞评论直播带货目的允许值:AD_CONVERT_TYPE_LIVE_ENTER_ACTION 进入直播间、AD_CONVERT_TYPE_LIVE_CLICK_PRODUCT_ACTION 直播间商品点击、AD_CONVERT_TYPE_LIVE_SUCCESSORDER_ACTION 直播间下单、AD_CONVERT_TYPE_NEW_FOLLOW_ACTION 直播间粉丝提升、AD_CONVERT_TYPE_LIVE_COMMENT_ACTION 直播间评论、AD_CONVERT_TYPE_LIVE_SUCCESSORDER_PAY直播间成交
	DeepExternalAction string  `json:"deep_external_action,omitempty"` // 深度转化目标,对应千川后台「期待同时优化」注意:1. 仅直播带货场景支持2. 当 smart_bid_type 为SMART_BID_CUSTOM 且 flow_control_mode 为 FLOW_CONTROL_MODE_SMOOTH 亦不支持深度转化目标允许值:AD_CONVERT_TYPE_LIVE_SUCCESSORDER_ACTION 直播间下单若不传,则不生效;若传入,则仅当转化目标为AD_CONVERT_TYPE_LIVE_ENTER_ACTION、AD_CONVERT_TYPE_LIVE_CLICK_PRODUCT_ACTION 时生效
	Budget             float64 `json:"budget"`                         // 预算,最多支持两位小数当预算模式为日预算时,预算范围是300 - 9999999.99;当预算模式为总预算时,预算范围是max(300,投放天数x100) - 9999999.99
	BudgetMode         string  `json:"budget_mode"`                    // 预算类型(创建后不可修改),详见【附录-预算类型】,允许值:BUDGET_MODE_DAY 日预算,BUDGET_MODE_TOTAL 总预算
	CpaBid             float64 `json:"cpa_bid,omitempty"`              // 转化出价,出价不能大于预算仅当 smart_bid_type 为SMART_BID_CUSTOM 时需传值
	VideoScheduleType  string  `json:"video_schedule_type,omitempty"`  // 短视频投放日期选择方式,仅短视频带货场景需入参,允许值:SCHEDULE_FROM_NOW 从今天起长期投放(总预算模式下不支持)、SCHEDULE_START_END 设置开始和结束日期
	LiveScheduleType   string  `json:"live_schedule_type,omitempty"`   // 直播间投放时段选择方式,仅直播带货场景需入参,允许值:SCHEDULE_TIME_ALLDAY 全天、SCHEDULE_TIME_WEEKLY_SETTING 指定时间段、SCHEDULE_TIME_FIXEDRANGE 固定时长
	StartTime          string  `json:"start_time,omitempty"`           // 投放起始时间,形式如:2017-01-01广告投放起始时间不允许修改。当video_schedule_type为SCHEDULE_START_END 设置开始和结束日期时需传入。当live_schedule_type 为SCHEDULE_TIME_ALLDAY 全天、SCHEDULE_TIME_WEEKLY_SETTING 指定时间段时必填;当 live_schedule_type 为SCHEDULE_TIME_FIXEDRANGE固定时长时不能传入
	EndTime            string  `json:"end_time,omitempty"`             // 投放结束时间,形式如:2017-01-01结束时间不能比起始时间早。当video_schedule_type为SCHEDULE_START_END 设置开始和结束日期时需传入。当live_schedule_type 为SCHEDULE_TIME_ALLDAY 全天、SCHEDULE_TIME_WEEKLY_SETTING 指定时间段时必填;当 live_schedule_type 为SCHEDULE_TIME_FIXEDRANGE固定时长时不能传入
	ScheduleTime       string  `json:"schedule_time,omitempty"`        // 投放时段,当 live_schedule_type 为SCHEDULE_TIME_WEEKLY_SETTING 时生效默认全时段投放,格式是48*7位字符串,且都是0或1。也就是以半个小时为最小粒度,周一至周日每天分为48个区段,0为不投放,1为投放,不传、全传0、全传1均代表全时段投放。例如:填写"000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000",则投放时段为周一到周日的11:30~13:30
	ScheduleFixedRange int64   `json:"schedule_fixed_range,omitempty"` // 固定投放时长当 live_schedule_type 为 SCHEDULE_TIME_FIXEDRANGE 时必填;当live_schedule_type 为SCHEDULE_TIME_ALLDAY 全天、SCHEDULE_TIME_WEEKLY_SETTING 指定时间段时不能传入。单位为秒,最小值为1800(0.5小时),最大值为48*1800(24小时),值必须为1800倍数,不然会报错
}

type AdCreateDynamicWords

type AdCreateDynamicWords struct {
	WordId      int64  `json:"word_id,omitempty"`      // 动态词包ID
	DictName    string `json:"dict_name,omitempty"`    // 创意词包名称
	DefaultWord string `json:"default_word,omitempty"` // 创意词包默认词
}

type AdCreateImageMaterial

type AdCreateImageMaterial struct {
	ImageIds []string `json:"image_ids,omitempty"` // 图片ID列表
}

AdCreateImageMaterial 广告创意 - 图片类型素材

type AdCreateProgrammaticCreativeCard

type AdCreateProgrammaticCreativeCard struct {
	PromotionCardTitle                   string   `json:"promotion_card_title,omitempty"`                     // 推广卡片标题,最多7个字
	PromotionCardSellingPoints           []string `json:"promotion_card_selling_points,omitempty"`            // 推广卡片卖点列表,卖点文字长度要求为12~18个字符,汉字算2个字符
	PromotionCardImageId                 string   `json:"promotion_card_image_id,omitempty"`                  // 推广卡片配图,可通过【获取图片素材】接口获得图片素材id
	PromotionCardActionButton            string   `json:"promotion_card_action_button,omitempty"`             // 推广卡片行动号召按钮文案
	PromotionCardButtonSmartOptimization int64    `json:"promotion_card_button_smart_optimization,omitempty"` // 是否对行动号召按钮文案启用智能优选
}

AdCreateProgrammaticCreativeCard 广告创意 - 程序化创意推广卡片信息

type AdCreateProgrammaticCreativeMediaList

type AdCreateProgrammaticCreativeMediaList struct {
	ImageMode    string   `json:"image_mode,omitempty"`          // 创意素材类型,支持视频和图片
	VideoId      string   `json:"video_id,omitempty"`            // 视频ID
	VideoCoverId string   `json:"video_cover_id,omitempty"`      // 视频封面ID
	ImageIds     []string `json:"image_ids,omitempty,omitempty"` // 图片ID列表
}

AdCreateProgrammaticCreativeMediaList 广告创意 - 程序化创意素材信息

type AdCreateProgrammaticCreativeTitleList

type AdCreateProgrammaticCreativeTitleList struct {
	Title        string                 `json:"title,omitempty"`         // 创意标题
	DynamicWords []AdCreateDynamicWords `json:"dynamic_words,omitempty"` // 动态词包对象列表
}

AdCreateProgrammaticCreativeTitleList 广告创意 - 程序化创意标题信息

type AdCreatePromotionCardMaterial

type AdCreatePromotionCardMaterial struct {
	Title                   string   `json:"title,omitempty"`                     // 推广卡片标题
	SellingPoints           []string `json:"selling_points,omitempty"`            // 推广卡片卖点列表
	ImageId                 string   `json:"image_id,omitempty"`                  // 推广卡片配图
	ActionButton            string   `json:"action_button,omitempty"`             // 推广卡片行动号召按钮文案
	ButtonSmartOptimization int64    `json:"button_smart_optimization,omitempty"` // 是否对行动号召按钮文案启用智能优选
}

AdCreatePromotionCardMaterial 广告创意 - 推广卡片素材

type AdCreateReq

type AdCreateReq struct {
	AccessToken string       // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        AdCreateBody // POST请求的data
}

AdCreateReq 获取广告账户数据-请求

type AdCreateRes

type AdCreateRes struct {
	QCError
	Data AdCreateResData `json:"data"`
}

AdCreateRes 获取广告账户数据-返回结构体

type AdCreateResData

type AdCreateResData struct {
	AdId int64 `json:"ad_id"` // 创建的计划id
}

type AdCreateTitleMaterial

type AdCreateTitleMaterial struct {
	Title        string                 `json:"title,omitempty"`         // 创意标题
	DynamicWords []AdCreateDynamicWords `json:"dynamic_words,omitempty"` // 动态词包对象列表
}

AdCreateTitleMaterial 广告创意 - 标题类型素材,若选择了抖音号上的视频,不支持修改标题

type AdDetailGetReq

type AdDetailGetReq struct {
	AdvertiserId int64  `json:"advertiser_id"`
	AccessToken  string `json:"access_token"`
	AdId         int64  `json:"ad_id"`
}

AdDetailGetReq 获取计划详情 的 请求结构体

type AdDetailGetRes

type AdDetailGetRes struct {
	QCError
	Data AdDetailGetResData `json:"data"`
}

AdDetailGetRes 获取计划详情 的 响应结构体

type AdDetailGetResData

type AdDetailGetResData struct {
	AdID          int64  `json:"ad_id"`          //计划ID
	CampaignId    int64  `json:"campaign_id"`    //广告组ID
	MarketingGoal string `json:"marketing_goal"` //营销目标
	PromotionWay  string `json:"promotion_way"`  //推广方式
	Name          string `json:"name"`           //计划名称
	Status        string `json:"status"`         //计划投放状态
	OptStatus     string `json:"opt_status"`     //计划操作状态
	AdCreateTime  string `json:"ad_create_time"` //计划创建时间
	AdModifyTime  string `json:"ad_modify_time"` //计划修改时间
	AwemeInfo     []struct {
		AwemeAvatar string `json:"aweme_avatar"`  //抖音ID
		AwemeName   string `json:"aweme_name"`    //抖音号,即客户在手机端感知到的抖音号,向客户批量抖音号时请使用该字段
		AwemeShowID string `json:"aweme_show_id"` //抖音号昵称
		AwemeID     int64  `json:"aweme_id"`      //抖音号头像
	} `json:"aweme_info"`
	ProductInfo []struct {
		ID            int64   `json:"id"`             //商品id
		Name          string  `json:"name"`           //商品名称
		DiscountPrice float32 `json:"discount_price"` //售价
		Img           string  `json:"img"`            //商品主图
	} `json:"product_info"`
	RoomInfo []struct {
		AnchorName   string      `json:"anchor_name"`   //主播名称
		RoomStatus   string      `json:"room_status"`   //直播间状态(若未开播,则返回NULL)
		RoomTitle    interface{} `json:"room_title"`    //直播间名称(若未开播,则返回NULL)
		AnchorID     int64       `json:"anchor_id"`     //主播ID
		AnchorAvatar string      `json:"anchor_avatar"` //主播头像
	} `json:"room_info"`
	DeliverySetting struct {
		SmartBidType       string  `json:"smart_bid_type"`       //投放场景(出价方式)
		FlowControlMode    string  `json:"flow_control_mode"`    //投放速度
		ExternalAction     string  `json:"external_action"`      //转化目标
		DeepExternalAction string  `json:"deep_external_action"` //深度转化目标
		Budget             float32 `json:"budget"`               //预算
		BudgetMode         string  `json:"budget_mode"`          //预算类型
		CpaBid             float32 `json:"cpa_bid"`              //转化出价
		LiveScheduleType   string  `json:"live_schedule_type"`   //短视频投放日期选择方式
		VideoScheduleType  string  `json:"video_schedule_type"`  //直播间投放时段选择方式
		StartTime          string  `json:"start_time"`           //投放开始时间
		EndTime            string  `json:"end_time"`             //投放结束时间
		ScheduleTime       string  `json:"schedule_time"`        //投放时段,当 video_schedule_type 和 live_schedule_type为SCHEDULE_START_END和SCHEDULE_FROM_NOW时有值,格式是48*7位字符串,且都是0或1。也就是以半个小时为最小粒度,周一至周日每天分为48个区段,0为不投放,1为投放,不传、全传0、全传1均代表全时段投放
		ScheduleFixedRange int     `json:"schedule_fixed_range"` //固定投放时长,当 live_schedule_type 为时有值;单位为秒,最小值为1800(0.5小时),最大值为48*1800(24小时)SCHEDULE_TIME_FIXEDRANGE
	} `json:"delivery_setting"`
	Audience struct {
		District               string   `json:"district"`                 //地域定向类型,配合city字段使用,允许值:CITY:省市,COUNTY:区县,NONE:不限;默认值:NONE
		City                   []int64  `json:"city"`                     //具体定向的城市列表,当 district 为COUNTY,city 为必填,枚举值详见【附件-city.json】;省市传法:city: [12],district: CITY;区县的传法:city: [130102],district: COUNTY
		LocationType           string   `json:"location_type"`            //地域定向的用户状态类型,当 district 为COUNTY,CITY为必填,允许值:CURRENT:正在该地区的用户,HOME:居住在该地区的用户,TRAVEL;到该地区旅行的用户,ALL:该地区内的所有用户
		Gender                 string   `json:"gender"`                   //允许值: GENDER_FEMALE:女性,GENDER_MALE:男性,NONE: 不限
		Age                    []string `json:"age"`                      //年龄,详见【附录-受众年龄区间】;允许值:AGE_BETWEEN_18_23, AGE_BETWEEN_24_30, AGE_BETWEEN_31_40, AGE_BETWEEN_41_49, AGE_ABOVE_50
		AwemeFanBehaviors      []string `json:"aweme_fan_behaviors"`      //抖音达人互动用户行为类型
		AwemeFanBehaviorsDays  string   `json:"aweme_fan_behaviors_days"` //抖音达人互动用户行为天数
		AwemeFanCategories     []int64  `json:"aweme_fan_categories"`     //抖音达人分类ID列表
		AwemeFanAccounts       []int64  `json:"aweme_fan_accounts"`       //抖音达人ID列表
		AutoExtendEnabled      int64    `json:"auto_extend_enabled"`      //是否启用智能放量
		AutoExtendTargets      []string `json:"auto_extend_targets"`      //可放开定向列表
		Platform               []string `json:"platform"`                 //投放平台列表
		SmartInterestAction    string   `json:"smart_interest_action"`    //行为兴趣意向定向模式
		ActionScene            []string `json:"action_scene"`             //行为场景
		ActionDays             int64    `json:"action_days"`              //用户发生行为天数
		ActionCategories       []int64  `json:"action_categories"`        //行为类目词
		ActionWords            []int64  `json:"action_words"`             //行为关键词
		InterestCategories     []int64  `json:"interest_categories"`      //兴趣类目词
		InterestWords          []int64  `json:"interest_words"`           //兴趣关键词
		Ac                     []string `json:"ac"`                       //网络类型
		RetargetingTagsInclude []int64  `json:"retargeting_tags_include"` //定向人群包id列表
		RetargetingTagsExclude []int64  `json:"retargeting_tags_exclude"` //排除人群包id列表
		LivePlatformTags       []string `json:"live_platform_tags"`       //直播带货平台精选人群包
	} `json:"audience"`
	CreativeMaterialMode string   `json:"creative_material_mode"` //创意呈现方式
	FirstIndustryID      int      `json:"first_industry_id"`      //创意一级行业ID
	SecondIndustryID     int      `json:"second_industry_id"`     //创意二级行业ID
	ThirdIndustryID      int      `json:"third_industry_id"`      //创意三级行业ID
	AdKeywords           []string `json:"ad_keywords"`            //创意标签
	CreativeList         []struct {
		CreativeID         int64  `json:"creative_id"`          //创意ID,程序化创意审核通过后才会生成创意ID
		ImageMode          string `json:"image_mode"`           //创意素材类型
		CreativeCreateTime string `json:"creative_create_time"` //创意创建时间
		CreativeModifyTime string `json:"creative_modify_time"` //创意修改时间
		VideoMaterial      struct {
			Id             int64  `json:"id"`               //素材唯一标识
			VideoId        string `json:"video_id"`         //视频ID
			VideoCoverId   string `json:"video_cover_id"`   //视频封面ID
			AwemeItemId    int64  `json:"aweme_item_id"`    //抖音视频ID
			IsAutoGenerate int64  `json:"is_auto_generate"` //是否为派生创意标识,1:是,0:不是
		} `json:"video_material"`
		ImageMaterial struct {
			Id             int64    `json:"id"`               //素材唯一标识
			ImageIds       []string `json:"image_ids"`        //图片ID列表
			IsAutoGenerate int64    `json:"is_auto_generate"` //是否为派生创意标识,1:是,0:不是
		} `json:"image_material"`
		TitleMaterial struct {
			Id           int64  `json:"id"`    //素材唯一标识
			Title        string `json:"title"` //创意标题
			DynamicWords struct {
				WordId      int64  `json:"word_id"`      //动态词包ID
				DictName    string `json:"dict_name"`    //创意词包名称
				DefaultWord string `json:"default_word"` //创意词包默认词
			} `json:"dynamic_words"`
		} `json:"title_material"`
		PromotionCardMaterial struct {
			Id                      int64    `json:"id"`                        //素材唯一标识
			ComponentId             int64    `json:"component_id"`              //组件唯一标识
			Title                   string   `json:"title"`                     //推广卡片标题
			SellingPoints           []string `json:"selling_points"`            //推广卡片卖点列表
			ImageId                 string   `json:"image_id"`                  //推广卡片配图ID
			ActionButton            string   `json:"action_button"`             //推广卡片行动号召按钮文案
			ButtonSmartOptimization int64    `json:"button_smart_optimization"` //智能优选行动号召按钮文案开关
		} `json:"promotion_card_material"`
	} `json:"creative_list"`
	ProgrammaticCreativeMediaList []struct {
		ImageMode      string   `json:"image_mode"`       //创意素材类型
		VideoId        string   `json:"video_id"`         //视频ID
		VideoCoverId   string   `json:"video_cover_id"`   //视频封面ID
		ImageIds       []string `json:"image_ids"`        //图片ID列表
		IsAutoGenerate int64    `json:"is_auto_generate"` //是否为派生创意标识,1:是,0:不是
	} `json:"programmatic_creative_media_list"`
	ProgrammaticCreativeTitleList []struct {
		Title        string `json:"title"` //创意标题
		DynamicWords []struct {
			WordId      int64  `json:"word_id"`      //动态词包ID
			DictName    string `json:"dict_name"`    //创意词包名称
			DefaultWord string `json:"default_word"` //创意词包默认词
		}
	} `json:"programmatic_creative_title_list"`
	ProgrammaticCreativeCard []struct {
		PromotionCardTitle                   string   `json:"promotion_card_title"`                     //推广卡片标题
		PromotionCardSellingPoints           []string `json:"promotion_card_selling_points"`            //推广卡片卖点列表
		PromotionCardImageId                 string   `json:"promotion_card_image_id"`                  //推广卡片配图ID
		PromotionCardActionButton            string   `json:"promotion_card_action_button"`             //推广卡片行动号召按钮文案
		PromotionCardButtonSmartOptimization int64    `json:"promotion_card_button_smart_optimization"` //智能优选行动号召按钮文案开关
	} `json:"programmatic_creative_card"`
	CreativeAutoGenerate int `json:"creative_auto_generate"` //是否开启「生成更多创意」
	IsHomepageHide       int `json:"is_homepage_hide"`       //抖音主页是否隐藏视频
}

type AdListGetFiltering

type AdListGetFiltering struct {
	Ids               []int64 `json:"ids,omitempty"`                  // 按计划ID过滤,list长度限制 1-100
	AdName            string  `json:"ad_name,omitempty"`              // 按计划名称过滤,长度为1-30个字符
	Status            string  `json:"status,omitempty"`               // 按计划状态过滤,不传入即默认返回“所有不包含已删除”,其他规则详见【附录-广告计划查询状态】
	MarketingGoal     string  `json:"marketing_goal"`                 // 按营销目标过滤,允许值:VIDEO_PROM_GOODS:短视频带货;LIVE_PROM_GOODS:直播带货
	CampaignId        int64   `json:"campaign_id,omitempty"`          // 按广告组ID过滤
	AdCreateStartDate string  `json:"ad_create_start_date,omitempty"` // 计划创建开始时间,格式:"yyyy-mm-dd"
	AdCreateEndDate   string  `json:"ad_create_end_date,omitempty"`   // 计划创建结束时间,与ad_create_start_date搭配使用,格式:"yyyy-mm-dd",时间跨度不能超过180天
	AdModifyTime      string  `json:"ad_modify_time,omitempty"`       // 计划修改时间,精确到小时,格式:"yyyy-mm-dd HH"
}

type AdListGetReq

type AdListGetReq struct {
	AdvertiserId     int64              `json:"advertiser_id"`                // 千川广告账户ID
	RequestAwemeInfo int64              `json:"request_aweme_info,omitempty"` // 是否包含抖音号信息,允许值:0:不包含;1:包含;默认不返回
	AwemeId          int64              `json:"aweme_id,omitempty"`           // 按抖音号ID过滤
	Page             int64              `json:"page,omitempty"`               // 页码,默认为1
	PageSize         int64              `json:"page_size,omitempty"`          // 页面大小,默认值: 10, 允许值:10、20、50、100、500、1000
	Filtering        AdListGetFiltering `json:"filtering"`                    // 过滤器,无过滤条件情况下返回“所有不包含已删除”的广告组列表
	AccessToken      string             `json:"access_token"`                 // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

AdListGetReq 获取账户下计划列表(不含创意)

type AdListGetRes

type AdListGetRes struct {
	QCError
	Data AdListGetResData `json:"data"`
}

AdListGetRes 获取广告账户数据-返回结构体

type AdListGetResData

type AdListGetResData struct {
	List     []AdListGetResDataDetail `json:"list"`
	FailList []int64                  `json:"fail_list"` // 获取失败的计划ID列表
	PageInfo PageInfo                 `json:"page_info"`
}

type AdListGetResDataDetail

type AdListGetResDataDetail struct {
	AdId          int64  `json:"ad_id"`
	CampaignId    int64  `json:"campaign_id"`
	MarketingGoal string `json:"marketing_goal"`
	PromotionWay  string `json:"promotion_way"`
	Name          string `json:"name"`
	Status        string `json:"status"`
	OptStatus     string `json:"opt_status"`
	AdCreateTime  string `json:"ad_create_time"`
	AdModifyTime  string `json:"ad_modify_time"`
	ProductInfo   []struct {
		Id            int64   `json:"id"`
		Name          string  `json:"name"`
		DiscountPrice float64 `json:"discount_price"`
		Img           string
	} `json:"product_info"`
	AwemeInfo []struct {
		AwemeId     int64  `json:"aweme_id"`
		AwemeName   string `json:"aweme_name"`
		AwemeShowId string `json:"aweme_show_id"`
		AwemeAvatar string `json:"aweme_avatar"`
	} `json:"aweme_info"`
	DeliverySetting struct {
		SmartBidType   string  `json:"smart_bid_type"`
		ExternalAction string  `json:"external_action"`
		Budget         float64 `json:"budget"`
		BudgetMode     string  `json:"budget_mode"`
		CpaBid         float64 `json:"cpa_bid"`
		StartTime      string  `json:"start_time"`
		EndTime        string  `json:"end_time"`
	} `json:"delivery_setting"`
}

type AdRejectReasonReq

type AdRejectReasonReq struct {
	AdvertiserId int64   `json:"advertiser_id"`
	AccessToken  string  `json:"access_token"`
	AdIds        []int64 `json:"ad_id"`
}

AdRejectReasonReq 获取计划审核建议 的 请求结构体

type AdRejectReasonRes

type AdRejectReasonRes struct {
	QCError
	Data AdRejectReasonResData `json:"data"`
}

type AdRejectReasonResData

type AdRejectReasonResData struct {
	List struct {
		AdId         int64 `json:"ad_id"` //广告计划id
		AuditRecords []struct {
			Desc          string   `json:"desc"`           //审核内容,即审核的内容类型,如 视频,图片,标题 等
			Content       string   `json:"content"`        //拒绝内容(文字类型)
			ImageId       int64    `json:"image_id"`       //拒绝内容id(图片类型)
			VideoId       int64    `json:"video_id"`       //拒绝内容id(视频类型)
			AuditPlatform string   `json:"audit_platform"` //审核来源类型,返回值: AD 广告审核、CONTENT 内容审核
			RejectReason  []string `json:"reject_reason"`  //拒绝原因,可能会有多条
			Suggestion    []string `json:"suggestion"`     // 审核建议,可能会有多条
		} `json:"audit_records"`
	} `json:"list"`
}

type AdStatusUpdateBody

type AdStatusUpdateBody struct {
	AdIds        []int64 `json:"ad_ids"`        //需要更新的广告计划id,最多支持10个
	AdvertiserId int64   `json:"advertiser_id"` //广告主id
	OptStatus    string  `json:"opt_status"`    //批量更新的广告计划状态,允许值: DISABLE 暂停计划、DELETE 删除计划、ENABLE 启用计划
}

type AdStatusUpdateReq

type AdStatusUpdateReq struct {
	AccessToken string             // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        AdStatusUpdateBody // POST请求的data
}

AdStatusUpdateReq 更新计划状态的请求结构体

type AdStatusUpdateRes

type AdStatusUpdateRes struct {
	QCError
	Data AdStatusUpdateResData `json:"data"` //返回数据
}

type AdStatusUpdateResData

type AdStatusUpdateResData struct {
	AdId   []int64                      `json:"ad_id"`  //更新成功的计划id
	Errors []AdStatusUpdateResDataError `json:"errors"` //更新失败的计划id和失败原因
}

AdStatusUpdateResData 更新计划状态 的 响应结构体

type AdStatusUpdateResDataError

type AdStatusUpdateResDataError struct {
	AdId         int64  `json:"ad_id"`         //更新失败的计划id
	ErrorMessage string `json:"error_message"` //更新预算失败的原因
}

type AdUpdateAudience

type AdUpdateAudience AdCreateAudience

type AdUpdateBody

type AdUpdateBody struct {
	AdvertiserId    int64                   `json:"advertiser_id"` // 千川广告主账户id
	AdId            int64                   `json:"ad_id"`
	Name            string                  `json:"name,omitempty"` // 计划名称,长度为1-100个字符,其中1个汉字算2位字符。名称不可重复,否则会报错
	DeliverySetting AdUpdateDeliverySetting `json:"delivery_setting"`
	Audience        *AdUpdateAudience       `json:"audience,omitempty"`
	AdUpdateCreative
}

type AdUpdateCreative

type AdUpdateCreative struct {
	CreativeMaterialMode          string                                 `json:"creative_material_mode"`                     // 创意呈现方式,允许值:CUSTOM_CREATIVE 自定义创意、PROGRAMMATIC_CREATIVE 程序化创意
	FirstIndustryId               int64                                  `json:"first_industry_id"`                          // 创意一级行业ID。可从【获取行业列表】接口获取
	SecondIndustryId              int64                                  `json:"second_industry_id"`                         // 创意二级行业ID。可从【获取行业列表】接口获取
	ThirdIndustryId               int64                                  `json:"third_industry_id"`                          // 创意三级行业ID。可从【获取行业列表】接口获取
	AdKeywords                    []string                               `json:"ad_keywords,omitempty"`                      // 创意标签。最多20个标签,且每个标签长度要求为1~20个字符,汉字算2个字符
	CreativeList                  []AdUpdateCreativeList                 `json:"creative_list,omitempty"`                    // 自定义素材信息
	CreativeAutoGenerate          int64                                  `json:"creative_auto_generate,omitempty"`           // 是否开启「生成更多创意」
	ProgrammaticCreativeMediaList *AdUpdateProgrammaticCreativeMediaList `json:"programmatic_creative_media_list,omitempty"` // 程序化创意素材信息
	ProgrammaticCreativeTitleList *AdUpdateProgrammaticCreativeTitleList `json:"programmatic_creative_title_list,omitempty"` // 程序化创意标题信息
	ProgrammaticCreativeCard      *AdUpdateProgrammaticCreativeCard      `json:"programmatic_creative_card,omitempty"`       // 程序化创意推广卡片信息
	IsHomepageHide                int64                                  `json:"is_homepage_hide,omitempty"`                 // 抖音主页是否隐藏视频
}

type AdUpdateCreativeList

type AdUpdateCreativeList struct {
	CreativeId            int64                          `json:"creative_id"`                       // 创意ID
	ImageMode             string                         `json:"image_mode,omitempty"`              // 创意素材类型
	VideoMaterial         *AdUpdateCustomVideoMaterial   `json:"video_material,omitempty"`          // 视频类型素材
	ImageMaterial         *AdUpdateImageMaterial         `json:"image_material,omitempty"`          // 图片类型素材
	TitleMaterial         *AdUpdateTitleMaterial         `json:"title_material,omitempty"`          // 标题类型素材,若选择了抖音号上的视频,不支持修改标题
	PromotionCardMaterial *AdUpdatePromotionCardMaterial `json:"promotion_card_material,omitempty"` // 推广卡片素材
}

AdUpdateCreativeList 广告创意 - creative_list

type AdUpdateCustomVideoMaterial

type AdUpdateCustomVideoMaterial struct {
	ID           int64  `json:"id,omitempty"`
	VideoId      string `json:"video_id,omitempty"`       // 视频ID
	VideoCoverId string `json:"video_cover_id,omitempty"` // 视频封面ID
	AwemeItemId  int64  `json:"aweme_item_id,omitempty"`  // 抖音视频ID
}

AdUpdateCustomVideoMaterial 广告创意 - 视频类型素材

type AdUpdateDeliverySetting

type AdUpdateDeliverySetting struct {
	FlowControlMode    string  `json:"flow_control_mode,omitempty"`    // 投放速度,详见【附录-计划投放速度类型】仅当 smart_bid_type 为SMART_BID_CUSTOM 时需传值,允许值:FLOW_CONTROL_MODE_FAST 尽快投放(默认值)、FLOW_CONTROL_MODE_BALANCE 均匀投放、FLOW_CONTROL_MODE_SMOOTH 优先低成本,对应千川后台「严格控制成本上限」勾选项
	Budget             float64 `json:"budget"`                         // 预算,最多支持两位小数当预算模式为日预算时,预算范围是300 - 9999999.99;当预算模式为总预算时,预算范围是max(300,投放天数x100) - 9999999.99
	CpaBid             float64 `json:"cpa_bid,omitempty"`              // 转化出价,出价不能大于预算仅当 smart_bid_type 为SMART_BID_CUSTOM 时需传值
	VideoScheduleType  string  `json:"video_schedule_type,omitempty"`  // 短视频投放日期选择方式,仅短视频带货场景需入参,允许值:SCHEDULE_FROM_NOW 从今天起长期投放(总预算模式下不支持)、SCHEDULE_START_END 设置开始和结束日期
	LiveScheduleType   string  `json:"live_schedule_type,omitempty"`   // 直播间投放时段选择方式, 仅直播带货场景需入参,允许值:SCHEDULE_FROM_NOW 从今天起长期投放、SCHEDULE_START_END 设置开始和结束日期、SCHEDULE_TIME_FIXEDRANGE 固定时长,在保持原枚举之外,只允许SCHEDULE_FROM_NOW切换为SCHEDULE_START_END ,不允许SCHEDULE_START_END 切换为SCHEDULE_FROM_NOW
	EndTime            string  `json:"end_time,omitempty"`             // 投放结束时间,形式如:2017-01-01结束时间不能比起始时间早。当video_schedule_type为SCHEDULE_START_END 设置开始和结束日期时需传入。当live_schedule_type 为SCHEDULE_TIME_ALLDAY 全天、SCHEDULE_TIME_WEEKLY_SETTING 指定时间段时必填;当 live_schedule_type 为SCHEDULE_TIME_FIXEDRANGE固定时长时不能传入
	ScheduleTime       string  `json:"schedule_time,omitempty"`        // 投放时段,当 live_schedule_type 为SCHEDULE_TIME_WEEKLY_SETTING 时生效默认全时段投放,格式是48*7位字符串,且都是0或1。也就是以半个小时为最小粒度,周一至周日每天分为48个区段,0为不投放,1为投放,不传、全传0、全传1均代表全时段投放。例如:填写"000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000",则投放时段为周一到周日的11:30~13:30
	ScheduleFixedRange int64   `json:"schedule_fixed_range,omitempty"` // 固定投放时长当 live_schedule_type 为 SCHEDULE_TIME_FIXEDRANGE 时必填;当live_schedule_type 为SCHEDULE_TIME_ALLDAY 全天、SCHEDULE_TIME_WEEKLY_SETTING 指定时间段时不能传入。单位为秒,最小值为1800(0.5小时),最大值为48*1800(24小时),值必须为1800倍数,不然会报错
}

type AdUpdateDynamicWords

type AdUpdateDynamicWords AdCreateDynamicWords

type AdUpdateImageMaterial

type AdUpdateImageMaterial struct {
	ID int64 `json:"id,omitempty"`
	AdCreateImageMaterial
}

AdUpdateImageMaterial 广告创意 - 图片类型素材

type AdUpdateProgrammaticCreativeCard

type AdUpdateProgrammaticCreativeCard AdCreateProgrammaticCreativeCard

AdUpdateProgrammaticCreativeCard 广告创意 - 程序化创意推广卡片信息

type AdUpdateProgrammaticCreativeMediaList

type AdUpdateProgrammaticCreativeMediaList AdCreateProgrammaticCreativeMediaList

AdUpdateProgrammaticCreativeMediaList 广告创意 - 程序化创意素材信息

type AdUpdateProgrammaticCreativeTitleList

type AdUpdateProgrammaticCreativeTitleList AdCreateProgrammaticCreativeTitleList

AdUpdateProgrammaticCreativeTitleList 广告创意 - 程序化创意标题信息

type AdUpdatePromotionCardMaterial

type AdUpdatePromotionCardMaterial struct {
	ID          int64 `json:"id,omitempty"`           // 素材唯一标识,通过获取计划详情接口可以获取
	ComponentId int64 `json:"component_id,omitempty"` // 组件唯一标识,通过获取计划详情接口可以获取
	AdCreatePromotionCardMaterial
}

AdUpdatePromotionCardMaterial 广告创意 - 推广卡片素材

type AdUpdateReq

type AdUpdateReq struct {
	AccessToken string       // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        AdUpdateBody // POST请求的data
}

AdUpdateReq 获取广告账户数据-请求

type AdUpdateRes

type AdUpdateRes struct {
	QCError
	Data AdUpdateResData `json:"data"`
}

AdUpdateRes 获取广告账户数据-返回结构体

type AdUpdateResData

type AdUpdateResData struct {
	AdId      int64 `json:"ad_id"` // 修改的计划id
	ErrorList []struct {
		ObjectId     int64  `json:"object_id"`     // 错误对象id
		ObjectType   string `json:"object_type"`   // 错误对象类型,返回值: AD 计划,CREATIVE 创意
		OptType      string `json:"opt_type"`      // 操作类型,返回值:UPDATE 更新,ADD 新建
		ErrorCode    int64  `json:"error_code"`    // 错误码
		ErrorMessage string `json:"error_message"` // 错误信息
	} `json:"error_list"` // 错误list,计划为分块更新,存在部分内容更新失败,部分内容更新成功的的情况。若计划更新成功,则返回为空数组;若更新失败,则返回错误的部分及原因
}

type AdUpdateTitleMaterial

type AdUpdateTitleMaterial struct {
	ID           int64                  `json:"id,omitempty"`
	Title        string                 `json:"title,omitempty"`         // 创意标题
	DynamicWords []AdCreateDynamicWords `json:"dynamic_words,omitempty"` // 动态词包对象列表
}

AdUpdateTitleMaterial 广告创意 - 标题类型素材,若选择了抖音号上的视频,不支持修改标题

type AdvertiserInfoReq

type AdvertiserInfoReq struct {
	AdvertiserIds []int64
	Fields        []string
	AccessToken   string // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

AdvertiserInfoReq 获取千川广告账户全量信息-请求

type AdvertiserInfoRes

type AdvertiserInfoRes struct {
	QCError
	Data []AdvertiserInfoResData `json:"data"`
}

AdvertiserInfoRes 获取千川广告账户全量信息-返回结构体

type AdvertiserInfoResData

type AdvertiserInfoResData struct {
	ID                      int64  `json:"id"`                        // 广告主ID
	Name                    string `json:"name"`                      // 账户名
	Role                    string `json:"role"`                      // 角色, 详见【附录-广告主角色】
	Status                  string `json:"status"`                    // 状态,详见【附录-广告主状态】
	Address                 string `json:"address"`                   // 地址
	LicenseUrl              string `json:"license_url"`               // 执照预览地址(链接默认1小时内有效)
	LicenseNo               string `json:"license_no"`                // 执照编号
	LicenseProvince         string `json:"license_province"`          // 执照省份
	LicenseCity             string `json:"license_city"`              // 执照城市
	Company                 string `json:"company"`                   // 公司名
	Brand                   string `json:"brand"`                     // 经营类别
	PromotionArea           string `json:"promotion_area"`            // 运营区域
	PromotionCenterProvince string `json:"promotion_center_province"` // 运营省份
	PromotionCenterCity     string `json:"promotion_center_city"`     // 运营城市
	FirstIndustryName       string `json:"first_industry_name"`       // 一级行业名称(新版)
	SecondIndustryName      string `json:"second_industry_name"`      // 二级行业名称(新版)
	Reason                  string `json:"reason"`                    // 审核拒绝原因
	CreateTime              string `json:"create_time"`               // 创建时间
}

type AdvertiserListReq

type AdvertiserListReq struct {
	AccessToken string // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AppId       int64  // 开发者申请的应用APP_ID,可通过“应用管理”界面查看
	Secret      string // 开发者应用的私钥Secret,可通过“应用管理”界面查看(确保填入secret与app_id对应以免报错!)
}

AdvertiserListReq 获取已授权的账户(店铺/代理商)-请求

type AdvertiserListRes

type AdvertiserListRes struct {
	QCError
	Data AdvertiserListResCom `json:"data"`
}

AdvertiserListRes 获取已授权的账户(店铺/代理商)-返回结构体

type AdvertiserListResCom

type AdvertiserListResCom struct {
	List []AdvertiserListResData `json:"list"`
}

type AdvertiserListResData

type AdvertiserListResData struct {
	AdvertiserId   int64  `json:"advertiser_id"`   // 账户id
	AdvertiserName string `json:"advertiser_name"` // 账户名称
	IsValid        bool   `json:"is_valid"`        // 授权有效性,返回值:true/false,用于判断当前授权关系是否仍然有效
	AccountRole    string `json:"account_role"`    // 授权账号角色,返回值:PLATFORM_ROLE_QIANCHUAN_AGENT代理商账户、PLATFORM_ROLE_SHOP_ACCOUNT 店铺账户
}

AdvertiserListResData 获取已授权的账户(店铺/代理商)-返回

type AdvertiserPublicInfoReq

type AdvertiserPublicInfoReq struct {
	AdvertiserIds []int64
	AccessToken   string // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

AdvertiserPublicInfoReq 获取千川广告账户基础信息-请求

type AdvertiserPublicInfoRes

type AdvertiserPublicInfoRes struct {
	QCError
	Data []AdvertiserPublicInfoResData `json:"data"`
}

AdvertiserPublicInfoRes 获取千川广告账户基础信息-返回结构体

type AdvertiserPublicInfoResData

type AdvertiserPublicInfoResData struct {
	ID                 int64  `json:"id"`
	Name               string `json:"name"`
	Company            string `json:"company"`
	FirstIndustryName  string `json:"first_industry_name"`
	SecondIndustryName string `json:"second_industry_name"`
}

type AdvertiserReportFiltering

type AdvertiserReportFiltering struct {
	MarketingGoal string `json:"marketing_goal"`
}

type AdvertiserReportReq

type AdvertiserReportReq struct {
	AdvertiserId int64                     // 千川广告主账户id
	StartDate    string                    // 开始时间,格式 2021-04-05
	EndDate      string                    // 结束时间,格式 2021-04-05,时间跨度不能超过180天
	Fields       []string                  // 需要查询的消耗指标
	Filtering    AdvertiserReportFiltering `json:"filtering"`
	//MarketingGoal string   // 过滤条件 营销目标,允许值:VIDEO_PROM_GOODS:短视频带货  LIVE_PROM_GOODS:直播间带货  ALL:不限
	AccessToken string // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

AdvertiserReportReq 获取广告账户数据-请求

type AdvertiserReportRes

type AdvertiserReportRes struct {
	QCError
	Data AdvertiserReportResData `json:"data"`
}

AdvertiserReportRes 获取广告账户数据-返回结构体

type AdvertiserReportResData

type AdvertiserReportResData struct {
	List []AdvertiserReportResDetail `json:"list"`
}

type AdvertiserReportResDetail

type AdvertiserReportResDetail struct {
	AdvertiserId         int64   `json:"advertiser_id"`            // 广告主id
	StatCost             float64 `json:"stat_cost"`                // 消耗
	ShowCnt              int64   `json:"show_cnt"`                 // 展示次数
	Ctr                  float64 `json:"ctr"`                      // 点击率
	CpmPlatform          float64 `json:"cpm_platform"`             // 平均千次展示费用
	ClickCnt             int64   `json:"click_cnt"`                // 点击次数
	PayOrderCount        int64   `json:"pay_order_count"`          // 成交订单数
	CreateOrderAmount    float64 `json:"create_order_amount"`      // 下单成交金额
	CreateOrderCount     int64   `json:"create_order_count"`       // 下单订单数
	PayOrderAmount       float64 `json:"pay_order_amount"`         // 成交订单金额
	CreateOrderRoi       float64 `json:"create_order_roi"`         // 下单roi
	DyFollow             int64   `json:"dy_follow"`                // 新增粉丝数
	PrepayAndPayOrderRoi float64 `json:"prepay_and_pay_order_roi"` // 支付roi
	PrepayOrderCount     int64   `json:"prepay_order_count"`       // 广告预售订单数
	PrepayOrderAmount    float64 `json:"prepay_order_amount"`      // 广告预售订单金额
}

type AgentAdvertiserListReq

type AgentAdvertiserListReq struct {
	AdvertiserId int64  // 代理商ID
	Page         uint64 // 页码.默认值: 1
	PageSize     uint64 // 页面数据量.默认值: 10, 最大值:100
	AccessToken  string // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

AgentAdvertiserListReq 获取代理商账户关联的广告账户列表-请求

type AgentAdvertiserListRes

type AgentAdvertiserListRes struct {
	QCError
	Data AgentAdvertiserListResCom `json:"data"`
}

AgentAdvertiserListRes 获取代理商账户关联的广告账户列表-返回结构体

type AgentAdvertiserListResCom

type AgentAdvertiserListResCom struct {
	List     []int64  `json:"list"`
	PageInfo PageInfo `json:"page_info"`
}

type AgentInfoReq

type AgentInfoReq struct {
	AdvertiserIds []int64
	Fields        []string
	AccessToken   string // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

AgentInfoReq 获取代理商账户信息-请求

type AgentInfoRes

type AgentInfoRes struct {
	QCError
	Data []AgentInfoResData `json:"data"`
}

AgentInfoRes 获取代理商账户信息-返回结构体

type AgentInfoResData

type AgentInfoResData struct {
	AgentId       int64  `json:"agent_id"`
	AgentName     string `json:"agent_name"`
	CustomerId    string `json:"customer_id"`
	CompanyId     string `json:"company_id"`
	CompanyName   string `json:"company_name"`
	AccountStatus string `json:"account_status"`
	CreateTime    string `json:"create_time"`
	Role          string `json:"role"`
}

type AwemeAuthorizedGetReq

type AwemeAuthorizedGetReq struct {
	AccessToken  string `json:"access_token"`
	AdvertiserId int64  `json:"advertiser_id,omitempty"`
	Page         int64  `json:"page,omitempty"`
	PageSize     int64  `json:"page_size,omitempty"`
}

AwemeAuthorizedGetReq 获取千川账户下已授权抖音号 的 请求结构体

type AwemeAuthorizedGetRes

type AwemeAuthorizedGetRes struct {
	QCError
	Data struct {
		PageInfo    PageInfo                      `json:"page_info"`
		AwemeIdList []AwemeAuthorizedGetResDetail `json:"aweme_id_list"`
	} `json:"data"`
}

AwemeAuthorizedGetRes 获取千川账户下已授权抖音号 的 响应结构体

type AwemeAuthorizedGetResDetail

type AwemeAuthorizedGetResDetail struct {
	AwemeAvatar string   `json:"aweme_avatar"`  //抖音头像
	AwemeId     int64    `json:"aweme_id"`      //抖音id,用于创建计划,拉取抖音号视频素材时入参
	AwemeShowId string   `json:"aweme_show_id"` //抖音号,即客户在手机端上看到的抖音号,若向客户披露抖音号请使用该字段
	AwemeName   string   `json:"aweme_name"`    //抖音号名称
	AwemeStatus string   `json:"aweme_status"`  //抖音号带货状态,返回值: NORMAL可以正常投放 ANCHOR_FORBID带货口碑分过低,暂时无法创建计划 ANCHOR_REACH_UPPER_LIMIT_TODAY带货分过低或暂无带货分,可以创建计划,但无法产生消耗,带货分恢复正常后可正常消耗
	BindType    []string `json:"bind_type"`     //抖音号关系类型
}

type BatchCampaignStatusUpdateBody

type BatchCampaignStatusUpdateBody struct {
	AdvertiserId int64   `json:"advertiser_id"` // 千川广告账户ID
	CampaignIds  []int64 `json:"campaign_ids"`  // 广告组ID,不超过10个,操作更新的广告组ID需要属于千川账户ID否则会报错;
	OptStatus    string  `json:"opt_status"`    // 操作类型,允许值: "ENABLE":启用, "DELETE":删除, "DISABLE":暂停;对于删除的广告组不可进行任何操作。
}

type BatchCampaignStatusUpdateReq

type BatchCampaignStatusUpdateReq struct {
	AccessToken string                        // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        BatchCampaignStatusUpdateBody // POST请求的data
}

BatchCampaignStatusUpdateReq 获取广告账户数据-请求

type BatchCampaignStatusUpdateRes

type BatchCampaignStatusUpdateRes struct {
	QCError
	Data BatchCampaignStatusUpdateResData `json:"data"`
}

BatchCampaignStatusUpdateRes 获取广告账户数据-返回结构体

type BatchCampaignStatusUpdateResData

type BatchCampaignStatusUpdateResData struct {
	Success []int64 `json:"success"` // 更新成功的广告组ID列表
	Errors  []struct {
		CampaignId   int64  `json:"campaign_id"`   // 更新失败广告组ID
		ErrorMessage string `json:"error_message"` // 更新失败的原因
	} `json:"errors"` // 更新失败的广告组列表
}

type CampaignCreateBody

type CampaignCreateBody struct {
	AdvertiserId  int64   `json:"advertiser_id"`    // 千川广告账户ID
	CampaignName  string  `json:"campaign_name"`    // 广告组名称,长度为1-100个字符,其中1个中文字符算2位
	MarketingGoal string  `json:"marketing_goal"`   // 营销目标,允许值:VIDEO_PROM_GOODS 短视频带货、LIVE_PROM_GOODS 直播带货
	BudgetMode    string  `json:"budget_mode"`      // 预算类型(创建后不可修改),详见【附录-预算类型】,允许值:BUDGET_MODE_DAY 日预算,BUDGET_MODE_INFINITE 预算不限
	Budget        float64 `json:"budget,omitempty"` // 条件必填,广告组预算,最多支持两位小数,当budget_mode为BUDGET_MODE_DAY时必填,且日预算不少于300元
}

type CampaignCreateReq

type CampaignCreateReq struct {
	AccessToken string             // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        CampaignCreateBody // POST请求的data
}

CampaignCreateReq 获取广告账户数据-请求

type CampaignCreateRes

type CampaignCreateRes struct {
	QCError
	Data CampaignCreateResData `json:"data"`
}

CampaignCreateRes 获取广告账户数据-返回结构体

type CampaignCreateResData

type CampaignCreateResData struct {
	CampaignId int64 `json:"campaign_id"` // 创建的广告组id
}

type CampaignListGetFilter

type CampaignListGetFilter struct {
	Ids           []int64 `json:"ids,omitempty"`    // 广告组ID列表,目前只支持一个。
	Name          string  `json:"name,omitempty"`   // 广告组名称关键字,长度为1-30个字符,其中1个中文字符算2位
	MarketingGoal string  `json:"marketing_goal"`   // 广告组营销目标,允许值:VIDEO_PROM_GOODS:短视频带货、LIVE_PROM_GOODS:直播带货
	Status        string  `json:"status,omitempty"` // 广告组状态,允许值:ALL:所有包含已删除、ENABLE:启用、DISABLE:暂停、DELETE:已删除。不传入即默认返回“所有不包含已删除”
}

type CampaignListGetReq

type CampaignListGetReq struct {
	AdvertiserId int64                 `json:"advertiser_id"`       // 千川广告账户ID
	Page         int64                 `json:"page,omitempty"`      // 页码,默认为1
	PageSize     int64                 `json:"page_size,omitempty"` // 页面大小,默认值: 10, 允许值:10、20、50、100、500、1000
	Filter       CampaignListGetFilter `json:"filter"`              // 过滤器,无过滤条件情况下返回“所有不包含已删除”的广告组列表
	AccessToken  string                `json:"access_token"`        // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

CampaignListGetReq 获取广告账户数据-请求

type CampaignListGetRes

type CampaignListGetRes struct {
	QCError
	Data CampaignListGetResData `json:"data"`
}

CampaignListGetRes 获取广告账户数据-返回结构体

type CampaignListGetResData

type CampaignListGetResData struct {
	List     []CampaignListGetResDataDetail `json:"list"`
	PageInfo PageInfo                       `json:"page_info"`
}

type CampaignListGetResDataDetail

type CampaignListGetResDataDetail struct {
	ID            int64   `json:"id"`             // 广告组ID
	Name          string  `json:"name"`           // 广告组名称
	Budget        float64 `json:"budget"`         // 广告组预算,单位:元,精确到两位小数。
	BudgetMode    string  `json:"budget_mode"`    // 广告组预算类型
	MarketingGoal string  `json:"marketing_goal"` // 广告组营销目标,VIDEO_PROM_GOODS:短视频带货、LIVE_PROM_GOODS:直播带货。
	Status        string  `json:"status"`         // 广告组状态,ALL:所有包含已删除、ENABLE:启用、DISABLE:暂停、DELETE:已删除。
	CreateDate    string  `json:"create_date"`    // 广告组创建日期, 格式:yyyy-mm-dd
}

type CampaignUpdateBody

type CampaignUpdateBody struct {
	AdvertiserId int64   `json:"advertiser_id"`           // 千川广告账户ID
	CampaignId   int64   `json:"campaign_id"`             // 广告组名称,长度为1-100个字符,其中1个中文字符算2位
	CampaignName string  `json:"campaign_name,omitempty"` // 广告组名称,长度为1-100个字符,其中1个中文字符算2位,需要注意:广告组名称不修改的话,可不填。填入的话,需与原广告组名称不同,否则报错
	BudgetMode   string  `json:"budget_mode"`             // 预算类型(创建后不可修改),详见【附录-预算类型】,允许值:BUDGET_MODE_DAY 日预算,BUDGET_MODE_INFINITE 预算不限
	Budget       float64 `json:"budget,omitempty"`        // 条件必填,广告组预算,最多支持两位小数,当budget_mode为BUDGET_MODE_DAY时必填,且日预算不少于300元
}

type CampaignUpdateReq

type CampaignUpdateReq struct {
	AccessToken string             // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Body        CampaignUpdateBody // POST请求的data
}

CampaignUpdateReq 获取广告账户数据-请求

type CampaignUpdateRes

type CampaignUpdateRes struct {
	QCError
	Data CampaignUpdateResData `json:"data"`
}

CampaignUpdateRes 获取广告账户数据-返回结构体

type CampaignUpdateResData

type CampaignUpdateResData struct {
	CampaignId int64 `json:"campaign_id"` // 修改的广告组id
}

type CreativeGetReq

type CreativeGetReq struct {
	AccessToken  string                  `json:"access_token"`
	AdvertiserId int64                   `json:"advertiser_id"` //千川广告账户ID
	Filtering    CreativeGetReqFiltering `json:"filtering"`
	Page         int64                   `json:"page,omitempty"`      //页码,默认值:1
	PageSize     int64                   `json:"page_size,omitempty"` //页面大小,允许值:10, 20, 50, 100, 500, 1000,默认值:10
}

CreativeGetReq 获取账户下创意列表 的 请求结构体

type CreativeGetReqFiltering

type CreativeGetReqFiltering struct {
	AdIds                   []int64 `json:"ad_ids,omitempty"`                     //按计划ID过滤,list长度限制 1-100
	CreativeId              int64   `json:"creative_id,omitempty"`                //按创意ID过滤
	CreativeMaterialMode    string  `json:"creative_material_mode,omitempty"`     //按创意呈现方式过滤,允许值: CUSTOM_CREATIVE 自定义创意、PROGRAMMATIC_CREATIVE 程序化创意
	Status                  string  `json:"status,omitempty"`                     //按创意状态过滤,不传入即默认返回“所有不包含已删除”,其他规则详见【附录-创意查询状态】
	MarketingGoal           string  `json:"marketing_goal"`                       //按营销目标过滤,允许值:VIDEO_PROM_GOODS 短视频带货、LIVE_PROM_GOODS 直播带货
	CampaignId              int64   `json:"campaign_id,omitempty"`                //按广告组ID过滤
	CreativeCreateStartDate string  `json:"creative_create_start_date,omitempty"` //创意创建开始时间,格式:"yyyy-mm-dd"
	CreativeCreateEndDate   string  `json:"creative_create_end_date,omitempty"`   //创意创建结束时间,与creative_create_start_date搭配使用,格式:"yyyy-mm-dd",时间跨度不能超过180天
	CreativeModifyTime      string  `json:"creative_modify_time,omitempty"`       //创意修改时间,格式:"yyyy-mm-dd HH"
}

type CreativeGetRes

type CreativeGetRes struct {
	QCError
	Data struct {
		List     []CreativeGetResDetail `json:"list"`
		PageInfo struct {
			Page        int64 `json:"page"`         //页码
			PageSize    int64 `json:"page_size"`    //页面大小
			TotalNumber int64 `json:"total_number"` //总数
			TotalPage   int64 `json:"total_page"`   //总页数
		} `json:"page_info"`
	} `json:"data"`
}

CreativeGetRes 获取账户下创意列表 的 响应结构体

type CreativeGetResDetail

type CreativeGetResDetail struct {
	AdId               int64  `json:"ad_id"`                //计划ID
	CreativeId         int64  `json:"creative_id"`          //创意ID
	Status             string `json:"status"`               //创意状态
	OptStatus          string `json:"opt_status"`           //创意操作状态
	ImageMode          string `json:"image_mode"`           //创意素材类型
	CreativeCreateTime string `json:"creative_create_time"` //创意创建时间
	CreativeModifyTime string `json:"creative_modify_time"` //创意修改时间
	VideoMaterial      struct {
		VideoId        string `json:"video_id"`         //视频ID
		VideoCoverId   string `json:"video_cover_id"`   //视频封面ID
		AwemeItemId    int64  `json:"aweme_item_id"`    //抖音视频ID
		IsAutoGenerate int64  `json:"is_auto_generate"` //是否为派生创意标识,1:是,0:不是
	} `json:"video_material"`
	ImageMaterial struct {
		ImageIds       []string `json:"image_ids"`        //图片ID列表
		IsAutoGenerate int64    `json:"is_auto_generate"` //是否为派生创意标识,1:是,0:不是
	} `json:"image_material"`
	TitleMaterial struct {
		Title        string `json:"title"` //创意标题
		DynamicWords []struct {
			WordId      int64  //动态词包ID
			DictName    string //创意词包名称
			DefaultWord string //创意词包默认词
		} `json:"dynamic_words"`
	} `json:"title_material"`
}

type CreativeRejectReasonReq

type CreativeRejectReasonReq struct {
	AccessToken  string  `json:"access_token"`
	AdvertiserId int64   `json:"advertiser_id"`
	CreativeIds  []int64 `json:"creative_ids"`
}

CreativeRejectReasonReq 获取创意审核建议 的 请求结构体

type CreativeRejectReasonRes

type CreativeRejectReasonRes struct {
	QCError
	Data struct {
		List []CreativeRejectReasonResDetail `json:"list"`
	} `json:"data"`
}

CreativeRejectReasonRes 获取创意审核建议 的 响应结构体

type CreativeRejectReasonResDetail

type CreativeRejectReasonResDetail struct {
	CreativeId   int64 `json:"creative_id"` //广告创意id
	AuditRecords []struct {
		Desc          string   `json:"desc"`           //审核内容,即审核的内容类型,如 视频,图片,标题 等
		Content       string   `json:"content"`        //拒绝内容(文字类型)
		ImageId       int64    `json:"image_id"`       //拒绝内容(图片类型)
		VideoId       int64    `json:"video_id"`       //拒绝内容(视频类型)
		AuditPlatform string   `json:"audit_platform"` //审核来源类型,返回值: AD 广告审核、CONTENT 内容审核
		RejectReason  []string `json:"reject_reason"`  //拒绝原因,可能会有多条
		Suggestion    []string `json:"suggestion"`     //审核建议,可能会有多条
	} `json:"audit_records"` //
}

type CreativeStatusUpdateReq

type CreativeStatusUpdateReq struct {
	AccessToken string                      `json:"access_token"`
	Body        CreativeStatusUpdateReqBody `json:"body"`
}

CreativeStatusUpdateReq 更新创意状态 的 请求结构体

type CreativeStatusUpdateReqBody

type CreativeStatusUpdateReqBody struct {
	AdvertiserId int64   `json:"advertiser_id"`
	OptStatus    string  `json:"opt_status"`
	CreativeIds  []int64 `json:"creative_ids"`
}

type CreativeStatusUpdateRes

type CreativeStatusUpdateRes struct {
	QCError
	Data struct {
		CreativeIds []int64 `json:"creative_ids"` //更新成功的创意id
		Errors      []struct {
			CreativeId   int64  `json:"creative_id"`   //更新失败的创意id
			ErrorMessage string `json:"error_message"` //更新失败的原因
		} `json:"errors"`
	} `json:"data"`
}

CreativeStatusUpdateRes 更新创意状态 的 响应结构体

type DmpAudiencesGetReq

type DmpAudiencesGetReq struct {
	AccessToken         string `json:"access_token"`          // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId        int64  `json:"advertiser_id"`         // 千川广告账户ID
	RetargetingTagsType int64  `json:"retargeting_tags_type"` // 人群包类型,枚举值:0:不限营销目标的平台精选人群包,1:自定义人群包
	Offset              int64  `json:"offset,omitempty"`      // 偏移,类似于SQL中offset(起始为0,翻页时new_offset=old_offset+limit),默认值:0,取值范围:≥ 0
	Limit               int64  `json:"limit,omitempty"`       // 返回数据量,默认值:100,取值范围:1-100
}

DmpAudiencesGetReq 查询人群包列表 的 请求结构体

type DmpAudiencesGetRes

type DmpAudiencesGetRes struct {
	QCError
	Data struct {
		RetargetingTags []DmpAudiencesGetResDetail `json:"retargeting_tags"`
		Offset          int64                      `json:"offset"`    //下一次查询的偏移,类似于SQL中offset(起始为0,翻页时new_offset=old_offset+limit),返回0时,代表已查询到最后一页
		TotalNum        int64                      `json:"total_num"` //总的人群包数量
	} `json:"data"`
}

DmpAudiencesGetRes 查询人群包列表 的 响应结构体

type DmpAudiencesGetResDetail

type DmpAudiencesGetResDetail struct {
	RetargetingTagsId  string `json:"retargeting_tags_id"`  //人群包id
	Name               string `json:"name"`                 //人群包名称
	Source             string `json:"source"`               //人群包来源,自定义类详见【附录-DMP相关-人群包来源】,平台精选类返回空值
	Status             int64  `json:"status"`               //人群包状态,详见【附录-DMP相关-人群包状态】
	RetargetingTagsOp  string `json:"retargeting_tags_op"`  //人群包可选的定向规则,枚举值:INCLUDE只支持定向,EXCLUDE只支持排除,ALL支持两种规则。 当source为RETARGETING_TAGS_TYPE_PLATFORM时,只支持INCLUDE或EXCLUDE;当source为RETARGETING_TAGS_TYPE_CUSTOM时,支持ALL
	CoverNum           int64  `json:"cover_num"`            //预估人群包覆盖人群数目
	RetargetingTagsTip string `json:"retargeting_tags_tip"` //人群包说明
	IsCommon           int64  `json:"is_common"`            //0 该人群包不支持通投,1 该人群包支持通投,注意:不支持通投的人群包不能在千川平台创建计划,否则会报错。
}

type FileImageAdReq

type FileImageAdReq struct {
	AccessToken string             `json:"access_token"`
	Body        FileImageAdReqBody `json:"body"`
}

FileImageAdReq 上传图片素材 的 请求结构体

type FileImageAdReqBody

type FileImageAdReqBody struct {
	AdvertiserId   int64     `json:"advertiser_id,omitempty"`
	UploadType     string    `json:"upload_type,omitempty"`
	ImageSignature string    `json:"image_signature,omitempty"`
	ImageFile      io.Reader `json:"image_file,omitempty"`
	ImageUrl       string    `json:"image_url,omitempty"`
	Filename       string    `json:"filename,omitempty"`
}

type FileImageAdRes

type FileImageAdRes struct {
	QCError
	Data struct {
		Id         string `json:"id"`
		Size       int64  `json:"size"`
		Width      int64  `json:"width"`
		Height     int64  `json:"height"`
		Url        string `json:"url"`
		Format     string `json:"format"`
		Signature  string `json:"signature"`
		MaterialId int64  `json:"material_id"`
	} `json:"data"`
}

FileImageAdRes 上传图片素材 的 响应结构体

type FileImageGetReq

type FileImageGetReq struct {
	AccessToken  string                   // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64                    `json:"advertiser_id"` // 千川广告账户ID
	Filtering    FileImageGetReqFiltering `json:"filtering,omitempty"`
	Page         int64                    `json:"page,omitempty"`
	PageSize     int64                    `json:"page_size,omitempty"`
}

FileImageGetReq 获取素材库的图片 的 请求结构体

type FileImageGetReqFiltering

type FileImageGetReqFiltering struct {
	ImageIds    []string  `json:"image_ids,omitempty"`    //图片ids,可以根据图片ids(创意中使用的图片key,存在一张图片对应多个image_ids的情况)进行过滤 数量限制:<=100 注意:image_ids、material_ids、signatures只能选择一个进行过滤
	MaterialIds []int64   `json:"material_ids,omitempty"` //素材id列表,可以根据material_ids(素材报表使用的id,一个素材唯一对应一个素材id)进行过滤 数量限制:<=100 注意:image_ids、material_ids、signatures只能选择一个进行过滤
	Signatures  []string  `json:"signatures,omitempty"`   //md5值列表,可以根据素材的md5进行过滤 数量限制:<=100 注意:image_ids、material_ids、signatures只能选择一个进行过滤
	Width       int64     `json:"width,omitempty"`        //图片宽度
	Height      int64     `json:"height,omitempty"`       //图片高度
	Ratio       []float64 `json:"ratio,omitempty"`        //图片宽高比,eg: [1.7, 2.5],输入1.7则搜索满足宽高比介于1.65-1.75之间的图片,即精度上下浮动0.05
	StartTime   string    `json:"start_time,omitempty"`   //根据视频上传时间进行过滤的起始时间,与end_time搭配使用,格式:yyyy-mm-dd
	EndTime     string    `json:"end_time,omitempty"`     //根据视频上传时间进行过滤的截止时间,与start_time搭配使用,格式:yyyy-mm-dd
}

type FileImageGetRes

type FileImageGetRes struct {
	QCError
	Data struct {
		List     []FileImageGetResDetail
		PageInfo PageInfo `json:"page_info"`
	}
}

FileImageGetRes 获取素材库的图片 的 响应结构体

type FileImageGetResDetail

type FileImageGetResDetail struct {
	Id         string `json:"id"`          //图片ID
	MaterialId int64  `json:"material_id"` //素材id,即多合一报表中的素材id,一个素材唯一对应一个素材id
	Size       int64  `json:"size"`        //图片大小
	Width      int64  `json:"width"`       //图片宽度
	Height     int64  `json:"height"`      //图片高度
	Url        string `json:"url"`         //图片预览地址(1小时内有效),仅限同主体进行素材预览查看,若非同主体会返回“素材所属主体与开发者主体不一致无法获取URL”
	Format     string `json:"format"`      //图片格式
	Signature  string `json:"signature"`   //图片md5
	CreateTime string `json:"create_time"` //素材的上传时间,格式:"yyyy-mm-dd HH:MM:SS"
	Filename   string `json:"filename"`    //素材的文件名
}

type FileVideoAdReq

type FileVideoAdReq struct {
	AccessToken string             `json:"access_token"`
	Body        FileVideoAdReqBody `json:"body"`
}

FileVideoAdReq 上传视频素材 的 请求结构体

type FileVideoAdReqBody

type FileVideoAdReqBody struct {
	AdvertiserId   int64     `json:"advertiser_id"`
	VideoSignature string    `json:"video_signature"`
	VideoFile      io.Reader `json:"video_file"`
	VideoName      string    `json:"filename"`
}

type FileVideoAdRes

type FileVideoAdRes struct {
	QCError
	Data FileVideoAdResDetail `json:"data"`
}

FileVideoAdRes 上传视频素材 的 响应结构体

type FileVideoAdResDetail

type FileVideoAdResDetail struct {
	VideoId    string `json:"video_id"`
	Size       int64  `json:"size"`
	Width      int64  `json:"width"`
	Height     int64  `json:"height"`
	VideoUrl   string `json:"video_url"`
	Duration   int64  `json:"duration"`
	MaterialId int64  `json:"material_id"`
}

type FileVideoAwemeGetReq

type FileVideoAwemeGetReq struct {
	AccessToken  string                        `json:"access_token"`  // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64                         `json:"advertiser_id"` // 千川广告账户ID
	AwemeId      int64                         `json:"aweme_id"`      // 需拉取视频的抖音号
	Filtering    FileVideoAwemeGetReqFiltering `json:"filtering,omitempty"`
	Cursor       int64                         `json:"cursor,omitempty"`
	Count        int64                         `json:"count,omitempty"`
}

FileVideoAwemeGetReq 获取抖音号下的视频 的 请求结构体

type FileVideoAwemeGetReqFiltering

type FileVideoAwemeGetReqFiltering struct {
	ProductId int64 `json:"product_id,omitempty"` //商品ID,查询关联商品的相应视频,仅短视频带货场景需入参
}

type FileVideoAwemeGetRes

type FileVideoAwemeGetRes struct {
	QCError
	Data struct {
		List     []FileVideoAwemeGetResDetail
		PageInfo struct {
			HasMore int64 `json:"has_more"` //是否有下一页
			Count   int64 `json:"count"`    //过滤后返回的视频数量,注意,此处的数量不一定与入参的count一致,因为存在过滤逻辑
			Cursor  int64 `json:"cursor"`   //下一次分页拉取的游标值
		} `json:"page_info"`
	}
}

FileVideoAwemeGetRes 获取抖音号下的视频 的 响应结构体

type FileVideoAwemeGetResDetail

type FileVideoAwemeGetResDetail struct {
	AwemeItemId   string `json:"aweme_item_id"`   //抖音短视频 ID
	VideoCoverUrl string `json:"video_cover_url"` //视频封面图片url
	Width         int64  `json:"width"`           //视频宽度
	Height        int64  `json:"height"`          //视频高度
	Url           string `json:"url"`             //视频地址,链接1小时过期
	Duration      int64  `json:"duration"`        //视频时长
	Title         string `json:"title"`           //抖音中的视频标题
	IsRecommend   int64  `json:"is_recommend"`    //是否推荐 0 不推荐 1 推荐
}

type FileVideoGetReq

type FileVideoGetReq struct {
	AccessToken  string                   // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64                    `json:"advertiser_id"` // 千川广告账户ID
	Filtering    FileVideoGetReqFiltering `json:"filtering,omitempty"`
	Page         int64                    `json:"page,omitempty"`
	PageSize     int64                    `json:"page_size,omitempty"`
}

FileVideoGetReq 获取素材库的视频 的 请求结构体

type FileVideoGetReqFiltering

type FileVideoGetReqFiltering struct {
	Width       int64     `json:"width,omitempty"`        //视频宽度
	Height      int64     `json:"height,omitempty"`       //视频高度
	Ratio       []float64 `json:"ratio,omitempty"`        //视频宽高比,示例: [1.7, 2.5] 输入1.7则搜索满足宽高比介于1.65-1.75之间的视频,即精度上下浮动0.5
	VideoIds    []string  `json:"video_ids,omitempty"`    //视频ids,示例: ["86adb23eaa21229fc04ef932b5089bb8"] 数量限制:<=100 注意:video_ids、material_ids、signatures只能选择一个进行过滤
	MaterialIds []int64   `json:"material_ids,omitempty"` //素材id列表,可以根据material_ids(素材报表使用的id,一个素材唯一对应一个素材id)进行过滤 数量限制:<=100 注意:video_ids、material_ids、signatures只能选择一个进行过滤
	Signatures  []string  `json:"signatures,omitempty"`   //md5值列表,可以根据素材的md5进行过滤 数量限制:<=100 注意:video_ids、material_ids、signatures只能选择一个进行过滤
	StartTime   string    `json:"start_time,omitempty"`   //根据视频上传时间进行过滤的起始时间,与end_time搭配使用,格式:yyyy-mm-dd
	EndTime     string    `json:"end_time,omitempty"`     //根据视频上传时间进行过滤的截止时间,与start_time搭配使用,格式:yyyy-mm-dd
}

type FileVideoGetRes

type FileVideoGetRes struct {
	QCError
	Data struct {
		List     []FileVideoGetResDetail
		PageInfo PageInfo `json:"page_info"`
	}
}

FileVideoGetRes 获取素材库的视频 的 响应结构体

type FileVideoGetResDetail

type FileVideoGetResDetail struct {
	Id         string   `json:"id"`          //视频ID
	Size       int64    `json:"size"`        //视频大小
	Width      int64    `json:"width"`       //视频宽度
	Height     int64    `json:"height"`      //视频高度
	Url        string   `json:"url"`         //视频地址,仅限同主体进行素材预览查看,若非同主体会返回“素材所属主体与开发者主体不一致无法获取URL”,链接1小时过期
	Format     string   `json:"format"`      //视频格式
	Signature  string   `json:"signature"`   //视频md5值
	PosterUrl  string   `json:"poster_url"`  //视频首帧截图,仅限同主体进行素材预览查看,若非同主体会返回“素材所属主体与开发者主体不一致无法获取URL”,链接1小时过期
	BitRate    int64    `json:"bit_rate"`    //码率,单位bps
	Duration   float64  `json:"duration"`    //视频时长
	MaterialId int64    `json:"material_id"` //素材id,即多合一报表中的素材id,一个素材唯一对应一个素材id
	Source     string   `json:"source"`      //素材来源,E_COMMERCE:巨量千川,BP:巨量纵横, STAR:星图&即合, ARTHUR:亚瑟, VIDEO_CAPTURE:易拍
	CreateTime string   `json:"create_time"` //素材的上传时间,格式:"yyyy-mm-dd HH:MM:SS"
	Filename   string   `json:"filename"`    //素材的文件名
	Labels     []string `json:"labels"`      //视频标签
}

type Manager

type Manager struct {
	Credentials *auth.Credentials
	// contains filtered or unexported fields
}

Manager Manager结构体

func NewManager

func NewManager(credentials *auth.Credentials, tr http.RoundTripper) *Manager

NewManager 创建新的Manager

func (*Manager) AdBidUpdate

func (m *Manager) AdBidUpdate(req AdBidUpdateReq) (res *AdBidUpdateRes, err error)

AdBidUpdate 更新计划出价

func (*Manager) AdBudgetUpdate

func (m *Manager) AdBudgetUpdate(req AdBudgetUpdateReq) (res *AdBudgetUpdateRes, err error)

AdBudgetUpdate 更新计划预算

func (*Manager) AdCreate

func (m *Manager) AdCreate(req AdCreateReq) (res *AdCreateRes, err error)

AdCreate 创建计划(含创意生成规则)

func (*Manager) AdDetailGet

func (m *Manager) AdDetailGet(req AdDetailGetReq) (res *AdDetailGetRes, err error)

AdDetailGet 获取计划详情(含创意信息)

func (*Manager) AdListGet

func (m *Manager) AdListGet(req AdListGetReq) (res *AdListGetRes, err error)

AdListGet 获取账户下计划列表(不含创意)

func (*Manager) AdRejectReason

func (m *Manager) AdRejectReason(req AdRejectReasonReq) (res *AdRejectReasonRes, err error)

AdRejectReason 获取计划审核建议

func (*Manager) AdStatusUpdate

func (m *Manager) AdStatusUpdate(req AdStatusUpdateReq) (res *AdStatusUpdateRes, err error)

AdStatusUpdate 更新计划状态

func (*Manager) AdUpdate

func (m *Manager) AdUpdate(req AdUpdateReq) (res *AdUpdateRes, err error)

AdUpdate 更新计划(含创意生成规则)

func (*Manager) AdvertiserInfo

func (m *Manager) AdvertiserInfo(req AdvertiserInfoReq) (res *AdvertiserInfoRes, err error)

AdvertiserInfo 获取千川广告账户全量信息

func (*Manager) AdvertiserList

func (m *Manager) AdvertiserList(req AdvertiserListReq) (res *AdvertiserListRes, err error)

AdvertiserList 获取已授权的账户(店铺/代理商)

func (*Manager) AdvertiserPublicInfo

func (m *Manager) AdvertiserPublicInfo(req AdvertiserPublicInfoReq) (res *AdvertiserPublicInfoRes, err error)

AdvertiserPublicInfo 获取千川广告账户基础信息

func (*Manager) AdvertiserReport

func (m *Manager) AdvertiserReport(req AdvertiserReportReq) (res *AdvertiserReportRes, err error)

AdvertiserReport 获取广告账户数据

func (*Manager) AgentAdvertiserList

func (m *Manager) AgentAdvertiserList(req AgentAdvertiserListReq) (res *AgentAdvertiserListRes, err error)

AgentAdvertiserList 获取代理商账户关联的广告账户列表

func (*Manager) AgentInfo

func (m *Manager) AgentInfo(req AgentInfoReq) (res *AgentInfoRes, err error)

AgentInfo 获取代理商账户信息

func (*Manager) AwemeAuthorizedGet

func (m *Manager) AwemeAuthorizedGet(req AwemeAuthorizedGetReq) (res *AwemeAuthorizedGetRes, err error)

AwemeAuthorizedGet 获取千川账户下已授权抖音号

func (*Manager) BatchCampaignStatusUpdate

func (m *Manager) BatchCampaignStatusUpdate(req BatchCampaignStatusUpdateReq) (res *BatchCampaignStatusUpdateRes, err error)

BatchCampaignStatusUpdate 获取广告账户数据

func (*Manager) CampaignCreate

func (m *Manager) CampaignCreate(req CampaignCreateReq) (res *CampaignCreateRes, err error)

CampaignCreate 获取广告账户数据

func (*Manager) CampaignListGet

func (m *Manager) CampaignListGet(req CampaignListGetReq) (res *CampaignListGetRes, err error)

CampaignListGet 获取广告账户数据

func (*Manager) CampaignUpdate

func (m *Manager) CampaignUpdate(req CampaignUpdateReq) (res *CampaignUpdateRes, err error)

CampaignUpdate 获取广告账户数据

func (*Manager) CreativeGet

func (m *Manager) CreativeGet(req CreativeGetReq) (res *CreativeGetRes, err error)

CreativeGet 获取账户下创意列表

func (*Manager) CreativeRejectReason

func (m *Manager) CreativeRejectReason(req CreativeRejectReasonReq) (res *CreativeRejectReasonRes, err error)

CreativeRejectReason 获取创意审核建议

func (*Manager) CreativeStatusUpdate

func (m *Manager) CreativeStatusUpdate(req CreativeStatusUpdateReq) (res *CreativeStatusUpdateRes, err error)

CreativeStatusUpdate 更新创意状态

func (*Manager) DmpAudiencesGet

func (m *Manager) DmpAudiencesGet(req DmpAudiencesGetReq) (res *DmpAudiencesGetRes, err error)

DmpAudiencesGet 查询人群包列表

func (*Manager) FileImageAd

func (m *Manager) FileImageAd(req FileImageAdReq) (res *FileImageAdRes, err error)

FileImageAd 上传图片素材

func (*Manager) FileImageGet

func (m *Manager) FileImageGet(req FileImageGetReq) (res *FileImageGetRes, err error)

FileImageGet 获取素材库的图片

func (*Manager) FileVideoAd

func (m *Manager) FileVideoAd(req FileVideoAdReq) (res *FileVideoAdRes, err error)

FileVideoAd 上传视频素材

func (*Manager) FileVideoAwemeGet

func (m *Manager) FileVideoAwemeGet(req FileVideoAwemeGetReq) (res *FileVideoAwemeGetRes, err error)

FileVideoAwemeGet 获取抖音号下的视频

func (*Manager) FileVideoGet

func (m *Manager) FileVideoGet(req FileVideoGetReq) (res *FileVideoGetRes, err error)

FileVideoGet 获取素材库的视频

func (*Manager) OauthAccessToken

func (m *Manager) OauthAccessToken(req OauthAccessTokenReq) (res OauthAccessTokenRes, err error)

OauthAccessToken 获取access_token

func (*Manager) OauthConnect

func (m *Manager) OauthConnect(param OauthParam) string

OauthConnect 生成授权链接,获取授权码

func (*Manager) OauthRefreshToken

func (m *Manager) OauthRefreshToken(req OauthRefreshTokenReq) (res OauthRefreshTokenRes, err error)

OauthRefreshToken 刷新access_token

func (*Manager) ProductAvailableGet

func (m *Manager) ProductAvailableGet(req ProductAvailableGetReq) (res *ProductAvailableGetRes, err error)

ProductAvailableGet 获取可投商品列表接口

func (*Manager) ReportAdGet

func (m *Manager) ReportAdGet(req ReportAdGetReq) (res *ReportAdGetRes, err error)

ReportAdGet 获取广告计划数据

func (*Manager) ReportCreativeGet

func (m *Manager) ReportCreativeGet(req ReportCreativeGetReq) (res *ReportCreativeGetRes, err error)

ReportCreativeGet 获取千川广告账户全量信息

func (*Manager) ShopAccountInfo

func (m *Manager) ShopAccountInfo(req ShopAccountInfoReq) (res *ShopAccountInfoRes, err error)

ShopAccountInfo 获取店铺账户信息

func (*Manager) ShopAdvertiserList

func (m *Manager) ShopAdvertiserList(req ShopAdvertiserListReq) (res *ShopAdvertiserListRes, err error)

ShopAdvertiserList 获取店铺账户关联的广告账户列表

func (*Manager) ToolsAwemeCategoryTopAuthorGet

func (m *Manager) ToolsAwemeCategoryTopAuthorGet(req ToolsAwemeCategoryTopAuthorGetReq) (res *ToolsAwemeCategoryTopAuthorGetRes, err error)

ToolsAwemeCategoryTopAuthorGet 查询抖音类目下的推荐达人

func (*Manager) ToolsAwemeMultiLevelCategoryGet

func (m *Manager) ToolsAwemeMultiLevelCategoryGet(req ToolsAwemeMultiLevelCategoryGetReq) (res *ToolsAwemeMultiLevelCategoryGetRes, err error)

ToolsAwemeMultiLevelCategoryGet 查询抖音类目列表

func (*Manager) ToolsCreativeWordSelect

func (m *Manager) ToolsCreativeWordSelect(req ToolsCreativeWordSelectReq) (res *ToolsCreativeWordSelectRes, err error)

ToolsCreativeWordSelect 查询动态创意词包

func (*Manager) ToolsIndustryGet

func (m *Manager) ToolsIndustryGet(req ToolsIndustryGetReq) (res *ToolsIndustryGetRes, err error)

ToolsIndustryGet 获取行业列表

func (*Manager) ToolsInterestActionActionCategory

func (m *Manager) ToolsInterestActionActionCategory(req ToolsInterestActionActionCategoryReq) (res *ToolsInterestActionActionCategoryRes, err error)

ToolsInterestActionActionCategory 行为类目查询

func (*Manager) ToolsInterestActionActionKeyword

func (m *Manager) ToolsInterestActionActionKeyword(req ToolsInterestActionActionKeywordReq) (res *ToolsInterestActionActionKeywordRes, err error)

ToolsInterestActionActionKeyword 行为关键词查询

func (*Manager) ToolsInterestActionInterestCategory

func (m *Manager) ToolsInterestActionInterestCategory(req ToolsInterestActionInterestCategoryReq) (res *ToolsInterestActionInterestCategoryRes, err error)

ToolsInterestActionInterestCategory 兴趣类目查询

func (*Manager) ToolsInterestActionInterestKeyword

func (m *Manager) ToolsInterestActionInterestKeyword(req ToolsInterestActionInterestKeywordReq) (res *ToolsInterestActionInterestKeywordRes, err error)

ToolsInterestActionInterestKeyword 兴趣关键词查询

func (*Manager) UserInfo

func (m *Manager) UserInfo(req UserInfoReq) (res *UserInfoRes, err error)

UserInfo 获取授权时登录用户信息

type OauthAccessTokenReq

type OauthAccessTokenReq struct {
	Code string // 授权码
}

OauthAccessTokenReq access_token请求

type OauthAccessTokenRes

type OauthAccessTokenRes struct {
	QCError
	Data OauthAccessTokenResData `json:"data"`
}

OauthAccessTokenRes access_token返回结构体

type OauthAccessTokenResData

type OauthAccessTokenResData struct {
	AccessToken           string `json:"access_token"`             // 用于验证权限的token
	ExpiresIn             uint64 `json:"expires_in"`               // access_token剩余有效时间,单位(秒)
	RefreshToken          string `json:"refresh_token"`            // 刷新access_token,用于获取新的access_token和refresh_token,并且刷新过期时间
	RefreshTokenExpiresIn uint64 `json:"refresh_token_expires_in"` // refresh_token剩余有效时间,单位(秒)
}

OauthAccessTokenResData access_token返回

type OauthParam

type OauthParam struct {
	AppId        int64   // 应用的app_id
	State        string  // 应用的状态,默认”your_custom_params“,暂时不知道其他选项
	Scope        []int64 // 应用权限范围,形如”[20120000,22000000]“
	MaterialAuth string  // 暂时不知道,默认”1“
	RedirectUri  string  // 重定向链接
	Rid          string  // 暂时不知道
}

OauthParam 授权参数

type OauthRefreshTokenReq

type OauthRefreshTokenReq struct {
	RefreshToken string // 填写通过access_token获取到的refresh_token参数
}

OauthRefreshTokenReq 刷新access_token请求

type OauthRefreshTokenRes

type OauthRefreshTokenRes struct {
	QCError
	Data OauthRefreshTokenResData `json:"data"`
}

OauthRefreshTokenRes 刷新access_token返回结构体

type OauthRefreshTokenResData

type OauthRefreshTokenResData OauthAccessTokenResData

OauthRefreshTokenResData 刷新access_token返回

type PageInfo

type PageInfo struct {
	Page        uint64 `json:"page"`         // 页数
	PageSize    uint64 `json:"page_size"`    // 页面大小
	TotalNumber uint64 `json:"total_number"` // 总数
	TotalPage   uint64 `json:"total_page"`   // 总页数
}

PageInfo 页码结构体

type ProductAvailableGetFilter

type ProductAvailableGetFilter struct {
	ProductIds  []string `json:"access_token,omitempty"`
	ProductName string   `json:"product_name,omitempty"`
}

type ProductAvailableGetReq

type ProductAvailableGetReq struct {
	AccessToken  string `json:"access_token"`
	AdvertiserId int64  `json:"advertiser_id,omitempty"`
	Filter       ProductAvailableGetFilter
	Page         int64 `json:"page,omitempty"`
	PageSize     int64 `json:"page_size,omitempty"`
}

ProductAvailableGetReq 获取可投商品列表接口 的 请求结构体

type ProductAvailableGetRes

type ProductAvailableGetRes struct {
	QCError
	Data struct {
		PageInfo    PageInfo                       `json:"page_info"`
		ProductList []ProductAvailableGetResDetail `json:"product_list"`
	} `json:"data"`
}

ProductAvailableGetRes 获取可投商品列表接口 的 响应结构体

type ProductAvailableGetResDetail

type ProductAvailableGetResDetail struct {
	CategoryName  string  `json:"category_name"`  //分类
	DiscountPrice float64 `json:"discount_price"` //售价,单位:元
	Id            int64   `json:"id"`             //商品id
	Img           string  `json:"img"`            //主图
	Inventory     int64   `json:"inventory"`      //库存
	Name          string  `json:"name"`           //商品名称
	ProductRate   float64 `json:"product_rate"`   //好评率
	SaleTime      string  `json:"sale_time"`      //上架时间
}

type QCError

type QCError struct {
	Code      int64  `json:"code"`                 // 错误码
	Message   string `json:"message"`              // 错误码描述
	RequestId string `json:"request_id,omitempty"` // 错误码描述r
}

QCError 错误结构体

func NewError

func NewError(errorCode int64, description string) *QCError

NewError 新建错误结构体

func (*QCError) Error

func (e *QCError) Error() string

type ReportAdGetFiltering

type ReportAdGetFiltering struct {
	AdIds         []int64 `json:"ad_ids"`         // 广告计划id列表,最多支持100个
	MarketingGoal string  `json:"marketing_goal"` // 过滤条件 营销目标,允许值:VIDEO_PROM_GOODS:短视频带货  LIVE_PROM_GOODS:直播间带货  ALL:不限
}

type ReportAdGetReq

type ReportAdGetReq struct {
	AdvertiserId int64                `json:"advertiser_id"`         // 千川广告主账户id
	StartDate    string               `json:"start_date"`            // 开始时间,格式 2021-04-05
	EndDate      string               `json:"end_date"`              // 结束时间,格式 2021-04-05,时间跨度不能超过180天
	Fields       []string             `json:"fields"`                // 需要查询的消耗指标
	Filtering    ReportAdGetFiltering `json:"filtering"`             //过滤条件
	OrderField   string               `json:"order_field,omitempty"` // 排序字段
	OrderType    string               `json:"order_type,omitempty"`  // 排序方式,允许值: ASC 升序(默认)、DESC 降序
	Page         int64                `json:"page,omitempty"`        // 页码,默认为1
	PageSize     int64                `json:"page_size,omitempty"`   // 页面大小,默认为10,取值范围:1-500
	AccessToken  string               `json:"access_token"`          // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

ReportAdGetReq 获取广告计划数据-请求

type ReportAdGetRes

type ReportAdGetRes struct {
	QCError
	Data ReportAdGetResData `json:"data"`
}

ReportAdGetRes 获取广告计划数据-返回结构体

type ReportAdGetResData

type ReportAdGetResData struct {
	List     []ReportAdGetResDetail `json:"list"`
	PageInfo PageInfo               `json:"page_info"`
}

type ReportAdGetResDetail

type ReportAdGetResDetail struct {
	AdvertiserId               int64   `json:"advertiser_id"`                  // 广告主id
	AdId                       int64   `json:"ad_id"`                          // 广告计划id
	StatCost                   float64 `json:"stat_cost"`                      // 消耗
	ShowCnt                    int64   `json:"show_cnt"`                       // 展示次数
	Ctr                        float64 `json:"ctr"`                            // 点击率
	CpmPlatform                float64 `json:"cpm_platform"`                   // 平均千次展示费用
	ClickCnt                   int64   `json:"click_cnt"`                      // 点击次数
	PayOrderCount              int64   `json:"pay_order_count"`                // 成交订单数
	CreateOrderAmount          float64 `json:"create_order_amount"`            // 下单成交金额
	CreateOrderCount           int64   `json:"create_order_count"`             // 下单订单数
	PayOrderAmount             float64 `json:"pay_order_amount"`               // 成交订单金额
	CreateOrderRoi             float64 `json:"create_order_roi"`               // 下单roi
	PrepayAndPayOrderRoi       float64 `json:"prepay_and_pay_order_roi"`       // 支付roi
	PrepayOrderCount           int64   `json:"prepay_order_count"`             // 广告预售订单数
	PrepayOrderAmount          float64 `json:"prepay_order_amount"`            // 广告预售订单金额
	DyFollow                   int64   `json:"dy_follow"`                      // 新增粉丝数
	ConvertCnt                 int64   `json:"convert_cnt"`                    // 转化数
	ConvertCost                int64   `json:"convert_cost"`                   // 转化成本
	ConvertRate                float64 `json:"convert_rate"`                   // 转化率
	DyShare                    int64   `json:"dy_share"`                       // 分享次数。直播间带货:LIVE_PROM_GOODS 不支持该指标
	DyComment                  int64   `json:"dy_comment"`                     // 评论次数。直播间带货:LIVE_PROM_GOODS 不支持该指标
	DyLike                     int64   `json:"dy_like"`                        // 点赞次数。直播间带货:LIVE_PROM_GOODS 不支持该指标
	LivePayOrderCostPerOrder   float64 `json:"live_pay_order_cost_per_order"`  // 成交客单价。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveEnterCnt          int64   `json:"luban_live_enter_cnt"`           // 直播间观看人次。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LiveWatchOneMinuteCount    int64   `json:"live_watch_one_minute_count"`    // 直播间超过1分钟观看人次。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LiveFansClubJoinCnt        int64   `json:"live_fans_club_join_cnt"`        // 直播间新加团人次。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveSlidecartClickCnt int64   `json:"luban_live_slidecart_click_cnt"` // 直播间查看购物车次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveClickProductCnt   int64   `json:"luban_live_click_product_cnt"`   // 直播间商品点击次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveCommentCnt        int64   `json:"luban_live_comment_cnt"`         // 直播间评论次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveShareCnt          int64   `json:"luban_live_share_cnt"`           // 直播间分享次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveGiftCnt           int64   `json:"luban_live_gift_cnt"`            // 直播间打赏次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveGiftAmount        float64 `json:"luban_live_gift_amount"`         // 直播间音浪收入。短视频带货:VIDEO_PROM_GOODS 不支持该指标
}

type ReportCreativeGetFiltering

type ReportCreativeGetFiltering struct {
	CreativeIds   []int64 `json:"creative_ids"`   // 广告创意id列表,数量不超过100
	MarketingGoal string  `json:"marketing_goal"` // 过滤条件 营销目标,允许值:VIDEO_PROM_GOODS:短视频带货  LIVE_PROM_GOODS:直播间带货  ALL:不限
}

type ReportCreativeGetReq

type ReportCreativeGetReq struct {
	AdvertiserId int64                      `json:"advertiser_id"`         // 千川广告主账户id
	StartDate    string                     `json:"start_date"`            // 开始时间,格式 2021-04-05
	EndDate      string                     `json:"end_date"`              // 结束时间,格式 2021-04-05,时间跨度不能超过180天
	Fields       []string                   `json:"fields"`                // 需要查询的消耗指标
	Filtering    ReportCreativeGetFiltering `json:"filtering"`             //过滤条件
	OrderField   string                     `json:"order_field,omitempty"` // 排序字段
	OrderType    string                     `json:"order_type,omitempty"`  // 排序方式,允许值: ASC 升序(默认)、DESC 降序
	Page         int64                      `json:"page,omitempty"`        // 页码,默认为1
	PageSize     int64                      `json:"page_size,omitempty"`   // 页面大小,默认为10,取值范围:1-500
	AccessToken  string                     `json:"access_token"`          // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

ReportCreativeGetReq 获取广告创意数据-请求

type ReportCreativeGetRes

type ReportCreativeGetRes struct {
	QCError
	Data ReportCreativeGetResData `json:"data"`
}

ReportCreativeGetRes 获取千川广告账户全量信息-返回结构体

type ReportCreativeGetResData

type ReportCreativeGetResData struct {
	List     []ReportCreativeGetResDataDetail `json:"list"`
	PageInfo PageInfo                         `json:"page_info"`
}

type ReportCreativeGetResDataDetail

type ReportCreativeGetResDataDetail struct {
	AdvertiserId               int64   `json:"advertiser_id"`                  // 广告主id
	CreativeId                 int64   `json:"creative_id"`                    // 广告创意id
	StatCost                   float64 `json:"stat_cost"`                      // 消耗
	ShowCnt                    int64   `json:"show_cnt"`                       // 展示次数
	Ctr                        float64 `json:"ctr"`                            // 点击率
	CpmPlatform                float64 `json:"cpm_platform"`                   // 平均千次展示费用
	ClickCnt                   int64   `json:"click_cnt"`                      // 点击次数
	PayOrderCount              int64   `json:"pay_order_count"`                // 成交订单数
	CreateOrderAmount          float64 `json:"create_order_amount"`            // 下单成交金额
	CreateOrderCount           int64   `json:"create_order_count"`             // 下单订单数
	PayOrderAmount             float64 `json:"pay_order_amount"`               // 成交订单金额
	CreateOrderRoi             float64 `json:"create_order_roi"`               // 下单roi
	PrepayAndPayOrderRoi       float64 `json:"prepay_and_pay_order_roi"`       // 支付roi
	PrepayOrderCount           int64   `json:"prepay_order_count"`             // 广告预售订单数
	PrepayOrderAmount          float64 `json:"prepay_order_amount"`            // 广告预售订单金额
	DyFollow                   int64   `json:"dy_follow"`                      // 新增粉丝数
	ConvertCnt                 int64   `json:"convert_cnt"`                    // 转化数
	ConvertCost                int64   `json:"convert_cost"`                   // 转化成本
	ConvertRate                float64 `json:"convert_rate"`                   // 转化率
	DyShare                    int64   `json:"dy_share"`                       // 分享次数。直播间带货:LIVE_PROM_GOODS 不支持该指标
	DyComment                  int64   `json:"dy_comment"`                     // 评论次数。直播间带货:LIVE_PROM_GOODS 不支持该指标
	DyLike                     int64   `json:"dy_like"`                        // 点赞次数。直播间带货:LIVE_PROM_GOODS 不支持该指标
	LivePayOrderCostPerOrder   float64 `json:"live_pay_order_cost_per_order"`  // 成交客单价。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveEnterCnt          int64   `json:"luban_live_enter_cnt"`           // 直播间观看人次。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LiveWatchOneMinuteCount    int64   `json:"live_watch_one_minute_count"`    // 直播间超过1分钟观看人次。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LiveFansClubJoinCnt        int64   `json:"live_fans_club_join_cnt"`        // 直播间新加团人次。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveSlidecartClickCnt int64   `json:"luban_live_slidecart_click_cnt"` // 直播间查看购物车次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveClickProductCnt   int64   `json:"luban_live_click_product_cnt"`   // 直播间商品点击次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveCommentCnt        int64   `json:"luban_live_comment_cnt"`         // 直播间评论次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveShareCnt          int64   `json:"luban_live_share_cnt"`           // 直播间分享次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveGiftCnt           int64   `json:"luban_live_gift_cnt"`            // 直播间打赏次数。短视频带货:VIDEO_PROM_GOODS 不支持该指标
	LubanLiveGiftAmount        float64 `json:"luban_live_gift_amount"`         // 直播间音浪收入。短视频带货:VIDEO_PROM_GOODS 不支持该指标
}

type ShopAccountInfoReq

type ShopAccountInfoReq struct {
	ShopIds     []int64 //店铺id列表,一次最多查询10个shop_id信息
	AccessToken string  // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

ShopAccountInfoReq 获取店铺账户信息

type ShopAccountInfoRes

type ShopAccountInfoRes struct {
	QCError
	Data ShopAccountInfoResCom `json:"data"`
}

ShopAccountInfoRes 获取店铺账户信息-返回结构体

type ShopAccountInfoResCom

type ShopAccountInfoResCom struct {
	List []ShopAccountInfoResComDetail `json:"list"`
}

type ShopAccountInfoResComDetail

type ShopAccountInfoResComDetail struct {
	ShopId   int64  `json:"shop_id"`
	ShopName string `json:"shop_name"`
}

type ShopAdvertiserListReq

type ShopAdvertiserListReq struct {
	ShopId      int64  // 店铺id
	Page        uint64 // 页码.默认值: 1
	PageSize    uint64 // 页面数据量.默认值: 10, 最大值:100
	AccessToken string // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

ShopAdvertiserListReq 获取店铺账户关联的广告账户列表-请求

type ShopAdvertiserListRes

type ShopAdvertiserListRes struct {
	QCError
	Data ShopAdvertiserListResCom `json:"data"`
}

ShopAdvertiserListRes 获取店铺账户关联的广告账户列表-返回结构体

type ShopAdvertiserListResCom

type ShopAdvertiserListResCom struct {
	List     []int64  `json:"list"`
	PageInfo PageInfo `json:"page_info"`
}

type ToolsAwemeCategoryTopAuthorGetReq

type ToolsAwemeCategoryTopAuthorGetReq struct {
	AccessToken  string   `json:"access_token"`          // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64    `json:"advertiser_id"`         // 广告主ID
	CategoryId   int64    `json:"category_id,omitempty"` // 类目id,一级,二级,三级类目id均可
	Behaviors    []string `json:"behaviors,omitempty"`   // 抖音用户行为类型,详见【附录-抖音达人互动用户行为类型】 默认为空,仅影响覆盖人群数
}

ToolsAwemeCategoryTopAuthorGetReq 查询抖音类目下的推荐达人 的 请求结构体

type ToolsAwemeCategoryTopAuthorGetRes

type ToolsAwemeCategoryTopAuthorGetRes struct {
	QCError
	Data struct {
		Authors []ToolsAwemeCategoryTopAuthorGetResAuthor `json:"authors"`
	} `json:"data"`
}

ToolsAwemeCategoryTopAuthorGetRes 查询抖音类目下的推荐达人 的 响应结构体

type ToolsAwemeCategoryTopAuthorGetResAuthor

type ToolsAwemeCategoryTopAuthorGetResAuthor struct {
	AuthorName      string `json:"author_name"`        //抖音作者名
	TotalFansNumStr string `json:"total_fans_num_str"` //粉丝数
	CoverNumStr     string `json:"cover_num_str"`      //覆盖人群数
	LabelId         string `json:"label_id"`           //抖音号id
	AwemeId         string `json:"aweme_id"`           //抖音id
	Avatar          string `json:"avatar"`             //抖音头像
	CategoryName    string `json:"category_name"`      //抖音分类
}

type ToolsAwemeMultiLevelCategoryGetReq

type ToolsAwemeMultiLevelCategoryGetReq struct {
	AccessToken  string   `json:"access_token"`        // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64    `json:"advertiser_id"`       // 广告主ID
	Behaviors    []string `json:"behaviors,omitempty"` // 抖音用户行为类型,详见【附录-抖音达人互动用户行为类型】 默认为空,仅影响覆盖人群数
}

ToolsAwemeMultiLevelCategoryGetReq 查询抖音类目列表 的 请求结构体

type ToolsAwemeMultiLevelCategoryGetRes

type ToolsAwemeMultiLevelCategoryGetRes struct {
	QCError
	Data struct {
		Categories []ToolsAwemeMultiLevelCategoryGetResCategory `json:"authors"`
	} `json:"data"`
}

ToolsAwemeMultiLevelCategoryGetRes 查询抖音类目列表 的 响应结构体

type ToolsAwemeMultiLevelCategoryGetResCategory

type ToolsAwemeMultiLevelCategoryGetResCategory struct {
	Id          int64  `json:"id"`
	CoverNumStr string `json:"cover_num_str"`
	FansNumStr  string `json:"fans_num_str"`
	Value       string `json:"value"`
	Children    []struct {
		Id          int64  `json:"id"`
		CoverNumStr string `json:"cover_num_str"`
		FansNumStr  string `json:"fans_num_str"`
		Value       string `json:"value"`
		Children    []struct {
			Id          int64  `json:"id"`
			CoverNumStr string `json:"cover_num_str"`
			FansNumStr  string `json:"fans_num_str"`
			Value       string `json:"value"`
		} `json:"children"`
	} `json:"children"`
}

type ToolsCreativeWordSelectReq

type ToolsCreativeWordSelectReq struct {
	AccessToken     string   `json:"access_token"`      // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId    int64    `json:"advertiser_id"`     // 广告主ID
	CreativeWordIds []string `json:"creative_word_ids"` // 创意词包id列表,如不填默认返回所有创意词包
}

ToolsCreativeWordSelectReq 查询动态创意词包 的 请求结构体

type ToolsCreativeWordSelectRes

type ToolsCreativeWordSelectRes struct {
	QCError
	Data struct {
		CreativeWord []ToolsCreativeWordSelectResDetail `json:"creative_word"`
	} `json:"data"`
}

ToolsCreativeWordSelectRes 查询动态创意词包 的 响应结构体

type ToolsCreativeWordSelectResDetail

type ToolsCreativeWordSelectResDetail struct {
	CreativeWordId int64    `json:"creative_word_id"`
	Name           string   `json:"name"`
	DefaultWord    string   `json:"default_word"`
	Words          []string `json:"words"`
	ContentType    string   `json:"content_type"`
	MaxWordLen     int64    `json:"max_word_len"`
	Status         string   `json:"status"`
	UserRate       float64  `json:"user_rate"`
}

type ToolsIndustryGetReq

type ToolsIndustryGetReq struct {
	AccessToken string `json:"access_token"`    // 调用/oauth/access_token/生成的token,此token需要用户授权。
	Level       int64  `json:"level,omitempty"` //只获取某级别数据,1:第一级,2:第二级,3:第三级,默认都返回
	Type        string `json:"type,omitempty"`  //可选值:"ADVERTISER","AGENT","ADVERTISER"为原有广告3.0行业, "AGENT"为代理商行业获取,代理商行业level都为1
}

ToolsIndustryGetReq 获取行业列表 的 请求结构体

type ToolsIndustryGetRes

type ToolsIndustryGetRes struct {
	QCError
	Data struct {
		List []ToolsIndustryGetResDetail `json:"list"`
	} `json:"data"`
}

ToolsIndustryGetRes 获取行业列表 的 响应结构体

type ToolsIndustryGetResDetail

type ToolsIndustryGetResDetail struct {
	IndustryId                        int64  `json:"industry_id"`
	IndustryName                      string `json:"industry_name"`
	Level                             int64  `json:"level"`
	ToolsAwemeCategoryTopAuthorGetRes int64  `json:"first_industry_id"`
	FirstIndustryName                 string `json:"first_industry_name"`
	SecondIndustryId                  int64  `json:"second_industry_id"`
	SecondIndustryName                string `json:"second_industry_name"`
	ThirdIndustryId                   int64  `json:"third_industry_id"`
	ThirdIndustryName                 string `json:"third_industry_name"`
}

type ToolsInterestActionActionCategoryReq

type ToolsInterestActionActionCategoryReq struct {
	AccessToken  string   `json:"access_token"`  // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64    `json:"advertiser_id"` // 广告主ID
	ActionScene  []string `json:"action_scene"`  // 行为场景,详见【附录-行为场景】 允许值: "E-COMMERCE","NEWS","APP"
	ActionDays   int64    `json:"action_days"`   // 行为天数 默认值: 7、15、30、60、90、180、365
}

ToolsInterestActionActionCategoryReq 行为类目查询 的 请求结构体

type ToolsInterestActionActionCategoryRes

type ToolsInterestActionActionCategoryRes struct {
	QCError
	Data ToolsInterestActionActionCategoryResLevelOne `json:"data"`
}

ToolsInterestActionActionCategoryRes 行为类目查询 的 响应结构体

type ToolsInterestActionActionCategoryResLevelFour

type ToolsInterestActionActionCategoryResLevelFour struct {
	Id   string `json:"id"`   //行为类目id
	Num  string `json:"num"`  //数量
	Name string `json:"name"` //行为类目
}

type ToolsInterestActionActionCategoryResLevelOne

type ToolsInterestActionActionCategoryResLevelOne struct {
	Id       string                                         `json:"id"`   //行为类目id
	Num      string                                         `json:"num"`  //数量
	Name     string                                         `json:"name"` //行为类目
	Children []ToolsInterestActionActionCategoryResLevelTwo `json:"children"`
}

type ToolsInterestActionActionCategoryResLevelThree

type ToolsInterestActionActionCategoryResLevelThree struct {
	Id       string                                          `json:"id"`   //行为类目id
	Num      string                                          `json:"num"`  //数量
	Name     string                                          `json:"name"` //行为类目
	Children []ToolsInterestActionActionCategoryResLevelFour `json:"children"`
}

type ToolsInterestActionActionCategoryResLevelTwo

type ToolsInterestActionActionCategoryResLevelTwo struct {
	Id       string                                           `json:"id"`   //行为类目id
	Num      string                                           `json:"num"`  //数量
	Name     string                                           `json:"name"` //行为类目
	Children []ToolsInterestActionActionCategoryResLevelThree `json:"children"`
}

type ToolsInterestActionActionKeywordReq

type ToolsInterestActionActionKeywordReq struct {
	AccessToken  string   `json:"access_token"`  // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64    `json:"advertiser_id"` // 广告主ID
	QueryWords   string   `json:"query_words"`   // 关键词
	ActionScene  []string `json:"action_scene"`  // 行为场景,详见【附录-行为场景】 允许值: "E-COMMERCE","NEWS","APP"
	ActionDays   int64    `json:"action_days"`   // 行为天数 默认值: 7、15、30、60、90、180、365
}

ToolsInterestActionActionKeywordReq 行为关键词查询 的 请求结构体

type ToolsInterestActionActionKeywordRes

type ToolsInterestActionActionKeywordRes struct {
	QCError
	Data struct {
		List []ToolsInterestActionActionKeywordResDetail `json:"list"`
	} `json:"data"`
}

ToolsInterestActionActionKeywordRes 行为关键词查询 的 响应结构体

type ToolsInterestActionActionKeywordResDetail

type ToolsInterestActionActionKeywordResDetail struct {
	Id   string `json:"id"`   //关键词id
	Name string `json:"name"` //关键词名称
	Num  string `json:"num"`  //关键词数目
}

type ToolsInterestActionInterestCategoryReq

type ToolsInterestActionInterestCategoryReq struct {
	AccessToken  string `json:"access_token"`  // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64  `json:"advertiser_id"` // 广告主ID
}

ToolsInterestActionInterestCategoryReq 兴趣类目查询 的 请求结构体

type ToolsInterestActionInterestCategoryRes

type ToolsInterestActionInterestCategoryRes struct {
	QCError
	Data []ToolsInterestActionInterestCategoryResLevelOne `json:"data"`
}

ToolsInterestActionInterestCategoryRes 兴趣类目查询 的 响应结构体

type ToolsInterestActionInterestCategoryResLevelFour

type ToolsInterestActionInterestCategoryResLevelFour struct {
	Id   string `json:"id"`
	Num  string `json:"num"`
	Name string `json:"name"`
}

type ToolsInterestActionInterestCategoryResLevelOne

type ToolsInterestActionInterestCategoryResLevelOne struct {
	Id       string                                           `json:"id"`
	Num      string                                           `json:"num"`
	Name     string                                           `json:"name"`
	Children []ToolsInterestActionInterestCategoryResLevelTwo `json:"children"`
}

type ToolsInterestActionInterestCategoryResLevelThree

type ToolsInterestActionInterestCategoryResLevelThree struct {
	Id       string                                            `json:"id"`
	Num      string                                            `json:"num"`
	Name     string                                            `json:"name"`
	Children []ToolsInterestActionInterestCategoryResLevelFour `json:"children"`
}

type ToolsInterestActionInterestCategoryResLevelTwo

type ToolsInterestActionInterestCategoryResLevelTwo struct {
	Id       string                                             `json:"id"`
	Num      string                                             `json:"num"`
	Name     string                                             `json:"name"`
	Children []ToolsInterestActionInterestCategoryResLevelThree `json:"children"`
}

type ToolsInterestActionInterestKeywordReq

type ToolsInterestActionInterestKeywordReq struct {
	AccessToken  string `json:"access_token"`  // 调用/oauth/access_token/生成的token,此token需要用户授权。
	AdvertiserId int64  `json:"advertiser_id"` // 广告主ID
	QueryWords   string `json:"query_words"`   // 关键词
}

ToolsInterestActionInterestKeywordReq 兴趣关键词查询 的 请求结构体

type ToolsInterestActionInterestKeywordRes

type ToolsInterestActionInterestKeywordRes struct {
	QCError
	Data struct {
		List []ToolsInterestActionInterestKeywordResDetail `json:"list"`
	} `json:"data"`
}

ToolsInterestActionInterestKeywordRes 兴趣关键词查询 的 响应结构体

type ToolsInterestActionInterestKeywordResDetail

type ToolsInterestActionInterestKeywordResDetail struct {
	Id   string `json:"id"`   //关键词id
	Name string `json:"name"` //关键词名称
	Num  string `json:"num"`  //关键词数目
}

type UserInfoReq

type UserInfoReq struct {
	AccessToken string // 调用/oauth/access_token/生成的token,此token需要用户授权。
}

UserInfoReq 获取授权时登录用户信息-请求

type UserInfoRes

type UserInfoRes struct {
	QCError
	Data UserInfoResCom `json:"data"`
}

UserInfoRes 获取授权时登录用户信息-返回结构体

type UserInfoResCom

type UserInfoResCom struct {
	ID          int64  `json:"id"`           //用户id
	Email       string `json:"email"`        //邮箱(已经脱敏处理)
	DisplayName string `json:"display_name"` // 用户名
}

Directories

Path Synopsis
internal
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL