promotion

package
v1.27.4 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package promotion 广告管理模块相关API models

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnchorMaterial added in v1.10.5

type AnchorMaterial struct {
	// AnchorType 锚点类型,允许值:
	// - 应用下载-游戏:APP_GAME- 应用下载-网服:APP_INTERNET_SERVICE- 应用下载-电商:APP_SHOP- 高级在线预约:ONLINE_SUBSCRIBE当 anchor_related_type = SELECT时必填
	AnchorType enum.AnchorType `json:"anchor_type,omitempty"`
	// AnchorID 原生锚点id可使用【获取账户下的原生锚点】获得
	// 当 anchor_related_type = SELECT时必填
	AnchorID string `json:"anchor_id,omitempty"`
}

AnchorMaterial 原生锚点素材

type AutoGenerateConfig added in v1.10.7

type AutoGenerateConfig struct {
	// ConfigID 配置ID
	ConfigID uint64 `json:"config_id,omitempty"`
	// Templates 模板列表(仅当version=Template时有值)
	Templates []ConfigTemplate `json:"templates,omitempty"`
	// UpdateTime 上次修改时间戳
	UpdateTime int64 `json:"update_time,omitempty"`
	// Version 版本:Template版本(老版本),Strategy版本(新版本) 可选值:
	// Strategy: strategy版本
	// Template: template版本
	Version enum.AutoGenerateConfigVersion `json:"version,omitempty"`
	// StrategyData 策略配置详情列表(仅当version=Strategy时有值)
	StrategyData []StrategyData `json:"strategy_data,omitempty"`
}

AutoGenerateConfig 配置

type AutoGenerateConfigCreateRequest added in v1.10.7

type AutoGenerateConfigCreateRequest struct {
	// AdvertiserID 广告主id
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// PromotionID 广告ID,
	// 新建时无需传入,
	// 修改时必须传入,传入绑定的promotion_id
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// StrategyData 策略数据(列表中strategy_id需唯一, 即同一个策略(strategy)的策略配置项列表(strategy_state),需放到同一个对象内,不可分开传递)
	StrategyData *StrategyData `json:"strategy_data,omitempty"`
}

AutoGenerateConfigCreateRequest 新建/修改白盒配置 API Request

func (AutoGenerateConfigCreateRequest) Encode added in v1.10.7

Encode implement PostRequest interface

type AutoGenerateConfigCreateResponse added in v1.10.7

type AutoGenerateConfigCreateResponse struct {
	model.BaseResponse
	Data struct {
		// ConfigID 配置ID
		ConfigID uint64 `json:"config_id,omitempty"`
	} `json:"data,omitempty"`
}

AutoGenerateConfigCreateResponse 新建/修改白盒配置 API Response

type AutoGenerateConfigGetRequest added in v1.10.7

type AutoGenerateConfigGetRequest struct {
	// AdvertiserID 广告主id
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// ConfigID 配置id
	ConfigID uint64 `json:"config_id,omitempty"`
}

AutoGenerateConfigGetRequest 查询配置详情 API Request

func (AutoGenerateConfigGetRequest) Encode added in v1.10.7

Encode implement GetRequest interface

type AutoGenerateConfigGetResponse added in v1.10.7

type AutoGenerateConfigGetResponse struct {
	model.BaseResponse
	Data *AutoGenerateConfig `json:"data,omitempty"`
}

AutoGenerateConfigGetResponse 查询配置详情 API Response

type BidUpdateData

type BidUpdateData struct {
	// PromotionID 广告ID,广告ID需要属于广告主
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// Bid 出价,单位“元”,精度:两位小数。
	Bid float64 `json:"bid,omitempty"`
}

BidUpdateData 修改信息

type BidUpdateRequest

type BidUpdateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// Data 批量修改,包含广告id和出价
	Data []BidUpdateData `json:"data,omitempty"`
}

BidUpdateRequest 更新出价 API Request

func (BidUpdateRequest) Encode

func (r BidUpdateRequest) Encode() []byte

Encode implement PostRequest interface

type Bidword added in v1.10.5

type Bidword struct {
	// DefaultWord 关键词
	DefaultWord string `json:"default_word,omitempty"`
}

Bidword 搜索关键词列表

type BrandInfo added in v1.14.1

type BrandInfo struct {
	// YuntuCategoryID 品牌分类id
	YuntuCategoryID int64 `json:"yuntu_category_id,omitempty"`
	// CdpCategoryID cdp品牌id
	CdpCategoryID int64 `json:"cdp_category_id,omitempty"`
	// EcomCategoryID 电商品牌id
	EcomCategoryID int64 `json:"ecom_category_id,omitempty"`
	// BrandNameID 云图品牌id
	BrandNameID int64 `json:"brand_name_id,omitempty"`
	// CdpBrandID cdp品牌id
	CdpBrandID int64 `json:"cdp_brand_id,omitempty"`
	// CdpBrandName 云图品牌名称
	CdpBrandName string `json:"cdp_brand_name,omitempty"`
	// SubBrandNames 子品牌名称
	SubBrandNames []string `json:"sub_brand_names,omitempty"`
	// SubBrandNameIDs 子品牌id
	SubBrandNameIDs []string `json:"sub_brand_name_ids,omitempty"`
}

BrandInfo 品牌信息

type BudgetUpdateData

type BudgetUpdateData struct {
	// PromotionID 广告ID,广告ID需要属于广告主
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// BudgetMode 该广告所属的预算类型, (预算类型不支持修改,且需要上传)。允许值: BUDGET_DAY日预算(默认值), BUDGET_TOTAL总预算
	BudgetMode enum.BudgetMode `json:"budget_mode,omitempty"`
	// Budget 预算,单位“元”,精度:两位小数。
	Budget float64 `json:"budget,omitempty"`
}

BudgetUpdateData 修改信息

type BudgetUpdateRequest

type BudgetUpdateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// Data 批量修改,包含广告id和出价
	Data []BudgetUpdateData `json:"data,omitempty"`
}

BudgetUpdateRequest 更新广告预算 API Request

func (BudgetUpdateRequest) Encode

func (r BudgetUpdateRequest) Encode() []byte

Encode implement PostRequest interface

type CarouselMaterial added in v1.18.6

type CarouselMaterial struct {
	// CarouselID 图集id,可通过【获取图集素材】接口获得
	CarouselID string `json:"carousel_id,omitempty"`
	// ImageID 图片ID列表
	ImageID []string `json:"image_id,omitempty"`
	// AudioID 音频ID
	AudioID string `json:"audio_id,omitempty"`
	// MaterialStatus 素材审核状态
	MaterialStatus string `json:"material_status,omitempty"`
	// CarouselType 图集素材类型
	CarouselType enum.ImageMode `json:"carousel_type,omitempty"`
	// ImageSubject 图片主题
	ImageSubject []file.ImageSubject `json:"image_subject,omitempty"`
}

CarouselMaterial 图集素材信息

type ComponentMaterial

type ComponentMaterial struct {
	// ComponentID 组件id
	ComponentID uint64 `json:"component_id,omitempty"`
	// ExternalURLMaterialList 普通落地页链接素材,上限10个
	// 当landing_type = APP ,且 download_type = EXTERNAL_URL时,external_url_material_list 至少传入一个;
	// 当landing_type = LINK和SHOP类型,且项目asset_type = ORANGE 时,仅允许传入支持对应优化目标的橙子落地页;
	// 当landing_type = LINK和SHOP类型,且项目asset_type = THIRDPARTY 时,仅允许自研落地页;
	// landing_type = MICRO_GAME时,当micropromotion_type = WECHAT_APP或WECHAT_GAME时有效,且如果多选落地页,需要所有建站对应相同的微信小游戏/微信小程序,否则报错;
	// 当micropromotion_type = BYTE_APP或BYTE_GAME时有效,可作为备用链接传入该字段,数量上限为1;
	// 获取对应优化目标的橙子建站落地页可参考【通过优化目标获取橙子落地页站点信息】获取第三方落地页可参考【第三方落地页管理】
	ExternalURLMaterialList []string `json:"external_url_material_list,omitempty"`
}

ComponentMaterial 创意组件信息

type ConfigTemplate added in v1.10.7

type ConfigTemplate struct {
	// TemplateID 模板ID
	TemplateID uint64 `json:"template_id,omitempty"`
	// TemplateType 模板类型 可选值:
	// HORIZONTAL_TO_VERTICAL_DYNAMIC_BACK_VIDEO: 横转竖动效背景视频
	// VERTICAL_TO_HORIZONTAL_DYNAMIC_BACK_VIDEO: 竖转横动效背景视频
	// VERTICAL_TO_HORIZONTAL_STATIC_BACK_VIDEO: 竖转横静态背景视频
	TemplateType enum.AutoGenerateConfigTemplateType `json:"template_type,omitempty"`
	// TemplateTextScheme 模板填充的文本内容
	TemplateTextScheme []TemplateScheme `json:"template_text_scheme,omitempty"`
	// TemplateImgScheme 模板填充的图片内容
	TemplateImgScheme []TemplateScheme `json:"template_img_scheme,omitempty"`
}

