Skip to main content

开发者后台管理API

1 获取Api Key#

登录后台,点击公司名称,进入“我的账号”,“API Key”,获取API Key和秘钥。

名称用途
API Key(bear)标识用户身份
密钥(secret)生成请求签名

2 API接入#

所有请求都采用post方式,POST请求数据默认格式为:multipart/form-data;请求域名为:https://openapi.tradplusad.com

2.1 请求公参#

参数说明传递方式样例
bearAPI keyHTTP Header157E4A5D-3877-1236-DE06-457FT3F70C4
sign签名GET5DE008C88087D8556D276A9E5B8E37E6
timestamp时间戳,当前时间的秒数GET1629525680
nonce16位长度随机字符,数字与字母组合GET5c672d4e9628d0a7

2.2 生成签名#

获取bear和secret,参考 1 获取Api Key

具体规则如下:

  1. 拼接secret, timestamp, nonce和请求路径
  2. md5加密并且转换为大写
$sign = strtoupper(md5($secret+$timestamp+$nonce+$path));

2.3 调用示例#

curl --location --request POST 'https://openapi.tradplusad.com/api/seat/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--form 'adseat_list[0][app_uuid]="BA04D9C5A5E736CCDA8003BC5D936BE5"' \
--form 'adseat_list[0][seat_name]="test创建"' \
--form 'adseat_list[0][ad_type]="5"' \
--form 'adseat_list[0][adseat_uuid]=""'

2.4 返回参数#

返回json格式

2.4.1 成功#

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "8629EE09A4E3C6B60AEC48FA7D6CA4D4",
"seat_name": "test创建",
"error_message": ""
}
]
}
}

2.4.2 失败#

{
"code": 403,
"status": -1,
"error_message":"sign error"
}

3 报表#

3.1 提交三方广告平台报表数据#

请求路径: /api/report/submit

请求参数

字段类型必传说明备注
report_data_listArrayY最多10个超过会被丢弃
report_data_list.dayStringY日期,仅支持到天Y-m-d格式 示例:2021-02-01
report_data_list.isoStringY国家二位码(短码) 示例:GE 见:8.1
report_data_list.adsource_idIntYtradplus广告平台ID 见:8.2
report_data_list.placement_idStringY三方广告平台广告位ID Mintegral需要用 "_" 拼接AD Unit ID
Unity_Ads需要拼接Game ID
Applovin需要拼接SDK Key
Kidoz需要拼接应用的包名package_name
ReklamUp需要拼接应用的包名package_name
示例:placementID_adUnitID
report_data_list.currencyStringN币种单位CNY或USD,不传默认CNY 
report_data_list.bidding_requestIntN竞价请求 默认 0
report_data_list.bidding_responseIntN竞价响应默认 0
report_data_list.requestIntN请求默认 0
report_data_list.fillIntN填充默认 0
report_data_list.impressionIntN展示默认 0
report_data_list.clickIntN点击默认 0
report_data_list.incomeFloatN收入默认 0

返回字段

字段类型必传说明
errorArrayY错误信息列表
error.messageStringN错误信息
error.report_dataArrayN错误信息详情(同请求数据)

返回样例:

{
"code": 200,
"status": 0,
"data": {
"error": [
{
"message": "国家二位码(短码) 缺失或者错误",
"report_data": {
"day": "2022-01-18",
"iso": "USA",
"adsource_id": "16",
"placement_id": "abc123",
"currency": "CNY",
"income": "50",
"fill": "800"
}
},
{
"message": "广告网络ID 缺失或者错误",
"report_data": {
"day": "2022-01-19",
"iso": "CN",
"adsource_id": "475",
"placement_id": "22",
"currency": "CNY",
"income": "20",
"fill": "600",
"impression": "100"
}
}
]
}
}

4 应用管理#

4.1 获取应用分类#

请求路径: /api/app/allcategory

请求参数:无

返回字段

字段类型必传说明
first_categoryArrayY一级分类
first_category.idStringY分类id
first_category.name_cnStringY中文名
first_category.name_enStringY英文名
sub_categoryArrayY二级分类
sub_category.idStringY二级分类id
sub_category.pidStringY对应的一级分类id
sub_category.name_cnStringY中文名
sub_category.name_enStringY英文名

返回样例:

