promotion

package
v1.30.5 Latest Latest
Warning

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

Go to latest
Published: Dec 25, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package promotion 广告管理模块

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CreateRequest

type CreateRequest struct {
	// LocalAccountID 本地推广告账户ID
	LocalAccountID uint64 `json:"local_account_id,omitempty"`
	// ProjectID 项目ID
	ProjectID uint64 `json:"project_id,omitempty"`
	// Name 广告名称,长度是1-50个字(两个英文字符占1个字)
	Name string `json:"name,omitempty"`
	// EnableGraphicDelivery 是否开启团购卡
	// 仅当项目marketing_goal = VIDEO_IMAGE 短视频/图文 && external_action = OTO_PAY 团购购买/POI_RECOMMEND 门店引流时 ,有效且必传
	EnableGraphicDelivery bool `json:"enable_graphic_delivery,omitempty"`
	// AwemeID 用于推广的抖音号id
	// 当营销场景为短视频,且选择素材库和上传视频投广时,该字段必填
	AwemeID string `json:"aweme_id,omitempty"`
	// VideoHpVisibility 主页视频是否可见,默认单次展示可见
	// ALWAYS_VISIBLE 主页始终可见
	// HIDE_VIDEO_ON_HP 仅单次展示可见(默认值)
	// 仅针对素材库和上传视频生效
	VideoHpVisibility enum.VideoHpVisibility `json:"video_hp_visibility,omitempty"`
	// LiveMaterialType 直播素材类型设置 可选值:
	// LIVE 直播间画面
	// VIDEO 短视频
	// 注意:当项目营销场景为直播间时,有效且必传。直播场景下仅支持设置其一,当选择直播间画面时,不支持传入customer_material_list
	LiveMaterialType enum.MarketingGoal `json:"live_material_type,omitempty"`
	// CustomerMaterialList 视频素材列表
	// 推直播:live_material_type=VIDEO短视频时必填,live_material_type=LIVE时不支持传入,传入会报错;
	// 推短视频:未开启团购卡时,视频素材必传;开启团购卡时,可根据是否需要推广短视频素材选择传入
	CustomerMaterialList []CustomerMaterial `json:"customer_material_list,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 CustomerMaterial

type CustomerMaterial struct {
	// ImageMode 素材类型 可选值:
	// IMAGE_MODE_VIDEO 横版视频
	// IMAGE_MODE_VIDEO_VERTICAL 竖版视频
	ImageMode local.ImageMode `json:"image_mode,omitempty"`
	// TitleMaterial 标题素材
	// 仅针对素材库视频生效且必填,即传入video_id时,该字段生效且必填
	// 当传入item_id时,以抖音主页视频的标题为主,该字段不生效
	TitleMaterial *TitleMaterial `json:"title_material,omitempty"`
	// VideoMaterial 视频素材
	VideoMaterial *VideoMaterial `json:"video_material,omitempty"`
}

CustomerMaterial 视频素材列表

type DetailRequest

type DetailRequest struct {
	// LocalAccountID 本地推广告账户ID
	LocalAccountID uint64 `json:"local_account_id,omitempty"`
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
}

DetailRequest 获取广告详情 API Request

func (DetailRequest) Encode

func (r DetailRequest) Encode() string

Encode implements GetRequest interface

type DetailResponse

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

DetailResponse 获取广告详情 API Response

type ListFilter

type ListFilter struct {
	// PromotionIDs 按广告IDs筛选,单次最多100个
	PromotionIDs []uint64 `json:"promotion_ids,omitempty"`
	// PromotionName 按广告名称模糊搜索
	PromotionName string `json:"promotion_name,omitempty"`
	// ProjectID 项目ID筛选
	ProjectID uint64 `json:"project_id,omitempty"`
	// PromotionStatusFirst 广告一级状态过滤,默认不限(不包含已删除),允许值:
	// PROMOTION_STATUS_ALL 不限(包含已删除)
	// PROMOTION_STATUS_DELETED 已删除:
	// PROMOTION_STATUS_DISABLE 未投放
	// PROMOTION_STATUS_DONE 已完成
	// PROMOTION_STATUS_ENABLE 投放中
	// PROMOTION_STATUS_FROZEN 已终止
	// PROMOTION_STATUS_NOT_DELETE 不限(不包含已删除)
	// 默认值: PROMOTION_STATUS_NOT_DELETE
	PromotionStatusFirst local.PromotionStatusFirst `json:"promotion_status_first,omitempty"`
	// PromotionStatusSecond 广告二级状态过滤,允许值:
	// 仅当promotion_status_first=PROMOTION_STATUS_DISABLE未投放时传入有效且必填,不传会报错;其他情况下传入该字段无效。
	// AUDIT_DENY 审核不通过
	// AUDIT 新建审核中
	// REAUD/IT 修改审核中
	// 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 直播间不可投放
	// AWEME_ACCOUNT_DISABLED 抖音账号不可投放
	// PRODUCT_OR_POI_OFFLINE 商品/门店不可投
	PromotionStatusSecond local.PromotionStatusSecond `json:"promotion_status_second,omitempty"`
	// AdType 广告类型筛选,默认不限,允许值:
	// ALL 不限
	// GENERAL 通投广告
	// SEARCHING 搜索广告
	// 默认值: ALL
	AdType local.AdType `json:"ad_type,omitempty"`
	// MarketingGoal 营销场景筛选,默认不限,允许值:
	// ALL 不限
	// LIVE 直播
	// VIDEO_IMAGE 短视频/图文
	// 默认值: ALL
	MarketingGoal local.MarketingGoal `json:"marketing_goal,omitempty"`
	// PromotionCreateTimeStart 广告创建开始时间,格式yyyy-MM-dd HH:mm:ss与time_end搭配使用
	PromotionCreateTimeStart string `json:"promotion_create_time_start,omitempty"`
	// PromotionCreateTimeEnd 广告创建结束时间,格式yyyy-MM-dd HH:mm:ss与time_start搭配使用
	PromotionCreateTimeEnd string `json:"promotion_create_time_end,omitempty"`
	// PromotionModifyTimeStart 广告更新开始时间,格式yyyy-MM-dd HH:mm:ss与time_end搭配使用
	PromotionModifyTimeStart string `json:"promotion_modify_time_start,omitempty"`
	// PromotionModifyTimeEnd 广告更新结束时间,格式yyyy-MM-dd HH:mm:ss与time_start搭配使用
	PromotionModifyTimeEnd string `json:"promotion_modify_time_end,omitempty"`
	// RejectReasonType 审核建议类型筛选,默认不限,允许值:
	// ALL 不限
	// NONE 无建议
	// LOW_MATERAIL 低俗素材
	// QUALITY_POOR 素材质量低
	//  EXAGGERATION 夸大宣传
	// ELSE 其他
	// DISCOMFORT 引人不适
	// REVIEW_REJECT 审核不通过
	// 默认值: ALL
	RejectReasonType enum.PromotionRejectReasonType `json:"reject_reason_type,omitempty"`
	// LearningPhase 学习期状态筛选,默认不限,允许值:
	// ALL 不限
	// LEARNED 学习期结束
	// LEARNING 学习中
	// LEARN_FAILED 学习失败
	//  默认值: ALL
	LearningPhase enum.LearningPhase `json:"learning_phase,omitempty"`
	// BudgetMode 预算类型筛选,默认不限,允许值:
	// ALL 不限
	// BUDGET_MODE_DAY 日预算
	// BUDGET_MODE_TOTAL 总预算
	//  默认值: ALL
	BudgetMode enum.BudgetMode `json:"budget_mode,omitempty"`
	// BidType 出价方式筛选,默认不限,允许值:
	// ALL 不限
	// MANUAL 手动出价
	// SMART 智能出价
	//  默认值: ALL
	BidType local.BidType `json:"bid_type,omitempty"`
}

type ListRequest

type ListRequest struct {
	// LocalAccountID 本地推广告账户ID
	LocalAccountID uint64 `json:"local_account_id,omitempty"`
	// Filtering 筛选项
	Filtering *ListFilter `json:"filtering,omitempty"`
	// Page 页码,默认值1
	Page int `json:"page,omitempty"`
	// PageSize 页面大小,最大值100,默认10
	PageSize int `json:"page_size,omitempty"`
}

ListRequest 获取广告列表 API Request

func (ListRequest) Encode

func (r ListRequest) Encode() string

Encode implements GetRequest interface

type ListResponse

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

ListResponse 获取广告列表 API Response

type ListResult

type ListResult struct {
	// PageInfo 分页信息
	PageInfo *model.PageInfo `json:"page_info,omitempty"`
	// PromotionList 广告列表
	Promotion []Promotion `json:"promotion_list,omitempty"`
}

type Promotion

type Promotion struct {
	// ProjectID 项目ID
	ProjectID uint64 `json:"project_id,omitempty"`
	// LocalAccountID 广告主ID
	LocalAccountID uint64 `json:"local_account_id,omitempty"`
	// AdType 广告类型,枚举值:
	// GENERAL 通投广告
	// SEARCHING 搜索广告
	AdType local.AdType `json:"ad_type,omitempty"`
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// PromotionName 广告名称
	PromotionName string `json:"promotion_name,omitempty"`
	// PromotionCreateTime 广告创建时间,格式yyyy-MM-dd HH:mm:ss
	PromotionCreateTime string `json:"promotion_create_time,omitempty"`
	// PromotionModifyTime 广告修改时间,格式yyyy-MM-dd HH:mm:ss
	PromotionModifyTime string `json:"promotion_modify_time,omitempty"`
	// PromotionStatusFirst 广告一级状态
	PromotionStatusFirst local.PromotionStatusFirst `json:"promotion_status_first,omitempty"`
	// PromotionStatusSecond 广告二级状态
	PromotionStatusSecond []local.PromotionStatusSecond `json:"promotion_status_second,omitempty"`
	// LearningPhase 学习期状态,枚举值:
	// LEARNED 学习期结束
	// LEARNING 学习中
	// LEARN_FAILED 学习失败
	LearningPhase enum.LearningPhase `json:"learning_phase,omitempty"`
	// AwemeID 抖音号
	AwemeID string `json:"aweme_id,omitempty"`
	// AwemeName 抖音号昵称
	AwemeName string `json:"aweme_name,omitempty"`
}

Promotion 广告

type PromotionDetail

type PromotionDetail struct {
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// AwemeID 抖音号
	AwemeID string `json:"aweme_id,omitempty"`
	// EnableGraphicDelivery 是否开启团购卡
	EnableGraphicDelivery bool `json:"enable_graphic_delivery,omitempty"`
	// VideoHpVisibility 视频曝光
	VideoHpVisibility enum.VideoHpVisibility `json:"video_hp_visibility,omitempty"`
	// LiveMaterialType 直播素材类型,枚举值:
	// LIVE 直播素材
	// VIDEO 广告素材
	LiveMaterialType enum.MarketingGoal `json:"live_material_type,omitempty"`
	// CustomerMaterialList 自定义素材组合
	CustomerMaterialList []CustomerMaterial `json:"customer_material_list,omitempty"`
}

PromotionDetail 广告详情

type StatusUpdateItem

type StatusUpdateItem struct {
	// PromotionID 广告id
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// OptStatus 目标操作
	// 目标操作,可选值:
	// ENABLE 启用广告
	// PAUSED 暂停广告
	// 对于删除的广告广告不可进行任何操作,否则会报错
	OptStatus string `json:"opt_status,omitempty"`
}

StatusUpdateItem 批量更新广告

type StatusUpdateRequest

type StatusUpdateRequest struct {
	// LocalAccountID 本地推广告账户ID
	LocalAccountID uint64 `json:"local_account_id,omitempty"`
	// Data 批量更新广告状态,包含广告ID和目标操作,list长度限制1~50
	Data []StatusUpdateItem `json:"data,omitempty"`
}

StatusUpdateRequest 批量更新广告状态 API Request

func (StatusUpdateRequest) Encode

func (r StatusUpdateRequest) Encode() []byte

Encode implements PostRequest interface

type StatusUpdateResponse

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

StatusUpdateResponse 批量更新广告状态 API Response

type TitleMaterial

type TitleMaterial struct {
	// Title 标题,标题长度要求5-55个字(两个英文字符占1个字)
	Title string `json:"title,omitempty"`
	// LegoMaterialID 标题素材库id
	LegoMaterialID uint64 `json:"lego_material_id,omitempty"`
	// MaterialID 标题素材id
	MaterialID uint64 `json:"material_id,omitempty"`
}

TitleMaterial 标题素材

type UpdateError

type UpdateError struct {
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// ErrorMessage 失败信息
	ErrorMessage string `json:"error_message,omitempty"`
}

UpdateError 更新失败的广告列表

func (UpdateError) Error

func (e UpdateError) Error() string

type UpdateRequest

type UpdateRequest struct {
	// LocalAccountID 本地推广告账户ID
	LocalAccountID uint64 `json:"local_account_id,omitempty"`
	// PromotionID 广告ID
	PromotionID uint64 `json:"promotion_id,omitempty"`
	// Name 广告名称,长度是1-50个字(两个英文字符占1个字)
	Name string `json:"name,omitempty"`
	// AwemeID 用于推广的抖音号id
	// 当营销场景为短视频,且选择素材库和上传视频投广时,该字段必填
	AwemeID string `json:"aweme_id,omitempty"`
	// VideoHpVisibility 主页视频是否可见,默认单次展示可见
	// ALWAYS_VISIBLE 主页始终可见
	// HIDE_VIDEO_ON_HP 仅单次展示可见(默认值)
	// 仅针对素材库和上传视频生效
	VideoHpVisibility enum.VideoHpVisibility `json:"video_hp_visibility,omitempty"`
	// CustomerMaterialList 视频素材列表
	// 推直播:live_material_type=VIDEO短视频时必填,live_material_type=LIVE时不支持传入,传入会报错;
	// 推短视频:未开启团购卡时,视频素材必传;开启团购卡时,可根据是否需要推广短视频素材选择传入
	CustomerMaterialList []CustomerMaterial `json:"customer_material_list,omitempty"`
}

UpdateRequest 更新广告 API Request

func (UpdateRequest) Encode

func (r UpdateRequest) Encode() []byte

Encode implement PostRequest interface

type UpdateResult

type UpdateResult struct {
	// PromotionIDs 更新成功的广告ID
	PromotionIDs []uint64 `json:"promotion_ids,omitempty"`
	// Errors 更新失败的广告列表
	Errors []UpdateError `json:"errors,omitempty"`
}

type VideoMaterial

type VideoMaterial struct {
	// VideoID 视频ID
	VideoID string `json:"video_id,omitempty"`
	// CoverWebURL 封面图片URI
	CoverWebURL string `json:"cover_web_url,omitempty"`
	// AwemeItemID 抖音短视频ID,推广抖音主页视频时传入
	// 注意:如果视频为抖音主页视频,则该字段必填
	// 如果和video_id同时传,以aweme_item_id为准
	AwemeItemID uint64 `json:"aweme_item_id,omitempty"`
	// LegoMaterialID 视频素材库id
	LegoMaterialID uint64 `json:"lego_material_id,omitempty"`
	// MaterialID 视频素材id
	MaterialID uint64 `json:"material_id,omitempty"`
	// ImageMode 素材类型,枚举值:
	// IMAGE_MODE_VIDEO 横版视频
	// IMAGE_MODE_VIDEO_VERTICAL 竖版视频
	ImageMode local.ImageMode `json:"image_mode,omitempty"`
	// VideoDuration 视频长度
	VideoDuration int64 `json:"video_duration,omitempty"`
	// VideoHeight 视频高度
	VideoHeight int64 `json:"video_height,omitempty"`
	// VideoWidth 视频宽度
	VideoWidth int64 `json:"video_width,omitempty"`
	// VideoPlayURL 视频播放链接
	VideoPlayURL string `json:"video_play_url,omitempty"`
	// CoverImageHeight 封面图片高度
	CoverImageHeight int64 `json:"cover_image_height,omitempty"`
	// CoverImageWidth 封面图片宽度
	CoverImageWidth int64 `json:"cover_image_width,omitempty"`
	// CoverWebURI 封面图片uri
	CoverWebURI string `json:"cover_web_uri,omitempty"`
}

VideoMaterial 视频素材

Jump to

Keyboard shortcuts

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