ConfigTemplate 配置模版

type CostProtectStatus

type CostProtectStatus struct {
	// QueryID 计划id
	QueryID uint64 `json:"query_id,omitempty"`
	// Status 计划成本保障状态
	Status string `json:"status,omitempty"`
	// CompensationStatus 成本保障状态 枚举值:
	// DEFAULT_STATUS: 当前计划未产生首次send或者不在成本保障范围内
	// IN_EFFECT: 成本保障生效中
	// INVALID: 成本保障已失效
	// CONFIRMING: 成本保障确认中
	// PAID: 成本保障已到账
	// ENDED: 成本保障已结束
	CompensationStatus string `json:"compensate_status,omitempty"`
	// InvalidReasons 成本保障失效原因 枚举值:
	// AUD_CHANGES单日修改定向超过2次,
	// BID_CHANGES单日修改出价超过2次
	// ROI_CHANGES单日修改roi_goal超过2次
	// ANTI_SPAM命中反作弊
	// BID_TYPE_EXPIRED选择的出价产品暂不支持成本保障
	// MANUAL_JUDGE_SPAM有异常的作弊行为
	// AUD_BID_CHANGES单日修改定向/出价超过2次
	// AUD_ROI_CHANGES单日修改定向/ROI目标超过2次
	InvalidReasons map[string]string `json:"invalid_reasons,omitempty"`
	// EndReasons 成本保障结束原因
	// UN_OBERCOST 超成本比例没有达到1.2倍
	// ROI_REAL_EXPECTED实际roi大于目标roi的80%
	// CONVERT_UNDER_THRESHOLD转化数没有达到门槛
	// CURRENCY_PRECISION赔付金额小于0.01元
	EndReasons map[string]string `json:"end_reasons,omitempty"`
	// CompensationAmount 赔付金额
	CompensationAmount float64 `json:"compensation_amount,omitempty"`
	// URL 赔付规则链接
	URL string `json:"url,omitempty"`
}

CostProtectStatus guan广告成本保护状态

type CostProtectStatusGetRequest

type CostProtectStatusGetRequest struct {
	// AdvertiserID 广告主id
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// PromotionIDs 广告id,每次最多传入50个
	PromotionIDs []uint64 `json:"promotion_ids,omitempty"`
}

CostProtectStatusGetRequest 批量获取计划成本保障状态 API Request

func (CostProtectStatusGetRequest) Encode

Encode implement GetRequest interface

type CostProtectStatusGetResponse

type CostProtectStatusGetResponse struct {
	model.BaseResponse
	// Data json 返回值
	Data struct {
		// List .
		List []CostProtectStatus `json:"compensate_status_info_list,omitempty"`
	} `json:"data,omitempty"`
}

CostProtectStatusGetResponse 批量获取计划成本保障状态 API Response

type CreateRequest

type CreateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// ProjectID 项目ID
	ProjectID uint64 `json:"project_id,omitempty"`
	// Name 广告名称,长度是1-50个字(两个英文字符占1个字)。名称不可重复
	Name string `json:"name,omitempty"`
	// Operation 广告状态, 允许值: ENABLE开启(默认值)、DISABLE关闭
	Operation enum.OptStatus `json:"operation,omitempty"`
	// MaterialsType  素材类型,直播场景必填,
	// 允许值:LIVE_MATERIALS直播素材;PROMOTION_MATERIALS广告素材;
	// 当auth_type为【抖音号授权】时,广告素材和直播素材两选一;
	// 当auth_type为【直播授权】时,仅支持直播素材;
	// landing_type=LINK&&marketing_goal=LIVE&&materials_type=LIVE_MATERIALS时,promotion_materials仅支持橙子落地页;
	// landing_type=MICRO_GAME&&marketing_goal=LIVE&&materials_type=LIVE_MATERIALS,promotion_materials支持橙子落地页和字节小程序信息;
	// landing_type=APP&&marketing_goal=LIVE&&materials_type=LIVE_MATERIALS时,promotion_materials需传空;
	MaterialsType enum.MaterialsType `json:"materials_type,omitempty"`
	// PromotionMaterials 广告素材组合
	PromotionMaterials *PromotionMaterial `json:"promotion_materials,omitempty"`
	// NativeSetting 原生广告设置
	NativeSetting *NativeSetting `json:"native_setting,omitempty"`
	// IsCommentDisable 广告评论,ON为启用,OFF为不启用
	IsCommentDisable string `json:"is_comment_disable,omitempty"`
	// AdDownloadStatus 客户端下载视频功能,ON为启用,OFF为不启用
	AdDownloadStatus string `json:"ad_download_status,omitempty"`
	// Source 广告来源,字数限制:[1-10]
	// 当landing_type = LINK、MICRO_GAME时必填
	Source string `json:"source,omitempty"`
	// BrandInfo 品牌信息
	BrandInfo *BrandInfo `json:"brand_info,omitempty"`
	// BudgetMode 预算类型(创建后不可修改), 允许值: BUDGET_MODE_DAY日预算(默认值), BUDGET_MODE_TOTAL总预算
	// 适用场景:
	// delivery_mode=MANUAL
	// 项目未开启预算择优分配,即budget_optimize_switch=OFF
	// 项目投放时间类型schedule_type=SCHEDULE_START_END时,支持设置该时间段内的BUDGET_TOTAL总预算
	BudgetMode enum.BudgetMode `json:"budget_mode,omitempty"`
	// Budget 预算(出价方式为OCPM时,不少于300元;24小时内修改预算操作,不能超过20次,24小时是指自然天的24小时;单次修改预算幅度不能低于100元(增加或者减少);修改后预算金额,不能低于当前已消费金额的105%,以整百单位向上取整;取值范围: ≥ 0
	Budget float64 `json:"budget,omitempty"`
	// Bid 点击出价/展示出价,当pricing为CPC、CPM出价方式时必填,
	// 当pricing=CPM时,取值范围:4-100;
	// 当pricing=CPC时,取值范围:0.1-100
	// landing_type=link&&external_action=表单提交,deep_external_action=电话接通时,出价需传空;
	// 当项目成本稳投开启时,不支持该字段
	Bid float64 `json:"bid,omitempty"`
	// CpaBid 目标转化出价/预期成本, 取值范围:0.1-10000元
	// 注意:当 bid_type = NO_BID时,不填写该字段,否则会报错
	CpaBid float64 `json:"cpa_bid,omitempty"`
	// DeepCpaBid 深度优化出价,deep_bid_type = DEEP_BID_MIN 时必填。取值范围:0.1~10000元
	// 注意:当 bid_type = NO_BID时,不填写该字段,否则会报错
	DeepCpaBid float64 `json:"deep_cpabid,omitempty"`
	// RoiGoal 深度转化ROI系数, 范围(0,5],精度:保留小数点后四位,当 deep_bid_type = ROI_COEFFICIENT 时必填
	// 注意:当 bid_type=NO_BID时,不填写该字段,否则会报错
	RoiGoal float64 `json:"roi_goal,omitempty"`
	// AutoExtendTraffic 智能拓流
	// 允许值:ON开启(默认值); OFF关闭
	AutoExtendTraffic string `json:"auto_extend_traffic,omitempty"`
	// Keywords 关键词列表,关键词和智能拓流二者必须开启一个,一个广告最多可添加1000个
	Keywords []project.Keyword `json:"keywords,omitempty"`
	// CreativeAutoGenerateSwitch 是否开启自动生成素材
	// 默认值:OFF
	// 枚举值:ON开启、OFF不开启
	CreativeAutoGenerateSwitch string `json:"creative_auto_generate_switch,omitempty"`
	// ConfigID 配置ID,开关打开,不传为黑盒明投派生
	ConfigID uint64 `json:"config_id,omitempty"`
	// 7d_retention 表示7日留存天数,单位:天,取值范围[0.01,7.00],仅支持最多2位小数。
	// 7d_retention适用创编场景,该场景下有效且必填
	// landing_type = APP 应用推广
	// ad_type = ALL 通投
	// delivery_mode = MANUAL  手动投放
	// external_action = AD_CONVERT_TYPE_ACTIVE 优化目标=激活
	// deep_external_action = AD_CONVERT_TYPE_RETENTION_DAYS深度优化目标 = 留存天数
	// delivery_setting.deep_bid_type = AD_CONVERT_TYPE_RETENTION_DAYS深度优化方式 = 留存天数
	// delivery_range.inventory_catalog = MANUAL  广告位大类 = 首选媒体
	// inventory_type = INVENTORY_UNION_SLOT  投放位置 只选择穿山甲
	SevenDRetention float64 `json:"7d_retention,omitempty"`
}