{
"code": 200,
"status": 0,
"data": {
"first_category": [
{
"id": "1",
"name_cn": "游戏",
"name_en": "Game"
},
{
"id": "2",
"name_cn": "应用",
"name_en": "App"
}
],
"sub_category": [
{
"id": "101",
"name_cn": "动作",
"name_en": "Action",
"pid": "1"
},
{
"id": "102",
"name_cn": "冒险",
"name_en": "Adventure",
"pid": "1"
}
...
]
}
}

4.2 获取应用#

请求路径: /api/app/apps

请求参数

如果传了app_uuids则忽略page,只有在app_uuids不传的情况下才返回has_more和total

字段类型必传说明备注
app_uuidsStirngN应用ID每次最多接受100个
pageIntN页数 默认1 每页100条

返回字段

字段类型必传说明备注
totalIntN总数
has_moreIntN是否还有更多
app_listArrayY应用信息
app_list.app_uuidStringY开发者应用ID
app_list.app_nameStringY应用名称
app_list.category_idIntY二级分类
app_list.app_urlStringY应用商店链接
app_list.package_nameStringY应用包名
app_list.osIntY应用平台1:安卓 2:iOS
app_list.is_releaseIntY是否上架1:未上架 2:已上架

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/app/apps?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"app_uuids":"348FA2C4CFA91471D09DC529EAB1459E","page":1}'

返回样例

{
"code": 200,
"status": 0,
"data": {
"has_more": 0,
"total": 25,
"app_list": [
{
"app_uuid": "A741926221D7FEFBCB179D08B4477713",
"app_name": "test1",
"os": 1,
"is_release": 2,
"package_name": "com.test1",
"app_url": "http://www.test1.com",
"category_id": 102
},
{
"app_uuid": "4F1E43B002376A505FFFB03F04C170E5",
"app_name": "test2",
"os": 1,
"is_release": 2,
"package_name": "com.test.4iphone",
"app_url": "http://www.test2.com",
"category_id": 111
},
...
]
}
}

4.3 创建和编辑应用#

请求路径: /api/app/store

请求参数

字段类型必传说明备注
app_listArrayYapp信息每次最多10个,超过会被丢弃
app_list.app_uuidStringN开发者应用ID 编辑必传
app_list.app_nameStringN应用名称 编辑必传
app_list.osIntN应用平台 1:安卓 2:iOS 创建后不可编辑
app_list.package_nameStringN应用包名 创建必传
app_list.app_urlStringN应用商店链接 注意:仅ios适用。
如果传了表示应用已经上架,会自动使用上架的app信息。
所以此时app_name,package_name可以不传,
如果传了则会覆盖。
app_list.category_idIntN分类参考 3.1 获取应用分类 创建必传
app_list.directionIntN屏幕方向 1-竖屏 2-横屏 0-自适应

返回字段

字段类型必传说明
listArrayY应用信息
list.app_uuidStirngN开发者应用ID
list.app_nameStirngN应用名称
list.error_messageStirngN错误信息,空字符表示成功

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/app/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"app_list":[{"app_uuid":"","app_name":"API\u5e94\u7528","os":1,"package_name":"api","app_url":"","category_id":101,"direction":1}]}'

返回样例

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"app_uuid": "",
"app_name": "a1",
"error_message": "应用名称已存在"
},
{
"app_uuid": "A741926221D7FEFBCB179D08B4477713",
"app_name": "test1",
"error_message": ""
}
]
}
}

5 广告位管理#

5.1 获取广告位#

请求路径: /api/seat/seats

请求参数

字段类型必传说明备注
app_uuidStirngN单个应用ID,可以获取某个应用下的所有广告位app_uuid和adseat_uuid 互斥 都传只取app_uuid
adseat_uuidsStringN广告位ID,多个逗号分割, 最多返回100 
pageStringN页数 默认1  每页100条

返回字段

