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创建必传 开屏范围:15 其他范围:120
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
Mintegral
激励视频Sigmob(需要开启权限)
腾讯广告
Meta
Vungle
Mintegral
插屏Sigmob(需要开启权限)
腾讯广告
Meta
Vungle
Mintegral
横幅腾讯广告
Meta
Vungle
Mintegral
标准原生腾讯广告
Meta
Vungle
Mintegral
原生横幅腾讯广告
Meta
Mintegral
Draw信息流腾讯广告
原生开屏腾讯广告
Mintegral

附录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 无效
标准原生- 无
15ChartboostappSign (App Signature)
appId (App ID)
placementId (Location)
激励视频- 无
插屏- 无
横幅

ad_size 广告源尺寸

ad_size:
1: 320 x 50
2: 300 x 50
3: 728 x 90

开屏不支持
标准原生不支持
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否(仅安卓)

18MintegralAppKey (App Key)
appId (App ID)
placementId (Location)
unitId (AD Unit ID)
激励视频

video_mute 视频静音 1 是 2否
placement_ad_type 广告类型 0 普通激励 2 插屏激励

插屏

video_mute 视频静音 1 是 2否
is_template_rendering 模板类型 2 自渲染
adsource_type 广告位类型 1 全屏视频 2半屏插屏【原生插屏】

创建原生插屏时,需要adsource_type样式
横幅

is_template_rendering 模板类型 2 自渲染
ad_size 广告源尺寸【普通横幅】
video_mute 视频静音 1 是 2否【原生横幅】

ad_size:
1: 320 x 50
2: 300 x 50
3: 728 x 90

开屏

is_skipable 是否可跳过 1 是 2否【普通开屏】
direction 屏幕方向 1 竖屏 2横屏【普通开屏】
countdown_time 倒计时时间 2~10【普通开屏】
placement_ad_type 广告类型 0 普通 1原生开屏 2插屏开屏
video_mute 视频静音 1 是 2否
is_template_rendering 模板类型 1 自动渲染 2 自定义渲染【原生开屏】
auto_play_video 自动播放 1 总是 2-仅wifi 3-手动【原生开屏】
ad_size 广告占屏幕高度 1:100% 2:80%

当is_native=0【普通开屏】时,仅有is_skipable、direction、countdown_time、placement_ad_type样式,如果是bidding源即is_header_bidding=1时,则需要传ad_size样式;当 is_native=1【原生开屏】时,仅有placement_ad_type、is_template_rendering、video_mute、auto_play_video样式,当is_native=0 placement_ad_type=2【插屏开屏】时,仅有placement_ad_type、video_mute样式

标准原生

is_template_rendering 模板类型 1 自动渲染 2 自定义渲染
video_mute 视频静音 1 是 2否
auto_play_video 自动播放 1 总是 2-仅wifi 3-手动

is_template_rendering=2时,仅有video_mute样式
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

  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否