CreateRequest 创建广告 API Request

func (CreateRequest) Encode

func (r CreateRequest) Encode() []byte

Encode implement PostRequest interface

type CreateResponse

type CreateResponse struct {
	model.BaseResponse
	Data struct {
		// PromotionID 广告ID
		PromotionID uint64 `json:"promotion_id,omitempty"`
	} `json:"data,omitempty"`
}

CreateResponse 创建广告 API Response

type DecorationMaterial added in v1.11.6

type DecorationMaterial struct {
	// MaterialID 素材ID
	MaterialID model.Uint64 `json:"material_id,omitempty"`
	// ImageMode 素材类型,仅支持传入CREATIVE_IMAGE_MODE_DECORATION_COUPON
	ImageMode enum.ImageMode `json:"image_mode,omitempty"`
	// ActivityID 活动ID,image_mode为家具卡券素材时填写
	// 通过【获取家装联盟卡券列表】接口获取
	ActivityID string `json:"activity_id,omitempty"`
}

DecorationMaterial 家装卡券素材

type DeepBidUpdateData

type DeepBidUpdateData struct {
	// PromotionID 广告计划ID,广告计划ID需要属于广告主
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// DeepBid 出价,单位“元”,精度:两位小数。
	DeepBid float64 `json:"deepbid,omitempty"`
}

DeepBidUpdateData 修改信息

type DeepBidUpdateRequest

type DeepBidUpdateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// Data 批量修改,包含计划id和出价
	Data []DeepBidUpdateData `json:"data,omitempty"`
}

DeepBidUpdateRequest 更新深度出价 API Request

func (DeepBidUpdateRequest) Encode

func (r DeepBidUpdateRequest) Encode() []byte

Encode implement PostRequest interface

type DeleteRequest

type DeleteRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// PromotionIDs 广告ID集合,list长度限制1~10
	PromotionIDs []uint64 `json:"promotion_ids,omitempty"`
}

DeleteRequest 批量删除广告 API Request

func (DeleteRequest) Encode

func (r DeleteRequest) Encode() []byte

Encode implement PostRequest interface

type Image

type Image struct {
	// TemplateID 图片素材类型-DPA模板ID
	TemplateID model.Uint64 `json:"template_id,omitempty"`
	// ImageID 图片ID
	ImageID string `json:"image_id,omitempty"`
	// MaterialID 素材ID
	MaterialID model.Uint64 `json:"material_id,omitempty"`
	// MaterialOptStatus 图片素材操作状态,枚举值:
	// DISABLE 暂停
	// ENABLE 启用
	MaterialOptStatus enum.OptStatus `json:"material_opt_status,omitempty"`
	// MaterialStatus 素材审核状态,枚举值:
	// MATERIAL_STATUS_OK 投放中、MATERIAL_STATUS_DELETE 已删除、MATERIAL_STATUS_PROJECT_OFFLINE_BUDGET 项目超出预算、MATERIAL_STATUS_PROJECT_PREOFFLINE_BUDGET 项目接近预算、MATERIAL_STATUS_TIME_NO_REACH 未到达投放时间、MATERIAL_STATUS_TIME_DONE 已完成、MATERIAL_STATUS_NO_SCHEDULE 不在投放时段、MATERIAL_STATUS_AUDIT 新建审核中、MATERIAL_STATUS_REAUDIT 修改审核中、MATERIAL_STATUS_OFFLINE_AUDIT 审核不通过、MATERIAL_STATUS_OFFLINE_BUDGET 广告超出预算、MATERIAL_STATUS_ OFFLINE_BALANCE 账户余额不足、MATERIAL_STATUS_ PREOFFLINE_BUGDET 广告接近预算、MATERIAL_STATUS_PROJECT_DISABLE 已被项目暂停、MATERIAL_STATUS_DISABLE 已暂停、MATERIAL_STATUS_PROMOTION_DISABLE 已被广告暂停、MATERIAL_STATUS_MATERIAL_DELETE 已删除
	MaterialStatus enum.MaterialStatus `json:"material_status,omitempty"`
}

Image 图片

type ImageMaterial

type ImageMaterial struct {
	// ImageMode 素材类型
	ImageMode enum.ImageMode `json:"image_mode,omitempty"`
	// Images 图片ID数组
	Images []Image `json:"images,omitempty"`
}

ImageMaterial 创意图片素材

type ListFilter

type ListFilter struct {
	// Name 广告名称,长度是1-50个字(两个英文字符占1个字,该字段采取模糊查询的方式)
	Name string `json:"name,omitempty"`
	// DeliveryMode 投放模式,允许值:MANUAL手动投放 (默认值),PROCEDURAL自动投放
	DeliveryMode enum.DeliveryMode `json:"delivery_mode,omitempty"`
	// Status 广告状态过滤,允许值:
	// NOT_DELETED 不限 、ALL 不限(包含已删除)、OK 投放中、DELETED 已删除、PROJECT_OFFLINE_BUDGET 项目超出预算、PROJECT_PREOFFLINE_BUDGET 项目接近预算、TIME_NO_REACH 未到达投放时间、TIME_DONE 已完成、NO_SCHEDULE 不在投放时段、AUDIT 新建审核中、REAUDIT 修改审核中、FROZEN 已终止、AUDIT_DENY 审核不通过、OFFLINE_BUDGET 广告超出预算、OFFLINE_BALANCE 账户余额不足、PREOFFLINE_BUDGET 广告接近预算、DISABLED 已暂停、PROJECT_DISABLED 已被项目暂停、LIVE_ROOM_OFF 关联直播间不可投、PRODUCT_OFFLINE 关联商品不可投,、AWEME_ACCOUNT_DISABLED 关联抖音账号不可投、AWEME_ANCHOR_DISABLED 锚点不可投、DISABLE_BY_QUOTA 已暂停(配额达限)
	Status enum.PromotionStatus `json:"status,omitempty"`
	// StatusFirst 广告一级状态过滤,允许值:
	// PROMOTION_STATUS_ENABLE投放中
	// PROMOTION_STATUS_DISABLE未投放
	// PROMOTION_STATUS_FROZEN已终止
	// PROMOTION_STATUS_DONE已完成
	// PROMOTION_STATUS_DELETED已删除
	StatusFirst enum.PromotionStatusFirst `json:"status_first,omitempty"`
	// StatusSecond 广告二级状态过滤,允许值:
	// AUDIT_DENY 审核不通过
	// AUDIT 新建审核中
	// REAUDIT 修改审核中
	// DISABLED 已暂停
	// DISABLE_BY_QUOTA 已暂停(配额达限)
	// PROJECT_DISABLED 项目已被暂停
	// NO_SCHEDULE 不在投放时段
	// TIME_NO_REACH 未到达投放时间
	// OFFLINE_BALANCE 账户余额不足
	// BALANCE_OFFLINE_BUDGET 账户超出预算
	// PROJECT_OFFLINE_BUDGET 项目超出预算
	// PROMOTION_OFFLINE_BUDGET 广告超出预算
	// LIVE_ROOM_OFF 直播间不可投
	// PRODUCT_OFFLINE 商品不可投
	// AWEME_ACCOUNT_DISABLED 抖音账号不可投
	// AWEME_ANCHOR_DISABLED 锚点不可投
	// 当status_first = PROMOTION_STATUS_DISABLE时传入有效
	StatusSecond enum.PromotionStatus `json:"status_second,omitempty"`
	// PromotionCreateTime 广告创建时间,格式yyyy-mm-dd,表示过滤出当天创建的广告项目
	PromotionCreateTime string `json:"promotion_create_time,omitempty"`
	// PromotionModifyTime 广告更新时间,格式yyyy-mm-dd,表示过滤出当天更新的广告项目
	PromotionModifyTime string `json:"promotion_modify_time,omitempty"`
	// RejectReasonType 审核建议类型,允许值:NONE 无建议、REVIEW_REJECT 审核不通过、LOW_MATERAIL 低质素材、DISCOMFORT 引人不适、QUALITY_POOR 素材质量低、EXAGGERATION 夸大宣传、ELSE 其他
	RejectReasonType enum.PromotionRejectReasonType `json:"reject_reason_type,omitempty"`
	// HasCarryMaterial 按素材搬运打压状态过滤
	// TRUE:包含打压风险的广告
	// FALSE:不包含打压风险的广告
	HasCarryMaterial string `json:"has_carry_material,omitempty"`
	// LearningPhase 学习期状态 允许值:LEARNING(学习期中)、LEARNED(学习期结束)、LEARN_FAILED(学习期失败)
	LearningPhase []enum.LearningPhase `json:"learning_phase,omitempty"`
	// IDs 按广告ID过滤,范围为1-100
	IDs []uint64 `json:"ids,omitempty"`
	// ProjectID 按项目id过滤
	ProjectID uint64 `json:"project_id,omitempty"`
}