字段类型必传说明备注
has_moreIntN
totalIntN
adseat_listArrayY
adseat_list.app_uuidStringY开发者应用ID
adseat_list.seat_nameStringY广告位名称
adseat_list.adseat_uuidStringY广告位ID
adseat_list.cache_numIntY并行请求数
adseat_list.ad_typeIntY广告类型:
1 原生
2 插屏
3 开屏
4 横幅
5 激励视频
adseat_list.use_frequencyIntY是否设置展示频次上线:1 是 0 否
adseat_list.frequency_limitIntY展示数上限 
adseat_list.frequency_unit_countIntY单位间隔
adseat_list.frequency_unitIntY次数单位:1 分钟 2 小时 3 天eg:
每5(frequency_unit_count)
分钟 (frequency_unit)
展示10次(frequency_limit)
adseat_list.ad_type_templateIntN原生模版类型 标准原生: 1
原生横幅: 2
Draw信息流: 3
原生开屏: 4
原生类型返回
adseat_list.refresh_timeIntN刷新时间原生横幅,横幅返回
adseat_list.skip_timeIntNn 秒后显示跳过按钮开屏,原生开屏类型返回
adseat_list.countdown_timeIntN倒计时总时长开屏,原生开屏类型返回
adseat_list.is_skipIntN是否可跳过开屏,原生开屏字类型返回
adseat_list.monetary_nameStringN奖励项目激励视频类型返回
adseat_list.monetaryIntN奖励数量激励视频类型返回

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/seat/seats?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"app_uuid":"348FA2C4CFA91471D09DC529EAB1459E", "adseat_uuids":"","page":1}'

返回样例

{
"code": 200,
"status": 0,
"data": {
"has_more": 0,
"total": 58,
"adseat_list": [
{
"app_uuid": "A741926221D7FEFBCB179D08B4477713",
"seat_name": "cp1",
"adseat_uuid": "E1FF0FF0BFF1EBDB61C0FED50E66229D",
"ad_type": 2,
"cache_num": 2,
"use_frequency": 0,
"frequency_limit": 0,
"frequency_unit_count": 0,
"frequency_unit": 0
},
{
"app_uuid": "1BCEFCAD3011A276134CC6225E724064",
"seat_name": "bzys",
"adseat_uuid": "D202406D331F32A5BBD1231065BAD7A0",
"ad_type": 1,
"cache_num": 2,
"use_frequency": 0,
"frequency_limit": 0,
"frequency_unit_count": 0,
"frequency_unit": 0,
"ad_type_template": 1
},
...
]
}
}

5.2 创建和编辑广告位#

请求路径: /api/seat/store

请求参数

字段类型必传说明备注
adseat_listArrayY最多10个超过会被丢弃
adseat_list.app_uuidStringY开发者应用ID开发者应用ID ,创建后不可编辑。
adseat_list.seat_nameStringY广告位名称 创建必传
adseat_list.adseat_uuidStringN广告位ID 编辑必传
adseat_list.cache_numIntN广告并行请求数, 默认2创建必传 开屏范围:1~5 其他范围:1~20
adseat_list.ad_typeIntY广告类型:
1 原生
2 插屏
3 开屏
4 横幅
5 激励视频
广告类型,创建必传,创建后不可编辑。
adseat_list.use_frequencyIntN是否设置展示频次上线:默认否1 是 0 否
adseat_list.frequency_limitIntN展示数上限 n 次展示,默认 1 
adseat_list.frequency_unit_countIntN单位间隔, 默认 1 
adseat_list.frequency_unitIntN次数单位, 分钟:1 小时: 2 天:3 默认 1
adseat_list.ad_type_templateIntN1 标准原生
2 原生横幅
3 Draw信息流
4 原生拼接开屏
创建原生类型必传,创建后不可编辑。
adseat_list.refresh_timeIntN自动刷新,范围:15~150秒仅对横幅与原生横幅生效
可以不传,表示不刷新
adseat_list.skip_timeIntNn 秒后显示跳过按钮
范围:0~10秒 默认为2
创建开屏与原生开屏必传,仅对开屏与原生开屏生效
adseat_list.countdown_timeIntN倒计时总时长
范围:3~10秒, 默认 5
创建开屏与原生开屏必传
仅对开屏与原生开屏生效
倒计时总时长必须大于skip_time
adseat_list.is_skipIntN是否可跳过,1是 0否, 默认是创建开屏与原生开屏必传,仅对开屏与原生开屏生效
adseat_list.monetary_nameStringN奖励项目仅对激励视频生效
adseat_list.monetaryIntN奖励数量仅对激励视频生效

返回字段

字段类型必传说明备注
listArrayY
list.adseat_uuidStringY
list.seat_nameStringY
list.error_messageStringY错误信息,空字符表示成功

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/seat/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"adseat_list":[{"app_uuid":"BA04D9C5A5E736CCDA8003BC5D936BE5","seat_name":"API\u521b\u5efa","ad_type":"5","adseat_uuid":""}]}'

