Skip to content

Commit

Permalink
Merge branch 'release/v1.25.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
bububa committed Jun 6, 2024
2 parents 785034e + 895c202 commit bfa31de
Show file tree
Hide file tree
Showing 8 changed files with 203 additions and 2 deletions.
2 changes: 2 additions & 0 deletions marketing-api/OCEANENGINE.md
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,8 @@
- 查询组件列表 [ Get(clt *core.SDKClient, accessToken string, req *creativecomponent.GetRequest) (*creativecomponent.GetResponseData, error) ]
- 事件管理 (api/eventmanger)
- 获取已创建资产列表 [ AssetsGet(clt *core.SDKClient, accessToken string, req *eventmanager.AssetsGetRequest) (*eventmanager.AssetsGetResponseData, error) ]
- 获取账户下资产列表(新) [ AllAssetsList(clt *core.SDKClient, accessToken string, req *eventmanager.AllAssetsListRequest) (*eventmanager.AllAssetsListResult, error) ]
- 获取已创建资产详情(新) [ AllAssetsDetail(clt *core.SDKClient, accessToken string, req *eventmanager.AllAssetsDetailRequest) ([]eventmanager.AssetDetail, error) ]
- 获取可用优化目标 [ EventConvertOptimizedGoalGet(clt *core.SDKClient, accessToken string, req *eventmanager.EventConvertOptimizedGoalGetRequest) (*eventmanager.EventConvertOptimizedGoalGetResponseData, error) ]
- 资产下创建事件 [ EventsCreate(clt *core.SDKClient, accessToken string, req *eventmanager.EventsCreateRequest) error ]
- 创建事件资产 [ AssetsCreate(clt *core.SDKClient, accessToken string, req *eventmanager.AssetsCreateRequest) (uint64, error) ]
Expand Down
23 changes: 23 additions & 0 deletions marketing-api/api/eventmanager/all_assets_detail.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package eventmanager

import (
"github.com/bububa/oceanengine/marketing-api/core"
"github.com/bububa/oceanengine/marketing-api/model/eventmanager"
)

// AllAssetsDetail 获取已创建资产详情(新)
// - 本接口为巨量引擎开放平台2024年6月5日新增接口,接口能力覆盖旧接口「获取已创建资产列表」,且新增支持以下能力:
// - 支持获取橙子落地页TETRIS_EXTERNAL、应用APP类型的资产详情信息
// - 可通过资产ID筛选查询资产详情
//
// - 「获取已创建资产列表」接口即将于8月6日下线,可切换至本接口获取资产详情
// - 应答参数返回的资产范围如下:
// - 仅支持查询账户下创建以及共享中状态、未删除的资产详情,共享失败的资产不支持查询
// - 账户下不返回已删除资产的资产详情信息
func AllAssetsDetail(clt *core.SDKClient, accessToken string, req *eventmanager.AllAssetsDetailRequest) ([]eventmanager.AssetDetail, error) {
var resp eventmanager.AllAssetsDetailResponse
if err := clt.Get("2/tools/event/all_assets/detail/", req, &resp, accessToken); err != nil {
return nil, err
}
return resp.Data.List, nil
}
23 changes: 23 additions & 0 deletions marketing-api/api/eventmanager/all_assets_list.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package eventmanager

import (
"github.com/bububa/oceanengine/marketing-api/core"
"github.com/bububa/oceanengine/marketing-api/model/eventmanager"
)

// AllAssetsList 获取账户下资产列表(新)
// - 本接口为巨量引擎开放平台2024年6月5日新增接口,接口能力覆盖旧接口「获取已创建资产列表」,且新增支持以下能力:
// - 支持获取橙子落地页TETRIS_EXTERNAL、应用APP资产类型信息
// - 可通过资产ID、资产类型以及资产修改时间筛选查询广告主拥有的资产信息
//
// - 「获取已创建资产列表」接口即将于8月6日下线,可切换至本接口获取资产信息
// - 应答参数返回的资产范围如下:
// - 包含账户下创建的资产以及被共享的资产,返回结果与巨量广告平台事件资产列表&详情信息一致
// - 账户下不返回已删除的资产
func AllAssetsList(clt *core.SDKClient, accessToken string, req *eventmanager.AllAssetsListRequest) (*eventmanager.AllAssetsListResult, error) {
var resp eventmanager.AllAssetsListResponse
if err := clt.Get("2/tools/event/all_assets/list/", req, &resp, accessToken); err != nil {
return nil, err
}
return resp.Data, nil
}
13 changes: 13 additions & 0 deletions marketing-api/enum/asset_share_type.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package enum