ListFilter 过滤条件

func (ListFilter) GetCreateTime added in v1.9.19

func (f ListFilter) GetCreateTime() string

func (ListFilter) GetIDs added in v1.9.19

func (f ListFilter) GetIDs() []uint64

func (ListFilter) GetModifyTime added in v1.9.19

func (f ListFilter) GetModifyTime() string

func (ListFilter) GetName added in v1.9.19

func (f ListFilter) GetName() string

type ListRequest

type ListRequest struct {
	// Filtering 过滤条件
	Filtering *ListFilter `json:"filtering,omitempty"`
	// IncludingMaterialAttributes 如需查询一个广告下是否包含搬运打压状态的视频素材,以及一个视频素材是否存在搬运风险,请传入此参数,并定义枚举值为RETURN_CARRY_DATA
	// 可选值:RETURN_CARRY_DATA 返回视频素材的搬运属性
	// 如果不传此参数,应答参数将不会返回搬运相关的字段:has_carry_material、is_carry_material
	IncludingMaterialAttributes string `json:"including_material_attributes,omitempty"`
	// Fields 查询字段集合,如果指定则应答结果仅返回指定字段
	// 可参考应答参数返回的指标字段
	Fields []string `json:"fields,omitempty"`
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// Page 页数默认值: 1,page必须大于0
	Page int `json:"page,omitempty"`
	// PageSize 页面大小默认值:10,page_size范围为1-10
	PageSize int `json:"page_size,omitempty"`
	// Cursor 页码游标值:第一次拉取,传入0
	// page与cursor同时传入时,cursor优先级大于page;同时不传入默认走page逻辑
	// page+page_size与cursor+count为两种分页方式,返回参数只返回与入参对应的分页参数
	Cursor int `json:"cursor,omitempty"`
	// Count 页面数据量
	// page与cursor同时传入时,cursor优先级大于page;同时不传入默认走page逻辑
	// page+page_size与cursor+count为两种分页方式,返回参数只返回与入参对应的分页参数
	Count int `json:"count,omitempty"`
}

ListRequest 获取广告列表 API Request

func (ListRequest) Encode

func (r ListRequest) Encode() string

Encode implement GetRequest interface

type ListResponse

type ListResponse struct {
	Data *ListResponseData `json:"data,omitempty"`
	model.BaseResponse
}

ListResponse 获取广告列表 API Response

type ListResponseData

type ListResponseData struct {
	// CursorInfo 游标分页信息,当分页方式为cursor+count时返回
	CursorInfo *model.PageInfo `json:"cursor_info,omitempty"`
	// PageInfo 分页信息
	PageInfo *model.PageInfo `json:"page_info,omitempty"`
	// List 项目列表
	List []Promotion `json:"list,omitempty"`
}

type LowQualityMaterial

type LowQualityMaterial struct {
	// LowQualityVideoIDs 低质视频素材
	LowQualityVideoIDs []string `json:"low_quality_video_ids,omitempty"`
	// LowQualityImageIDs 低质图片素材
	LowQualityImageIDs []string `json:"low_quality_image_ids,omitempty"`
}

LowQualityMaterial 低质素材信息

type MaterialReject

type MaterialReject struct {
	// Type 素材类型,枚举值:
	//  CREATIVE_IMAGE 图片、CREATIVE_VIDEO 视频、CREATIVE_TITLE 标题、CALL_TO_ACTION 行动号召、CREATIVE_URL 创意详情页、PRODUCT_IMAGE 产品主图、PRODUCT_SELLING_POINTS 产品卖点、PRODUCT_DESCRIBE 产品名称 CREATIVE_COMPONENT 创意组件
	Type enum.MaterialType `json:"type,omitempty"`
	// Item 根据不同素材类型返回相应的值
	// - CREATIVE_URL 创意详情页:web_url;external_url;playable_url
	// - CREATIVE_TITLE 标题:title
	// - CREATIVE_CAROUSEL 图文素材
	// - CREATIVE_IMAGE 图片:image_id
	// - CREATIVE_VIDEO 视频:video_id
	// - CALL_TO_ACTION 行动号召:号召文案
	// - PRODUCT_IMAGE 产品主图:image_id
	// - PRODUCT_SELLING_POINTS 产品卖点:产品卖点文案
	// - PRODUCT_DESCRIB 产品名称:产品名称文案
	// - CREATIVE_COMPONENT 创意组件:component_id
	// - ANCHOR 锚点:anchor_id
	// - AWEME_NICK_NAME 抖音昵称:抖音昵称
	Item string `json:"item,omitempty"`
	// RejectReason 审核建议
	RejectReason []string `json:"reject_reason,omitempty"`
	// Suggestion 审核建议
	Suggestion []string `json:"suggestion,omitempty"`
	// AuditPlatform 审核来源类型,返回值:
	// AD 广告审核
	// CONTENT 内容审核
	AuditPlatform enum.AuditPlatform `json:"ad_platform,omitempty"`
}

MaterialReject 素材维度审核建议

type MaterialScoreInfo

type MaterialScoreInfo struct {
	// ScoreNumOfMaterial 素材数量评级分数,枚举值:LEVEL1 较差、LEVEL2 一般、LEVEL3 良好、LEVEL4 极佳、LEVEL5 完美
	ScoreNumOfMaterial string `json:"score_num_of_material,omitempty"`
	// ScoreTypeOfMaterial 素材类型评级分数,枚举值:LEVEL1 较差、LEVEL2 一般、LEVEL3 良好、LEVEL4 极佳、LEVEL5 完美
	ScoreTypeOfMaterial string `json:"score_type_of_material,omitempty"`
	// ScoreValueOfMaterial 素材品质评级分数,枚举值:LEVEL1 较差、LEVEL2 一般、LEVEL3 良好、LEVEL4 极佳、LEVEL5 完美
	ScoreValueOfMaterial string `json:"score_value_of_material,omitempty"`
	// MaterialAdvice 素材评级建议
	MaterialAdvice []string `json:"material_advice,omitempty"`
	// LowQualityMaterialList 低质素材信息
	LowQualityMaterialList *LowQualityMaterial `json:"low_quality_material_list,omitempty"`
}

MaterialScoreInfo 素材评级信息

type MaterialStatusUpdateError added in v1.17.8

type MaterialStatusUpdateError struct {
	// Message 失败原因
	Message string `json:"message,omitempty"`
	// MaterialID 素材ID
	MaterialID uint64 `json:"material_id,omitempty"`
}

MaterialStatusUpdateError 更新失败的素材

func (MaterialStatusUpdateError) Error added in v1.17.8

type MaterialStatusUpdateItem added in v1.17.8

type MaterialStatusUpdateItem struct {
	// OptStatus 允许值:DISABLE 暂停、ENABLE 启用
	OptStatus enum.OptStatus `json:"opt_status,omitempty"`
	// MaterialID 素材ID
	MaterialID uint64 `json:"material_id,omitempty"`
}

MaterialStatusUpdateItem 批量更新广告启用状态,包含广告ID和操作状态

type MaterialStatusUpdateRequest added in v1.17.8

type MaterialStatusUpdateRequest struct {
	// Data 批量更新广告启用状态,包含广告ID和操作状态,list长度限制1~10
	Data []MaterialStatusUpdateItem `json:"data,omitempty"`
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
}

MaterialStatusUpdateRequest 批量更新广告素材启用状态 API Request

func (MaterialStatusUpdateRequest) Encode added in v1.17.8

func (r MaterialStatusUpdateRequest) Encode() []byte

Encode implement PostRequest interface

type MaterialStatusUpdateResponse added in v1.17.8

type MaterialStatusUpdateResponse struct {
	Data *MaterialStatusUpdateResult `json:"data,omitempty"`
	model.BaseResponse
}

MaterialStatusUpdateResponse 批量更新广告素材启用状态 API Response

type MaterialStatusUpdateResult added in v1.17.8

type MaterialStatusUpdateResult struct {
	// MaterialIDs 更新成功的素材集合
	MaterialIDs []uint64 `json:"material_ids,omitempty"`
	// Errors 更新失败的素材列表
	Errors []MaterialStatusUpdateError `json:"errors,omitempty"`
	// PromotionID 广告计划ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
}

MaterialStatusUpdateResult

type MiniProgramInfo added in v1.9.45

type MiniProgramInfo struct {
	// AppID 小程序/小游戏id,当使用 mini_program_info且url不传入时必填
	AppID string `json:"app_id,omitempty"`
	// StartPath 启动路径,小程序类型必传,小游戏类型不传值
	StartPath string `json:"start_path,omitempty"`
	// Params 页面监测参数
	Params string `json:"params,omitempty"`
	// URL 字节小程序调起链接,传输会检查url正确性,不传输由平台自动生成;
	// url传入时,app_id、start_path、params无须传入
	URL string `json:"url,omitempty"`
}