返回样例

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "9D0A151A3B9169369CB75873FD86713E",
"seat_name": "test原生横幅",
"error_message": ""
},
{
"adseat_uuid": "",
"seat_name": "",
"error_message": "应用id必填"
}
]
}
}

6 中介组管理#

6.1 查询中介组广告源列表#

请求路径: /api/intermediary/group_placements

请求参数

字段类型必传说明
currencyStringY货币单位,USD或CNY
adseat_uuidStringY广告位uuid
bucket_idIntNAB分组id
group_idIntN中介组id

返回字段

字段类型必传说明
adseat_uuidStringY
bucket_idStringYAB分组id
group_idStringY中介组id
placement_listArrayY中介组广告源列表
placement_list.bucket_idObjYAB分组id
placement_list.bucket_id.group_idObjY中介组id
placement_list.bucket_id.group_id.header_bidding_listArrayNHeaderBidding区域
placement_list.bucket_id.group_id.auto_optimization_listArrayN按价格排序区域
placement_list.bucket_id.group_id.manual_sorting_listArrayN手动序区域
placement_list.bucket_id.group_id.low_priority_listArrayN低优先级区域
placement_list.bucket_id.group_id.closed_listArrayN在中介组关闭的广告源
对应列表内容:
idStringY中介组广告源id
statusStringY中介组广告源状态 1开启 0关闭
adsource_idStringY广告网络id
group_idStringY中介组id
group_nameStringY中介组名称
bucket_idStringYAB分组id数组
bucket_nameStringYAB分组名称
is_header_biddingStringY是否开启Header Bidding 1 是 0 否
is_auto_priceStringY是否开启自动价格 1 开启 2 关闭
ecpm_forcastStringY预测ecpm
rateStringY排序价格
fequency_capping_dayStringY频次配置,展示上限(每天)
frequency_capping_hourStringY频次配置,展示上限(每小时)
fequency_capping_minStringY频次配置,展示上限(每分钟)
sdk_request_timeoutStringYSDK请求广告超时时长
request_interval_statusStringY请求间隔控制,1 开启 2 关闭
request_no_fill_numStringY请求间隔控制,连续无填充次数
request_intervalStringY请求间隔控制,请求间隔,单位秒
auto_optimizationStringY排序区域 1 按价格排序 2 手动排序 3 低优先级

返回样例:

{
"code": 200,
"status": 0,
"data": {
"adseat_uuid": "08056F3650B0B65B79714A1482FE5EEE",
"group_id": "",
"bucket_id": "",
"placement_list": {
"0": {
"0": {
"auto_optimization_list": {
"0": {
"id": "157751",
"status": "1",
"adsource_id": "16",
"group_id": "0",
"group_name": "默认组",
"bucket_id": "0",
"bucket_name": "",
"is_header_bidding": "0",
"is_auto_price": "1",
"ecpm_forcast": "",
"rate": "3",
"fequency_capping_day": "",
"frequency_capping_hour": "",
"fequency_capping_min": "",
"sdk_request_timeout": "10",
"request_interval_status": "",
"request_no_fill_num": "",
"request_interval": "",
"auto_optimization": "1"
}
}
},
"2396": {
"auto_optimization_list": {
"0": {
"id": "157801",
"status": "1",
"adsource_id": "16",
"group_id": "2396",
"group_name": "cn 组",
"bucket_id": "0",
"bucket_name": "",
"is_header_bidding": "0",
"is_auto_price": "1",
"ecpm_forcast": "",
"rate": "3",
"fequency_capping_day": "2",
"frequency_capping_hour": "1",
"fequency_capping_min": "3",
"sdk_request_timeout": "10",
"request_interval_status": "1",
"request_no_fill_num": "3",
"request_interval": "180",
"auto_optimization": "1"
}
}
}
}
}
}
}

6.2 批量修改广告源在中介组的属性(需要开启新AB测试权限)#

请求路径: /api/intermediary/update_group_placement

请求参数