// AssetShareType 资产来源
type AssetShareType string

const (
// AssetShareType_MY_CREATIONS 我创建的
AssetShareType_MY_CREATIONS AssetShareType = "MY_CREATIONS"
// AssetShareType_SHARING 共享中
AssetShareType_SHARING AssetShareType = "SHARING"
// AssetShareType_SHATE_EXPIRED 共享失效
AssetShareType_SHATE_EXPIRED AssetShareType = "SHATE_EXPIRED"
)
36 changes: 36 additions & 0 deletions marketing-api/model/eventmanager/all_assets_detail.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package eventmanager

import (
"strconv"

"github.com/bububa/oceanengine/marketing-api/model"
"github.com/bububa/oceanengine/marketing-api/util"
)

// AllAssetsDetailRequest 获取已创建资产详情(新) API Request
type AllAssetsDetailRequest struct {
// AdvertiserID 广告主 id
AdvertiserID uint64 `json:"advertiser_id,omitempty"`
// AssetIDs 资产id列表,list长度最长50
// 当账户下不存在该资产id时不会返回详情信息;当资产共享失效时,不会返回详情信息。
AssetIDs []uint64 `json:"asset_ids,omitempty"`
}

// Encode implements GetRequest interface
func (r AllAssetsDetailRequest) Encode() string {
values := util.GetUrlValues()
values.Set("advertiser_id", strconv.FormatUint(r.AdvertiserID, 10))
values.Set("asset_ids", string(util.JSONMarshal(r.AssetIDs)))
ret := values.Encode()
util.PutUrlValues(values)
return ret
}

// AllAssetsDetailResponse 获取已创建资产详情(新) API Response
type AllAssetsDetailResponse struct {
model.BaseResponse
Data struct {
// List 资产列表
List []AssetDetail `json:"list,omitempty"`
} `json:"data,omitempty"`
}
65 changes: 65 additions & 0 deletions marketing-api/model/eventmanager/all_assets_list.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package eventmanager

import (
"strconv"

"github.com/bububa/oceanengine/marketing-api/enum"
"github.com/bububa/oceanengine/marketing-api/model"
"github.com/bububa/oceanengine/marketing-api/util"
)

// AllAssetsListRequest 获取账户下资产列表(新) API Request
type AllAssetsListRequest struct {
// AdvertiserID 广告主ID
AdvertiserID uint64 `json:"advertiser_id,omitempty"`
// Filtering 过滤条件
Filtering *AllAssetsListFilter `json:"filtering,omitempty"`
// Page 页数,默认值`1`,最大值`999999`
Page int `json:"page,omitempty"`
// PageSize 页面大小,默认值`10`,最大值`100`
PageSize int `json:"page_size,omitempty"`
}

type AllAssetsListFilter struct {
// AssetIDs 资产id列表,list长度最大`100`
AssetIDs []uint64 `json:"asset_ids,omitempty"`
// AssetType 资产类型
AssetType enum.AssetType `json:"asset_types,omitempty"`
// ModifyStartTime 按照资产修改时间筛选,开始时间`YYYY-MM-DD`,必须与结束时间搭配传入
// 开始时间必须≤结束时间
ModifyStartTime string `json:"modify_start_time,omitempty"`
// ModifyEndTime 按照资产修改时间筛选,结束时间`YYYY-MM-DD`,必须与开始时间搭配传入
// 开始时间必须≤结束时间
ModifyEndTime string `json:"modify_end_time,omitempty"`
}