MiniProgramInfo 字节小程序信息,当landing_type = MICRO_GAME且micro_promotion_type = BYTE_APP或BYTE_GAME时有效且必填

type NativeSetting added in v1.9.28

type NativeSetting struct {
	// AwemeID 授权抖音号id,可通过【获取抖音号授权关系】接口获得
	// 当传入抖音号表示原生广告开启
	AwemeID string `json:"aweme_id,omitempty"`
	// IsFeedAndFavSee 主页作品列表隐藏广告内容
	// 允选值:OFF(不隐藏),ON(隐藏)
	// 默认值:OFF
	IsFeedAndFavSee string `json:"is_feed_and_fav_see,omitempty"`
	// AnchorRelatedType 原生锚点启用开关,允许值:
	// 不启用 OFF,自动生成 AUTO,手动选择 SELECT
	// 默认值为 OFF
	AnchorRelatedType string `json:"anchor_related_type,omitempty"`
}

NativeSetting 原生广告设置

type ProductInfo

type ProductInfo struct {
	// Titles 产品名称
	Titles []string `json:"titles,omitempty"`
	// ImageIDs 产品主图
	ImageIDs []string `json:"image_ids,omitempty"`
	// SellingPoints 产品卖点
	SellingPoints []string `json:"selling_points,omitempty"`
	// ProductNameType 产品名称类型,枚举值:DPA产品库字段,CUSTOM自定义
	ProductNameType string `json:"product_name_type,omitempty"`
	// ProductImageType 产品图片类型,枚举值:DPA产品库字段,CUSTOM自定义
	ProductImageType string `json:"product_image_type,omitempty"`
	// ProductSellingPointType 产品卖点类型,枚举值:DPA产品库字段,CUSTOM自定义
	ProductSellingPointType string `json:"product_selling_point_type,omitempty"`
	// ProductNameFields DPA产品库名称字段
	ProductNameFields []string `json:"product_name_fields,omitempty"`
	// ProductImageFields DPA产品库图片字段
	ProductImageFields []string `json:"product_image_fields,omitempty"`
	// ProductSellingPointFields DPA产品库卖点字段
	ProductSellingPointFields []string `json:"product_selling_point_fields,omitempty"`
}

ProductInfo 产品信息

type Promotion

type Promotion struct {
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// PromotionName 广告名称
	PromotionName string `json:"promotion_name,omitempty"`
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// ProjectID 项目ID
	ProjectID uint64 `json:"project_id,omitempty"`
	// ModifyTime 计划上次修改时间标识(用于更新计划时提交,服务端判断是否基于最新信息修改)
	ModifyTime string `json:"modify_time,omitempty"`
	// PromotionModifyTime 广告更新时间,格式yyyy-MM-dd HH:mm:ss
	PromotionModifyTime string `json:"promotion_modify_time,omitempty"`
	// AdCreateTime 广告创建时间,格式yyyy-MM-dd HH:mm:ss
	PromotionCreateTime string `json:"promotion_create_time,omitempty"`
	// LearningPhase 学习期状态,枚举值:DEFAULT(默认,不在学习期中)、LEARNING(学习中)、LEARNED(学习成功)、LEARN_FAILED(学习失败)
	LearningPhase enum.LearningPhase `json:"learning_phase,omitempty"`
	// StatusFirst 广告一级状态
	StatusFirst enum.PromotionStatusFirst `json:"status_first,omitempty"`
	// StatusSecond 广告二级状态
	StatusSecond []enum.PromotionStatus `json:"status_second,omitempty"`
	// Status 广告状态,枚举值:NOT_DELETED 不限 、ALL 不限(包含已删除)、OK 投放中、DELETED 已删除、PROJECT_OFFLINE_BUDGET 项目超出预算、PROJECT_PREOFFLINE_BUDGET 项目接近预算、TIME_NO_REACH 未到达投放时间、TIME_DONE 已完成、NO_SCHEDULE 不在投放时段、AUDIT 新建审核中、REAUDIT 修改审核中、FROZEN 已终止、AUDIT_DENY 审核不通过、OFFLINE_BUDGET 广告超出预算、OFFLINE_BALANCE 账户余额不足、PREOFFLINE_BUDGET 广告接近预算、DISABLED 已暂停、PROJECT_DISABLED 已被项目暂停、LIVE_ROOM_OFF 关联直播间不可投、PRODUCT_OFFLINE 关联商品不可投,、AWEME_ACCOUNT_DISABLED 关联抖音账号不可投、AWEME_ANCHOR_DISABLED 锚点不可投、DISABLE_BY_QUOTA 已暂停(配额达限)、CREATE 新建、ADVERTISER_OFFLINE_BUDGET 账号超出预算、ADVERTISER_PREOFFLINE_BUDGET 账号接近预算
	Status enum.PromotionStatus `json:"status,omitempty"`
	// OptStatus 操作状态
	OptStatus enum.OptStatus `json:"opt_status,omitempty"`
	// NativeSetting 原生广告设置
	NativeSetting *NativeSetting `json:"native_setting,omitempty"`
	// HasCarryMaterial 该广告是否包含搬运打压状态的素材
	// TRUE:存在打压风险
	// FALSE:不存在打压风险
	HasCarryMaterial string `json:"has_carry_material,omitempty"`
	// PromotionMaterials 广告素材组合
	PromotionMaterials *PromotionMaterial `json:"promotion_materials,omitempty"`
	// Keywords 关键词列表,关键词和智能拓流二者必须开启一个,一个广告最多可添加1000个
	Keywords []project.Keyword `json:"keywords,omitempty"`
	// IsCommentDisable 广告评论,ON为启用,OFF为不启用
	IsCommentDisable model.ReverseOnOffInt `json:"is_comment_disable,omitempty"`
	// AdDownloadStatus 客户端下载视频功能,ON为启用,OFF为不启用
	AdDownloadStatus model.OnOffInt `json:"ad_download_status,omitempty"`
	// MaterialsType 素材类型
	MaterialsType enum.MaterialsType `json:"materials_type,omitempty"`
	// Source 广告来源
	Source string `json:"source,omitempty"`
	// BudgetMode 预算类型
	BudgetMode enum.BudgetMode `json:"budget_mode,omitempty"`
	// Budget 预算
	Budget float64 `json:"budget,omitempty"`
	// Bid 点击出价/展示出价
	Bid float64 `json:"bid,omitempty"`
	// CpaBid 目标转化出价/预期成本
	CpaBid float64 `json:"cpa_bid,omitempty"`
	// DeepCpaBid 深度优化出价
	DeepCpaBid float64 `json:"deep_cpabid,omitempty"`
	// RoiGoal 深度转化ROI系数
	RoiGoal float64 `json:"roi_goal,omitempty"`
	// ScheduleTime 广告的投放时段
	ScheduleTime string `json:"schedule_time,omitempty"`
	// MaterialScoreInfo 素材评级信息
	MaterialScoreInfo *MaterialScoreInfo `json:"material_score_info,omitempty"`
	// CreativeAutoGenerateSwitch 是否开启自动生成素材
	// 默认值:OFF
	// 枚举值:ON开启、OFF不开启
	CreativeAutoGenerateSwitch string `json:"creative_auto_generate_switch,omitempty"`
	// ConfigID 配置ID,开关打开,不传为黑盒明投派生
	ConfigID uint64 `json:"config_id,omitempty"`
	// BrandInfo 品牌信息
	BrandInfo *BrandInfo `json:"brand_info,omitempty"`
	// 7d_retention 表示7日留存天数,单位:天,取值范围[0.01,7.00],仅支持最多2位小数。
	// 7d_retention适用创编场景,该场景下有效且必填
	// landing_type = APP 应用推广
	// ad_type = ALL 通投
	// delivery_mode = MANUAL  手动投放
	// external_action = AD_CONVERT_TYPE_ACTIVE 优化目标=激活
	// deep_external_action = AD_CONVERT_TYPE_RETENTION_DAYS深度优化目标 = 留存天数
	// delivery_setting.deep_bid_type = AD_CONVERT_TYPE_RETENTION_DAYS深度优化方式 = 留存天数
	// delivery_range.inventory_catalog = MANUAL  广告位大类 = 首选媒体
	// inventory_type = INVENTORY_UNION_SLOT  投放位置 只选择穿山甲
	SevenDRetention float64 `json:"7d_retention,omitempty"`
	// ShopMultiRoiGoals 多ROI系数
	// 条件必填,object[],多ROI系数设置,表示引流电商多平台投放ROI系数及平台信息,广告主可按照电商平台分别确定ROI系数,分平台调控出价。list长度最长为4
	// 多平台优选投放白名单内客户,在以下组合场景时shop_multi_roi_goals有效且必填
	// 推广目的 = 电商(landing_type = SHOP)
	// 投放方式 = 自动投放(delivery_mode = MANUAL)
	// 优化目标 = APP 内下单(external_action = AD_CONVERT_TYPE_APP_ORDER)
	// 深度优化方式 = ROI系数(deep_bid_type = ROI_DIRECT_MAIL)
	ShopMultiRoiGoals []ShopMultiRoiGoal `json:"shop_multi_roi_goals,omitempty"`
}