字段类型必传说明备注
currencyStringY币种单位 CNY或USD
placement_listArrayY中介组广告源数组一次最多10个
placement_list.idIntY中介组广告源id
placement_list.sdk_request_timeoutIntNSDK请求广告超时时长
placement_list.fequency_capping_dayIntN频次配置,展示上限(每天)
placement_list.frequency_capping_hourIntN频次配置,展示上限(每小时)
placement_list.fequency_capping_minIntN频次配置,展示上限(每分钟)
placement_list.request_interval_statusIntN请求间隔控制 1 开启 2 关闭
placement_list.request_no_fill_numIntN请求间隔控制 连续无填充次数
placement_list.request_intervalIntN请求间隔控制 求间隔,单位秒
placement_list.is_auto_priceIntN是否开启自动价格 1 开启 2 关闭
placement_list.rateIntN排序价格 可选范围0.01 - 10000

返回字段

字段类型必传说明
dataArrayY
data.placement_idIntY中介组广告源id
data.error_messageStringY错误信息

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 157651,
"error_message": ""
},
{
"placement_id": 157652,
"error_message": ""
},
{
"placement_id": 122,
"error_message": "广告源错误"
}
]
}

6.3 开启或关闭中介组广告源#

请求路径: /api/intermediary/on_off_placement

请求参数

字段类型必传说明备注
statusIntY状态 1 启用 0 停用
placement_id_listArrayY中介组广告源id数组一次最多10个
placement_id_list.idIntY中介组广告源id

返回字段

字段类型必传说明
dataArrayY
data.placement_idIntY中介组广告源id
data.error_messageStringY错误信息

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 157651,
"error_message": ""
},
{
"placement_id": 157652,
"error_message": ""
},
{
"placement_id": 122,
"error_message": "广告源错误"
}
]
}

7 广告源管理#

7.1 查询广告网络授权信息#

请求路径: /api/PlacementApiToken/api_tokens

请求参数:无

返回字段

字段类型必传说明
dataArrayY
data.api_token_idIntY网络授权id
data.account_nameStringY账号名称
data.adsource_idIntY广告网络id
data.is_openIntY是否开通 1 是 0 否

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"id": 1466,
"account_name": "默认账号",
"adsource_id": 17,
"is_open": 0
},
{
"id": 2796,
"account_name": "默认账号",
"adsource_id": 43,
"is_open": 0
}
]
}

7.2 查询广告源信息#

请求路径: /api/placement/placements

请求参数

字段类型必传说明备注
currencyStringY币种单位 CNY或USD
placement_idsStringN广告源id逗号分割, 最多100个
adsource_idsStringN广告网络id逗号分割
app_uuidsStringN应用id逗号分割, 最多100个
adseat_uuidsStringN广告位id逗号分割, 最多100个
fieldsStringN需要返回的字段默认所有
pageIntN页数 默认1每页100条

返回字段

字段类型必传说明
has_moreIntY是否还有更多 1 是 0 否
placementsArrayY
placements.placement_idString广告源id
placements.nameString广告源名称
placements.adsource_idString广告网络id
placements.is_header_biddingString是否开启Header Bidding
placements.placement_configJson广告位参数配置demo:
{"appId":"5175107","placementId":"946159096","adsource_type": "1"}
placements.api_token_idString授权id
placements.account_nameString授权账号名称
placements.app_uuidString应用ID
placements.app_nameString应用名称
placements.osString应用系统 1 Android 2 ios
placements.adseat_uuidString广告位uuid
placements.seat_nameString广告位名称
placements.ad_typeString广告位类型
placements.intermediary_groupArray中介组广告源信息 参考6.1

返回样例:

{
"code": 200,
"status": 0,
"data": {
"placements": [
{
"placement_id": "23399",
"name": "Pangle(cn)_int_1",
"adsource_id": "17",
"is_header_bidding": "0",
"placement_config": {
"appId": "5175107",
"placementId": "946159096",
"adsource_type": "1",
"app_download_setup": "0",
"popconfirm": "0",
"is_template_rendering": "1"
},
"api_token_id": "1466",
"account_name": "默认账号",
"app_uuid": "6B5AE472641DB544632AE2E84F952658",
"app_name": "火柴人大乱斗",
"os": "1",
"adseat_uuid": "6ECF7327CD62D9BAC9965FC57CC27249",
"seat_name": "插屏广告",
"ad_type": "2",
"currency": "USD",
"intermediary_gorup": [
{
"id": "33489",
"status": "1",
"group_id": "0",
"group_name": "默认组",
"bucket_id": "0",
"bucket_name": "",
"is_auto_price": "1",
"ecpm_forcast": "",
"rate": "0",
"fequency_capping_day": "",
"frequency_capping_hour": "",
"fequency_capping_min": "",
"sdk_request_timeout": "60",
"auto_optimization": "1",
"sort": "0"
}
]
}
],
"has_more": 0
}
}