// Encode implements GetRequest interface
func (r AllAssetsListRequest) Encode() string {
values := util.GetUrlValues()
values.Set("advertiser_id", strconv.FormatUint(r.AdvertiserID, 10))
if r.Filtering != nil {
values.Set("filtering", string(util.JSONMarshal(r.Filtering)))
}
if r.Page > 0 {
values.Set("page", strconv.Itoa(r.Page))
}
if r.PageSize > 0 {
values.Set("page_size", strconv.Itoa(r.PageSize))
}
ret := values.Encode()
util.PutUrlValues(values)
return ret
}

// AllAssetsListResponse 获取账户下资产列表(新) API Response
type AllAssetsListResponse struct {
model.BaseResponse
Data *AllAssetsListResult `json:"data,omitempty"`
}

type AllAssetsListResult struct {
// PageInfo 分页信息
PageInfo *model.PageInfo `json:"page_info,omitempty"`
// List 资产列表
List []AssetBaseInfo `json:"list,omitempty"`
}
41 changes: 40 additions & 1 deletion marketing-api/model/eventmanager/asset.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,51 @@ package eventmanager

import "github.com/bububa/oceanengine/marketing-api/enum"

// AssetBaseInfo 资产基本数据
// AssetBaseInfo 资产基本数据
type AssetBaseInfo struct {
// AssetID 快应用资产ID
AssetID uint64 `json:"asset_id,omitempty"`
// AssetName 快应用名称
AssetName string `json:"asset_name,omitempty"`
// AssetType 资产类型
AssetType enum.AssetType `json:"asset_type,omitempty"`
// ShareType 资产来源
// MY_CREATIONS 我创建的
// SHARING 共享中
// SHATE_EXPIRED 共享失效
ShareType enum.AssetShareType `json:"share_type,omitempty"`
// CreateTime 资产创建时间,格式`YYYY-MM-DD HH:MM:SS`
CreateTime string `json:"create_time,omitempty"`
// ModifyTime 资产修改时间,格式`YYYY-MM-DD HH:MM:SS`
ModifyTime string `json:"modify_time,omitempty"`
}

// AssetDetail 资产详情
type AssetDetail struct {
AssetBaseInfo
// SiteID 橙子落地页站点id
// 当asset_type = TETRIS_EXTERNAL 时返回,表示该资产是基于哪一个橙子落地页站点创建的,在巨量广告-事件资产页面,橙子落地页显示为该站点id
SiteID uint64 `json:"site_id,omitempty"`
// AppType 应用类型,当asset_type = APP 时返回,枚举值:
// ANDROID 安卓
// IOS ios
AppType string `json:"app_type,omitempty"`
// AppID 应用ID
AppID uint64 `json:"app_id,omitempty"`
// AppName 应用名
AppName string `json:"app_name,omitempty"`
// PackageID 母包ID
PackageID string `json:"package_id,omitempty"`
// PackageName 应用包名
PackageName string `json:"package_name,omitempty"`
// DownloadURL 应用下载链接
DownloadURL string `json:"download_url,omitempty"`
// QuickAppID 快应用ID
QuickAppID uint64 `json:"quick_app_id,omitempty"`
// QuickAppPackageName 快应用包名,当asset_type = QUICK_APP 时返回
QuickAppPackageName string `json:"quick_app_package_name,omitempty"`
// MicroAppID 小程序appid,当asset_type = MINI_PROGRAME 时返回
MicroAppID string `json:"micro_app_id,omitempty"`
}

// LandingPage 三方落地页数据
Expand Down
2 changes: 1 addition & 1 deletion marketing-api/model/v3/project/update.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ type UpdateRequest struct {
// OpenURL Deeplink直达链接
OpenURL string `json:"open_url,omitempty"`
// UlinkURL ulink直达链接
UlinkURL string `json:"urlink_url,omitempty"`
UlinkURL string `json:"ulink_url,omitempty"`
// DpaCategories 商品投放范围,分类列表,由【DPA商品广告-获取DPA分类】 得到
// 个数限制 [0, 1000]
// 不传和传空数组即为不限商品投放范围
Expand Down

0 comments on commit bfa31de

Please sign in to comment.