Promotion 广告信息

func (Promotion) GetAdvertiserID added in v1.9.17

func (p Promotion) GetAdvertiserID() uint64

func (Promotion) GetBudget added in v1.9.17

func (p Promotion) GetBudget() float64

func (Promotion) GetCampaignID added in v1.9.17

func (p Promotion) GetCampaignID() uint64

func (Promotion) GetCpaBid added in v1.9.17

func (p Promotion) GetCpaBid() float64

func (Promotion) GetDeepCpaBid added in v1.9.17

func (p Promotion) GetDeepCpaBid() float64

func (Promotion) GetExternalURLs added in v1.9.21

func (p Promotion) GetExternalURLs() []string

func (Promotion) GetID added in v1.9.17

func (p Promotion) GetID() uint64

func (Promotion) GetName added in v1.9.17

func (p Promotion) GetName() string

func (Promotion) GetOptStatus added in v1.9.17

func (p Promotion) GetOptStatus() enum.AdOptStatus

func (Promotion) IsProject added in v1.9.20

func (p Promotion) IsProject() bool

func (Promotion) Version added in v1.9.17

func (p Promotion) Version() model.AdVersion

type PromotionMaterial

type PromotionMaterial struct {
	// VideoMaterialList 视频素材信息
	VideoMaterialList []VideoMaterial `json:"video_material_list,omitempty"`
	// ImageMaterialList 创意图片素材
	ImageMaterialList []ImageMaterial `json:"image_material_list,omitempty"`
	// TitleMaterialList 标题素材
	TitleMaterialList []TitleMaterial `json:"title_material_list,omitempty"`
	// TextAbstractList 文本摘要信息,单广告可添加1-10个,长度25-45个字
	TextAbstractList []TextAbstract `json:"text_abstract_list,omitempty"`
	// AnchorMaterialList 原生锚点素材,当 anchor_related_type = SELECT时必填,数量上限为1
	AnchorMaterialList []AnchorMaterial `json:"anchor_material_list,omitempty"`
	// DecorationMaterial 家装卡券素材
	// 仅当landing_type选择LINK且命中白名单可用
	// 需在广告平台签署协议后可用
	DecorationMaterial []DecorationMaterial `json:"decoration_material,omitempty"`
	// AutoExtendTraffic 智能拓流
	// 允许值:ON开启(默认值); OFF关闭
	AutoExtendTraffic string `json:"auto_extend_traffic,omitempty"`
	// Keywords 关键词列表,关键词和智能拓流二者必须开启一个,一个广告最多可添加1000个
	Keywords []project.Keyword `json:"keywords,omitempty"`
	// ComponentMaterialList 创意组件信息
	ComponentMaterialList []ComponentMaterial `json:"component_material_list,omitempty"`
	// MiniProgramInfo 字节小程序信息,当landing_type = MICRO_GAME且micro_promotion_type = BYTE_APP或BYTE_GAME时有效且必填
	MiniProgramInfo *MiniProgramInfo `json:"mini_program_info,omitempty"`
	// ExternalURLMaterialList 普通落地页链接素材,上限10个
	// 当landing_type = APP ,且 download_type = EXTERNAL_URL时,external_url_material_list 至少传入一个
	// 当landing_type = LINK和SHOP类型,且项目asset_type = ORANGE 时,仅允许传入支持对应优化目标的橙子落地页
	// 当landing_type = LINK和SHOP类型,且项目asset_type = THIRDPARTY 时,仅允许自研落地页
	// 当landing_type = MICRO_GAME和WECHAT_APP类型,仅支持选择含微信小程序/小游戏的橙子建站落地页且如果多选落地页,需要所有建站对应相同的微信小游戏/微信小程序,否则报错
	// 应用直播链路和线索自研落地页直播链路不支持该字段
	ExternalURLMaterialList []string `json:"external_url_material_list,omitempty"`
	// ParamsType 链接类型(落地页),DPA推广目的下必填允许值: DPA 商品库所含链接、CUSTOM 自定义链接
	ParamsType string `json:"params_type,omitempty"`
	// ExternalURLField 落地页链接字段选择,当params_type为DPA时必填
	ExternalURLField string `json:"external_url_field,omitempty"`
	// ExternalURLParams 落地页检测参数
	ExternalURLParams string `json:"external_url_params,omitempty"`
	// OpenURLType 直达链接类型,允许值: NONE不启用, DPA商品库所含链接, CUSTOM自定义链接商品库链接对应商品库内调起字段,如对接多种调起链接则可选择;自定义链接可自行输入调起链接。
	// DPA推广母的下可以使用
	OpenURLType string `json:"open_url_type,omitempty"`
	// OpenURLField 直达链接字段选择,当dpa_open_url_type为DPA必填
	OpenURLField string `json:"open_url_field,omitempty"`
	// OpenURLParams 直达链接检测参数(DPA推广目的特有,在“产品库中提取的scheme地址"后面追加填写的参数)
	OpenURLParams string `json:"open_url_params,omitempty"`
	// WebURLMaterialList Android应用下载详情页
	WebURLMaterialList []string `json:"web_url_material_list,omitempty"`
	// PlayableURLMaterialList 试玩落地页素材
	PlayableURLMaterialList []string `json:"playable_url_material_list,omitempty"`
	// CarouselMaterialList   图集素材信息,当ad_type=ALL时,支持上限10个;当ad_type=SEARCH时,支持上限30个
	CarouselMaterialList []CarouselMaterial `json:"carousel_material_list,omitempty"`
	// OpenURL 直达链接,用于打开电商app,调起店铺
	// 仅在电商店铺推广目的下有效
	OpenURL string `json:"open_url,omitempty"`
	// OpenURLs 电商优选直达链接组
	OpenURLs []string `json:"open_urls,omitempty"`
	// Ulink 直达备用链接,支持穿山甲和站内广告位
	Ulink string `json:"ulink,omitempty"`
	// DynamicCreateiveSwitch 动态创意开关,允许值:ON开启(默认值),OFF关闭,当ad_type=SEARCH时有效
	DynamicCreateiveSwitch string `json:"dynamic_creative_switch,omitempty"`
	// AdvancedDcSettings 动态创意高级设置,仅搜索广告下可设置。注意:
	// 仅当广告类型ad_type = SEARCH搜索广告,动态创意开关dynamic_creative_switch =ON时可传入,否则报错
	// 必须传入至少1个值,动态创意开关开启dynamic_creative_switch =ON时,此参数传空值或非允许值会报错
	// 当ad_type = SEARCH搜索广告、动态创意开关开启dynamic_creative_switch =ON时,不传入此参数表示默认开启2个优化项
	// 搜索周期稳投广告不支持设置此参数,传入不会生效
	// 允许值:
	// OPTIMIZE_SEARCH_RESULTS_PAGE优化视频、图片、标题等搜索结果页内容
	// OPTIMIZE_LANDING_PAGE优化落地页
	AdvancedDcSettings []enum.AdvancedDcSetting `json:"advanced_dc_settings,omitempty"`
	// ProductInfo 产品信息
	ProductInfo *ProductInfo `json:"product_info,omitempty"`
	// CallToActionButtons 行动号召文案
	CallToActionButtons []string `json:"call_to_action_buttons,omitempty"`
	// IntelligentGeneration 智能生成行动号召按钮,开启后即对应的文案自动生成,可选项为OFF(默认)、ON
	IntelligentGeneration string `json:"intelligent_generation,omitempty"`
}

PromotionMaterial 广告素材

type PromotionReject

type PromotionReject struct {
	// Content 审核项
	Content string `json:"content,omitempty"`
	// RejectReason 审核建议
	RejectReason []string `json:"reject_reason,omitempty"`
	// Suggestion 审核建议
	Suggestion []string `json:"suggestion,omitempty"`
}

PromotionReject 广告维度审核建议

type RejectReason

type RejectReason struct {
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// PromotionReject  广告维度审核建议
	PromotionReject []PromotionReject `json:"promotion_reject,omitempty"`
	// MaterialReject 素材维度审核建议
	MaterialReject []MaterialReject `json:"material_reject,omitempty"`
}

RejectReason 计划审核意见

type RejectReasonRequest

type RejectReasonRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// PromotionIDs 广告计划 ID,最多传10个广告计划ID
	PromotionIDs []uint64 `json:"promotion_ids,omitempty"`
}

RejectReasonRequest 获取计划审核建议 API Request

func (RejectReasonRequest) Encode