7.3 创建和编辑广告源信息(需要开启新AB测试权限)#

支持创建和编辑的广告源: 参考 附录2

请求路径: /api/placement/store

请求参数

1 创建广告源

字段类型必传说明备注
currencyStringY币种单位 CNY或USD
placement_listArrayY广告源配置一次最多10个
placement_list.nameStringY广告源名称同一个广告位下不允许重复
placement_list.api_token_idIntY网络授权id参考7.1
placement_list.adsource_idIntY广告网络id参考8.2
placement_list.adseat_uuidStringY广告位uuid广告位类型支持的广告源,参考 附录2
placement_list.is_header_biddingIntN是否开启Header Bidding1 是, 0 否 参考 附录1
placement_list.is_auto_priceIntN是否开启自动价格1 开启, 2 关闭, 非Header Bidding必填
placement_list.rateFloatN排序价格关联currency,非Header Bidding必填,且必须大于0.01小于10000
placement_list.placement_configJsonY广告源参数配置参考 附录2
placement_list.is_nativeIntN广告支持类型1 原生 0 普通;仅限横幅广告位和开屏广告位(横幅广告位添加横幅广告 is_native=0;支持添加原生横幅广告 is_native=1;开屏同理。不同广告源参数配置参考附录2)
placement_list.is_bottomIntN兜底广告1 是 0 否;开启Header Bidding该字段无效

2 编辑广告源

字段类型必传说明备注
currencyStringY币种单位 CNY或USD
placement_listArrayY广告源配置
placement_list.placement_idStringY广告源id
placement_list.nameStringN广告源名称
placement_list.api_token_idIntN网络授权id参考7.1
placement_list.is_auto_priceIntN是否开启自动价格非Header Bidding可以修改,1 开启, 2 关闭
placement_list.rateIntFloat排序价格关联currency, 非Header Bidding可以修改
placement_list.placement_configJsonY广告源参数配置只能修改样式配置

返回字段

字段类型必传说明
dataArrayY
data.placement_idIntY广告源id
data.nameStringY广告源名称
data.placement_configStringY传入的广告源参数配置
data.error_messageStringY错误信息,没有表示成功

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/placement/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"currency":"USD","placement_list":[{"name":"API-1\u521b\u5efa\u5e7f\u544a\u6e90","api_token_id":1640,"adsource_id":16,"adseat_uuid":"42D65EDFC13A93B5B25F70FC57280A97","is_header_bidding":0,"is_auto_price":1,"rate":0.03,"placement_config":"{\"placementId\":\"9499192321\",\"appId\":\"53102791\",\"is_template_rendering\":2,\"video_mute\":1,\"auto_play_video\":1,\"video_max_time\":5}","is_bottom":1,"is_native":1}]}'

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 0,
"name": "test_yky1",
"placement_config": "{ "appId": "zzz", "placementId": "23","video_mute":1 }",
"error_message": "广告源名称重复"
}
{
"placement_id": 859455,
"name": "test_yky2",
"placement_config": "{ "appId": "zzz", "placementId": "23","video_mute":1 }",
"error_message": ""
}
]
}

8 查询通用信息#

8.1 查询国家信息#

请求路径: /api/info/region

请求参数:无

返回字段

字段类型必传说明
listArrayY
list.nameStringY中文名
list.name_enStringY英文名
list.isoStringY国家二位码(短码)

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"name": "比利时",
"name_en": "Belgium"
"iso": "BE"
},
{
"name": "利比亚",
"name_en": "Libya"
"iso": "LY"
},
...
]
}
}

8.2 广告网络查询#

请求路径: /api/info/adsource_list

请求参数:无

返回字段

字段类型必传说明
listArrayY
list.nameStringY广告平台名称
list.adsource_idIntYtradplus广告平台id

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"name": "Meta",
"adsource_id": 1
},
{
"name": "Admob",
"adsource_id": 2
},
...
]
}
}

9 广告场景#

9.1 查询广告场景#

请求路径: /api/AdScene/scenes

请求参数

字段类型必传说明备注
app_uuidStringN应用uuid
adseat_uuidStringN广告位ID
pageIntN页数 默认1每页100条

返回字段

字段类型必传说明
has_moreIntY是否还有更多 1 是 0 否
totalIntY总数量
adscene_listArrayY
adscene_list.ad_scene_idStringY场景主键ID
adscene_list.ad_scenes_nameString场景名称
adscene_list.app_uuidString应用ID
adscene_list.adseat_uuidString广告位ID
adscene_list.uuidString场景uuidsdk使用
adscene_list.is_custom_uidString是否使用自定义场景 1 是 0 否
adscene_list.statusString状态 1 启用 2 停用
adscene_list.remarkString备注

返回样例:

{
"code": 200,
"status": 0,
"data": {
"has_more": 0,
"total": 1,
"adscene_list": [
{
"ad_scene_id": "260",
"ad_scenes_name": "tab",
"app_uuid": "38C0EB39AC0C015903E5CA6CA069AFF7",
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"uuid": "76BE82DBAE98A3",
"is_custom_uid": "0",
"status": "1",
"remark": ""
}
]
}
}

9.2 创建和编辑广告场景#

请求路径: /api/AdScene/store

请求参数

字段类型必传说明备注
adscene_listArrayY广告场景信息
adscene_list.adseat_uuidStringY广告位ID
adscene_list.ad_scene_idIntN广告场景主键id编辑必传。对应9.1 ad_scene_id
adscene_list.ad_scene_nameStringY场景名称
adscene_list.statusIntN创建必传。状态 1 启用 2 停用
adscene_list.remarkStringN备注
adscene_list.is_custom_uidIntN创建必传。是否使用自定义场景 1 是 0 否
adscene_list.custom_uidStringN自定义场景uid选择使用自定义场景时必填且不能重复

返回字段

字段类型必传说明
listArrayY
list.adseat_uuidStringN应用ID
list.ad_scene_nameStringN场景名称
list.ad_scene_idIntN场景主键id
list.error_messageStringN错误信息,空字符表示成功

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"ad_scene_name": "奖励界面",
"ad_scene_id": 125,
"error_message": ""
},
{
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"ad_scene_name": "关卡",
"ad_scene_id": 220,
"error_message": ""
}
]
}
}

附录1 Header Bidding#

广告位类型广告源
开屏腾讯广告
Vungle
激励视频Sigmob(需要开启权限)
腾讯广告
Meta
Vungle
插屏Sigmob(需要开启权限)
腾讯广告
Meta
Vungle
横幅腾讯广告
Meta
Vungle
标准原生腾讯广告
Meta
Vungle
原生横幅腾讯广告
Meta
Draw信息流腾讯广告
原生开屏腾讯广告

附录2 广告网络对应广告位类型配置对照表#