func (r RejectReasonRequest) Encode() string

Encode implement GetRequest interface

type RejectReasonResponse

type RejectReasonResponse struct {
	model.BaseResponse
	Data struct {
		List []RejectReason `json:"list,omitempty"`
	} `json:"data,omitempty"`
}

RejectReasonResponse 获取计划审核建议 API Response

type ScheduleTimeUpdateData added in v1.15.3

type ScheduleTimeUpdateData struct {
	// PromotionID 广告ID,仅支持delivery_mode=MANUAL时修改广告层级的投放时段
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// ScheduleTime 更新后的投放时段,格式是48*7位字符串,且都是0或1。也就是以半个小时为最小粒度,周一至周日每天分为48个区段,0为不投放,1为投放,不传、全传0、全传1均代表全时段投放。
	// 例如:000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000000000000000000000000001111000000000000000000000,则投放时段为周一到周日的11:30~13:30
	// 所选时段必须在广告所属项目的投放时段范围内
	ScheduleTime string `json:"schedule_time,omitempty"`
}

ScheduleTimeUpdateData 批量修改投放时段

type ScheduleTimeUpdateRequest added in v1.15.3

type ScheduleTimeUpdateRequest struct {
	// AdvertiserID 广告账户id
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// Data 批量修改投放时段,限制最多批量修改10条广告
	Data []ScheduleTimeUpdateData `json:"data,omitempty"`
}

ScheduleTimeUpdateRequest 批量更新广告投放时段 API request

func (ScheduleTimeUpdateRequest) Encode added in v1.15.3

func (r ScheduleTimeUpdateRequest) Encode() []byte

Encode implement PostRequest interface

type ShopMultiRoiGoal added in v1.24.6

type ShopMultiRoiGoal struct {
	// RoiGoal ROI系数,范围(0.01,100],精度:最多保留小数点后四位
	RoiGoal float64 `json:"roi_goal,omitempty"`
	// ShopPlatform ROI系数所属平台,允许值:PDD 拼多多、TB 淘宝、JD 京东、OTHER 其他
	ShopPlatform enum.ShopPlatform `json:"shop_platform,omitempty"`
}

ShopMultiRoiGoals 多ROI系数

type StatusUpdateData

type StatusUpdateData struct {
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// OptStatus  操作ENABLE启 用广告、DISABLE 暂停广告
	OptStatus enum.OptStatus `json:"opt_status,omitempty"`
}

type StatusUpdateRequest

type StatusUpdateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// Data
	Data []StatusUpdateData `json:"data,omitempty"`
}

StatusUpdateRequest 更新广告状态 API Request

func (StatusUpdateRequest) Encode

func (r StatusUpdateRequest) Encode() []byte

Encode implement PostRequest interface

type StrategyData added in v1.10.7

type StrategyData struct {
	// StrategyID 策略id
	StrategyID uint64 `json:"strategy_id,omitempty"`
	// StrategyType 策略类型 可选值:
	// Horizontal2Horizontal: 横转横
	// Horizontal2Vertical: 横转竖
	// Vertical2Horizontal: 竖转横
	// Vertical2Vertical: 竖转竖
	StrategyType enum.StrategyType `json:"strategy_type,omitempty"`
	// StrategyName 策略名称
	StrategyName string `json:"strategy_name,omitempty"`
	// Info 策略基本信息
	Info *StrategyInfo `json:"info,omitempty"`
	// StrategyState 策略配置项列表
	StrategyState []StrategyState `json:"strategy_state,omitempty"`
}

StrategyData 策略数据(列表中strategy_id需唯一, 即同一个策略(strategy)的策略配置项列表(strategy_state),需放到同一个对象内,不可分开传递)

type StrategyInfo added in v1.10.7

type StrategyInfo struct {
	// CoverURL 样例视频封面url
	CoverURL string `json:"cover_url,omitempty"`
	// VideoURL 样例视频url
	VideoURL string `json:"video_url,omitempty"`
	// Vid 样例视频vid
	Vid string `json:"vid,omitempty"`
}

StrategyInfo 策略基本信息

type StrategyState added in v1.10.7

type StrategyState struct {
	// StateKey 配置项key
	StateKey string `json:"state_key,omitempty"`
	// StateType 配置项类型 可选值:
	// Image: 图片
	// Text: 文案
	StateType enum.StrategyStateType `json:"state_type,omitempty"`
	// StateValue 配置项值
	StateValue string `json:"state_value,omitempty"`
	// Limit 配置项限制条件
	Limit *StrategyStateLimit `json:"limite,omitempty"`
}

StrategyState 策略配置项列表

type StrategyStateLimit added in v1.12.8

type StrategyStateLimit struct {
	// TextMaxLength 文案最大长度(仅对state_type=Text有效)
	TextMaxLength int `json:"text_maxlength,omitempty"`
	// TextMinLength 文案最小长度(仅对state_type=Text有效)
	TextMinLength int `json:"text_min_length,omitempty"`
	// ImgWidth 图片宽度(仅对state_type=Image有效)
	ImgWidth int `json:"img_width,omitempty"`
	// ImgHeight 图片高度(仅对state_type=Image有效)
	ImgHeight int `json:"img_height,omitempty"`
}

StrategyStateLimit 配置项限制条件

type TemplateScheme added in v1.10.7

type TemplateScheme struct {
	// Key 填充内容的键
	Key string `json:"key,omitempty"`
	// Value 填充内容的值
	Value string `json:"value,omitempty"`
}

TemplateScheme 模板填充的内容

type TextAbstract added in v1.10.5

type TextAbstract struct {
	// AbstractText 文本摘要内容,单广告可添加1-10个,长度25-45个字, 两个英文字符占1位。
	// 如果要使用动态词包,格式如下:“XXX{词包名}XXX{词包名}XXX”,请注意当您使用动态词包需在下方 word_list 字段中按顺序传入词包ID,并且在一个文本摘要内容中最多使用两个动态词包。如果要使用搜索关键词,格式如下:“XXX{#关键词#}XXX”,请注意当您使用关键词需在下方 bidword_list 字段中传入关键词,并且在一个文本摘要内容中最多使用一个关键词
	AbstractText string `json:"abstract_text,omitempty"`
	// BidwordList 搜索关键词列表
	BidwordList []Bidword `json:"bidword_list,omitempty"`
	// WordList 动态词包ID,可使用 【查询动态词包接口】 获得,结合标题中的词包格式您需要填写相同个数与顺序的词包ID,如果实际ID顺序与标题中词包名顺序不一致我们将以词包ID顺序为准。
	WordList []uint64 `json:"word_list,omitempty"`
}

TextAbstract 文本摘要信息,单广告可添加1-10个,长度25-45个字

type TitleMaterial

type TitleMaterial struct {
	// MaterialID 素材ID
	MaterialID model.Uint64 `json:"material_id,omitempty"`
	// DpaWordList DPA词包ID列表
	DpaWordList []string `json:"dpa_word_list,omitempty"`
	// Title 创意标题
	Title string `json:"title,omitempty"`
	// BidwordList 搜索关键词列表
	BidwordList []Bidword `json:"bidword_list,omitempty"`
	// WordList 动态词包ID
	WordList []uint64 `json:"word_list,omitempty"`
}

TitleMaterial 标题素材

type UpdateError

type UpdateError struct {
	// PromotionID 广告计划ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// ObjectType 错误对象类型
	// 枚举值: BASIC 广告基本设置、MATERIAL 广告素材组合、BUDGET 广告预算
	ObjectType string `json:"object_type,omitempty"`
	// ErrorCode 错误信息
	ErrorCode int `json:"error_code,omitempty"`
	// ErrorKeyword 更新错误的搜索关键词
	ErrorKeyword string `json:"error_keyword,omitempty"`
	// ErrorMessage 错误信息
	ErrorMessage string `json:"error_message"`
}

UpdateError 更新失败的广告计划

func (UpdateError) Error added in v1.17.5

func (r UpdateError) Error() string

Error implement error interface

type UpdateRequest