广告网络id广告网络名称广告位参数配置广告类型广告样式参数配置备注
1MetaplacementId (Placement ID)激励视频adsource_type 广告位类型 1-激励视频 2-奖励式插屏
插屏- 无
横幅ad_size 广告源尺寸1: 320 x 50
2: 320 x 90
3: 320 x 250
标准原生is_template_rendering 模板类型 1:模板渲染 2:自渲染
原生横幅is_template_rendering 模板类型 1:模板渲染 2:自渲染
ad_size 高度 1:50 2:100 3:120
2AdMobplacementId (广告单元ID)激励视频adsource_type 广告位类型 1-激励视频广告 2-插页式激励广告
插屏- 无
横幅ad_size 广告源尺寸1: 320 x 50
2: 320 x 100
3: 300 x 250
4: 468 x 60
5: 780 x 90
6: adaptive banners
开屏- 无
标准原生ad_size 素材比例1: 未指定
2: 任意尺寸
3: 横屏尺寸
4: 竖屏尺寸
5: 正方形尺寸
原生横幅- 无
7VungleappId (App ID) placementId (广告位置参考ID)激励视频video_mute 视频静音 1 是 2否
direction 屏幕方向 1 竖屏 2横屏
ios应用 direction 无效
插屏video_mute 视频静音 1 是 2否
direction 屏幕方向 1 竖屏 2横屏
ios应用 direction 无效
横幅is_template_rendering 广告位类型 0:横幅广告 1:中矩形横幅广告
ad_size 广告源尺寸
ad_size:
1: 320 x 50
2: 300 x 50
3: 728 x 90
is_template_rendering=1时,ad_size无效
开屏video_mute 视频静音 1 是 2否
direction 屏幕方向 1 竖屏 2横屏
ios应用 direction 无效
标准原生- 无
16腾讯广告appId (Media ID)
placementId (Unit ID)
激励视频video_mute 视频静音 1 是 2否
插屏full_screen_video 是否全屏 1 是 2否
video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅wifi
video_max_time 视频最大时长 限定时长范围5-60
不限时长:
video_max_time -1
横幅is_template_rendering 模板类型 1 优量汇渲染
开屏zoom_out 开屏V+ 1 是 2 否
标准原生is_template_rendering 1 优量汇渲染 2 开发者自渲染 4 贴片视频广告(优量汇渲染) 5 贴片视频广告(自渲染)
video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅wifi 3 手动播放
video_max_time 视频最大时长 限定时长范围5-60
原生横幅is_template_rendering 2 开发者自渲染 5 贴片视频广告(自渲染)
video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅wifi 3 手动播放
video_max_time 视频最大时长 限定时长范围5-60
Draw信息流- 无
原生开屏is_template_rendering 2 开发者自渲染 3 优量汇渲染 video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅wifi 3 手动播放
video_max_time 视频最大时长 限定时长范围5-60
17穿山甲appId (App ID)
placementId (Slot ID)
激励视频app_download_setup 广告位类型,下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否 (仅安卓)
is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染
app_download_setup为0时,popconfirm无效 (下同)
插屏adsource_type 广告位类型, 1 全屏视频 2插屏广告 3 新插屏广告
app_download_setup 广告位类型,下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否 (仅安卓)
is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染
video_orientation 视频播放方向 1竖屏 2 横屏
ad_size_ratio 代码位尺寸比例 1 1:1, 2 3:2,3 2:3
注意:
1) adsource_type为1时,无ad_size_ratio,video_orientation
2) adsource_type为2时,is_template_rendering固定传1,且无video_orientation
3) adsource_type为3时,无ad_size_ratio,is_template_rendering
横幅app_download_setup 广告位类型,下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否 (仅安卓)
ad_size 1,2,3,4,5,6,7,8
1: 600 x 300
2: 600 x 400
3: 600 x 500
4: 600 x 260
5: 600 x 90
6: 600 x 150
7: 600 x 100
8: 600 x 388
开屏is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染
zoom_out 开屏点睛 1 是 2 否
app_download_setup (仅安卓)
popconfirm (仅安卓)
标准原生is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染 3 贴片视频广告
app_download_setup 下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否(仅安卓)
Draw信息流-
原生开屏is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染
app_download_setup 下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否(仅安卓)
20快手appId (应用 ID)
appName(应用名称)
placementId (广告位 ID)
激励视频direction 屏幕方向 1 竖屏 2横屏 3 自适应
video_mute 视频静音 1 是 2否
插屏adsource_type 广告位类型, 1 全屏视频 2插屏广告
direction 屏幕方向 1 竖屏 2横屏 3 自适应
video_mute 视频静音 1 是 2否
仅adsource_type为1全屏视频时
direction屏幕方向可选
开屏-
标准原生is_template_rendering 模板类型 1 模板渲染 2 自渲染
原生横幅is_template_rendering 模板类型 2 自渲染
Draw信息流-
原生开屏is_template_rendering 模板类型 1 模板渲染 2 自渲染
21SigmobappId (应用 ID)
AppKey (App Key)
placementId (广告单元 ID)
激励视频
插屏-
开屏-
标准原生-
原生横幅-
原生开屏-
43百度联盟appId (APP ID)
placementId (Ad Place ID)
激励视频-
插屏adsource_type 广告位类型, 1 全屏视频 3 新模板插屏
横幅ad_size 模板比例 1: 20:3, 2: 3:2, 3: 7:3, 4: 2:1
开屏-
标准原生is_template_rendering 模板类型 模板类型 1 智能优选 2 自渲染
原生横幅is_template_rendering 模板类型 模板类型 2 自渲染
原生开屏is_template_rendering 模板类型 模板类型 1 智能优选 2 自渲染
44游可赢appId (应用 ID)
placementId (广告位 ID)
激励视频video_mute 视频静音 1 是 2否
插屏-
开屏-
标准原生is_template_rendering 模板类型 2 自渲染
video_mute 视频静音 1 是 2否
原生开屏is_template_rendering 模板类型 2 自渲染
video_mute 视频静音 1 是 2否