type UpdateRequest struct {
	// AdvertiserID 广告主ID
	AdvertiserID uint64 `json:"advertiser_id,omitempty"`
	// PromotionID 广告ID,广告ID要属于广告主ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// Name 广告名称,长度是1-50个字(两个英文字符占1个字)。名称不可重复
	Name string `json:"name,omitempty"`
	// PromotionMaterials 广告素材组合
	PromotionMaterials *PromotionMaterial `json:"promotion_materials,omitempty"`
	// NativeSetting 原生广告设置
	NativeSetting *NativeSetting `json:"native_setting,omitempty"`
	// IsCommentDisable 广告评论,ON为启用,OFF为不启用
	IsCommentDisable string `json:"is_comment_disable,omitempty"`
	// AdDownloadStatus 客户端下载视频功能,ON为启用,OFF为不启用
	AdDownloadStatus string `json:"ad_download_status,omitempty"`
	// Source 广告来源,字数限制:[1-10]
	// 当landing_type = LINK、MICRO_GAME时必填
	Source string `json:"source,omitempty"`
	// BrandInfo 品牌信息
	BrandInfo *BrandInfo `json:"brand_info,omitempty"`
	// Budget 预算(出价方式为OCPM时,不少于300元;24小时内修改预算操作,不能超过20次,24小时是指自然天的24小时;单次修改预算幅度不能低于100元(增加或者减少);修改后预算金额,不能低于当前已消费金额的105%,以整百单位向上取整;取值范围: ≥ 0
	Budget float64 `json:"budget,omitempty"`
	// CpaBid 目标转化出价/预期成本, 取值范围:0.1-10000元
	// 注意:当 bid_type = NO_BID时,不填写该字段,否则会报错
	CpaBid float64 `json:"cpa_bid,omitempty"`
	// DeepCpaBid 深度优化出价,deep_bid_type = DEEP_BID_MIN 时必填。取值范围:0.1~10000元
	// 注意:当 bid_type = NO_BID时,不填写该字段,否则会报错
	DeepCpaBid float64 `json:"deep_cpabid,omitempty"`
	// RoiGoal 深度转化ROI系数, 范围(0,5],精度:保留小数点后四位,当 deep_bid_type = ROI_COEFFICIENT 时必填
	// 注意:当 bid_type=NO_BID时,不填写该字段,否则会报错
	RoiGoal float64 `json:"roi_goal,omitempty"`
	// AutoExtendTraffic 智能拓流
	// 允许值:ON开启(默认值); OFF关闭
	AutoExtendTraffic string `json:"auto_extend_traffic,omitempty"`
	// Keywords 关键词列表,关键词和智能拓流二者必须开启一个,一个广告最多可添加1000个
	Keywords []project.Keyword `json:"keywords,omitempty"`
	// CreativeAutoGenerateSwitch 是否开启自动生成素材
	// 默认值:OFF
	// 枚举值:ON开启、OFF不开启
	CreativeAutoGenerateSwitch string `json:"creative_auto_generate_switch,omitempty"`
	// ConfigID 配置ID,开关打开,不传为黑盒明投派生
	ConfigID uint64 `json:"config_id,omitempty"`
	// 7d_retention 表示7日留存天数,单位:天,取值范围[0.01,7.00],仅支持最多2位小数。
	// 7d_retention适用创编场景,该场景下有效且必填
	// landing_type = APP 应用推广
	// ad_type = ALL 通投
	// delivery_mode = MANUAL  手动投放
	// external_action = AD_CONVERT_TYPE_ACTIVE 优化目标=激活
	// deep_external_action = AD_CONVERT_TYPE_RETENTION_DAYS深度优化目标 = 留存天数
	// delivery_setting.deep_bid_type = AD_CONVERT_TYPE_RETENTION_DAYS深度优化方式 = 留存天数
	// delivery_range.inventory_catalog = MANUAL  广告位大类 = 首选媒体
	// inventory_type = INVENTORY_UNION_SLOT  投放位置 只选择穿山甲
	SevenDRetention float64 `json:"7d_retention,omitempty"`
	// ShopMultiRoiGoals 多ROI系数
	// 条件必填,object[],多ROI系数设置,表示引流电商多平台投放ROI系数及平台信息,广告主可按照电商平台分别确定ROI系数,分平台调控出价。list长度最长为4
	// 多平台优选投放白名单内客户,在以下组合场景时shop_multi_roi_goals有效且必填
	// 推广目的 = 电商(landing_type = SHOP)
	// 投放方式 = 自动投放(delivery_mode = MANUAL)
	// 优化目标 = APP 内下单(external_action = AD_CONVERT_TYPE_APP_ORDER)
	// 深度优化方式 = ROI系数(deep_bid_type = ROI_DIRECT_MAIL)
	ShopMultiRoiGoals []ShopMultiRoiGoal `json:"shop_multi_roi_goals,omitempty"`
}

UpdateRequest 修改广告列API Request

func (UpdateRequest) Encode

func (r UpdateRequest) Encode() []byte

Encode implement PostRequest interface

type UpdateResponse

type UpdateResponse struct {
	model.BaseResponse
	// Data json返回值
	Data *UpdateResponseData `json:"data,omitempty"`
}

UpdateResponse 更新计划API Response

type UpdateResponseData

type UpdateResponseData struct {
	// PromotionID 广告计划ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// PromotionIDs 广告计划ID集合
	PromotionIDs []uint64 `json:"promotion_ids,omitempty"`
	// ErrorList 更新失败的广告计划列表
	ErrorList []UpdateError `json:"error_list,omitempty"`
	// Errors 更新失败的广告计划列表
	Errors []UpdateError `json:"errors,omitempty"`
}

UpdateResponseData json返回值

type VideoMaterial

type VideoMaterial struct {
	// ImageMode 素材类型
	ImageMode enum.ImageMode `json:"image_mode,omitempty"`
	// VideoID 视频ID
	VideoID string `json:"video_id,omitempty"`
	// VideoCoverID 视频封面图片ID
	VideoCoverID string `json:"video_cover_id,omitempty"`
	// ItemID 抖音短视频ID
	ItemID model.Uint64 `json:"item_id,omitempty"`
	// MaterialID 素材ID
	MaterialID model.Uint64 `json:"material_id,omitempty"`
	// MaterialStatus 素材审核状态,枚举值:
	// MATERIAL_STATUS_OK 投放中、MATERIAL_STATUS_DELETE 已删除、MATERIAL_STATUS_PROJECT_OFFLINE_BUDGET 项目超出预算、MATERIAL_STATUS_PROJECT_PREOFFLINE_BUDGET 项目接近预算、MATERIAL_STATUS_TIME_NO_REACH 未到达投放时间、MATERIAL_STATUS_TIME_DONE 已完成、MATERIAL_STATUS_NO_SCHEDULE 不在投放时段、MATERIAL_STATUS_AUDIT 新建审核中、MATERIAL_STATUS_REAUDIT 修改审核中、MATERIAL_STATUS_OFFLINE_AUDIT 审核不通过、MATERIAL_STATUS_OFFLINE_BUDGET 广告超出预算、MATERIAL_STATUS_ OFFLINE_BALANCE 账户余额不足、MATERIAL_STATUS_ PREOFFLINE_BUGDET 广告接近预算、MATERIAL_STATUS_PROJECT_DISABLE 已被项目暂停、MATERIAL_STATUS_DISABLE 已暂停、MATERIAL_STATUS_PROMOTION_DISABLE 已被广告暂停、MATERIAL_STATUS_MATERIAL_DELETE 已删除
	MaterialStatus enum.MaterialStatus `json:"material_status,omitempty"`
	// VideoHpVisibility 原生广告视频素材主页可见性设置,该参数只针对非抖音视频生效可选值:
	// ALWAYS_VISIBLE 主页始终可见
	// HIDE_AFTER_END_DATE 指定日期后隐藏
	// HIDE_AFTER_NO_PLAYBACK 无播放后隐藏
	// HIDE_VIDEO_ON_HP 主页隐藏(默认值)
	VideoHpVisibility enum.VideoHpVisibility `json:"video_hp_visibility,omitempty"`
	// VisibleEndDate 指定日期后隐藏,传入日期格式2020-01-01,只支持设置当天及以后的日期,精确到天
	// 仅当video_hp_visibility = HIDE_AFTER_END_DATE指定日期后时,可传入visible_end_date参数
	VisibleEndDate string `json:"visible_end_date,omitempty"`
	// GuideVideoID 引导视频id,白名单功能,仅游戏行业广告主投放奖励关卡广告时必填
	// 要求:引导视频时长≥5s,文件≤100M,传入不符合要求的视频广告将无法创建成功。建议您首先调用「上传视频」接口上传引导视频,拿到引导视频的video_id ,video_id = guide_video_id
	GuideVideoID string `json:"guide_video_id,omitempty"`
	// VideoTemplateType 商品库视频生成类型
	VideoTemplateType enum.DpaVideoTemplateType `json:"video_template_type,omitempty"`
	// VideoTaskIDs 自定义商品库视频模板ID
	VideoTaskIDs []string `json:"video_task_ids,omitempty"`
	// IsCarryMaterial 视频素材在当前账户下是否存在搬运打压风险
	// TRUE:存在打压风险
	// FALSE:不存在打压风险
	IsCarryMaterial string `json:"is_carry_material,omitempty"`
	// MaterialOptStatus 视频素材操作状态,枚举值:
	// DISABLE 暂停
	// ENABLE 启用
	MaterialOptStatus enum.OptStatus `json:"material_opt_status,omitempty"`
}

VideoMaterial 视频素材信息

Jump to

Keyboard shortcuts

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