Skip to main content

Developer Dashboard Management API

Revision History

Release DateRevision Notes
2026-05-25§7.3.1 documents AdMob appId / auto_app_id for manual vs automated × Android/iOS; Appendix 2 AdMob aligned.
2026-05-07Added support for automated Pangle ad source creation, covering conversion and adaptation scenarios for various ad types.
2026-04-14API update: added optional parameters for querying ad source information; creating and editing mediation groups now supports updating the default group.
2026-04-09Added support for automated Meta and AdMob ad source creation, covering conversion and adaptation scenarios for various ad types.
2026-03-25Added full lifecycle management for A/B Tests

1 Get API Key

Log in to the dashboard, click the company name, go to "My Account" > "API Key", and obtain the API Key and secret.

NamePurpose
API Key (bear)Identifies the user
SecretGenerates the request signature

2 API Integration

All requests use the POST method. The default POST data format is multipart/form-data. Request domain: https://openapi.tradplusad.com

2.1 Common Request Parameters

ParameterDescriptionDelivery MethodExample
bearAPI keyHTTP Header157E4A5D-3877-1236-DE06-457FT3F70C4
signSignatureGET5DE008C88087D8556D276A9E5B8E37E6
timestampTimestamp, seconds of the current timeGET1629525680
nonce16-character random string, combination of digits and lettersGET5c672d4e9628d0a7

2.2 Generate Signature

Obtain the bear and secret. See 1 Get API Key.

Rules:

  1. Concatenate secret, timestamp, nonce, and the request path
  2. Apply MD5 encryption and convert to uppercase
$sign = strtoupper(md5($secret+$timestamp+$nonce+$path));

2.3 Request Example

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]="testCreate"' \
--form 'adseat_list[0][ad_type]="5"' \
--form 'adseat_list[0][adseat_uuid]=""'

2.4 Response Parameters

Returns JSON format

2.4.1 Success

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

2.4.2 Failure

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

3 Reports

3.1 Submit Third-party Ad Platform Report Data

Request Path: /api/report/submit

Request Parameters:

FieldTypeRequiredDescriptionNotes
report_data_listArrayYUp to 10 items; extra items will be discarded
report_data_list.dayStringYDate; only day-level Y-m-d format is supported Example: 2021-02-01
report_data_list.isoStringYTwo-letter country code (short code) Example: GE; see 9.1
report_data_list.adsource_idIntYTradPlus ad platform ID See 9.3
report_data_list.placement_idStringYThird-party ad platform placement ID For Mintegral, concatenate the AD Unit ID with "_".
For Unity Ads, concatenate the Game ID.
For AppLovin, concatenate the SDK Key.
For Kidoz, concatenate the app package_name.
For ReklamUp, concatenate the app package_name.
Example: placementID_adUnitID
report_data_list.currencyStringNCurrency unit, CNY or USD. Defaults to CNY if omitted 
report_data_list.bidding_requestIntNBidding requests default: 0
report_data_list.bidding_responseIntNBidding responsesdefault: 0
report_data_list.requestIntNRequestsdefault: 0
report_data_list.fillIntNFillsdefault: 0
report_data_list.impressionIntNImpressionsdefault: 0
report_data_list.clickIntNClicksdefault: 0
report_data_list.incomeFloatNRevenuedefault: 0

Response Fields:

FieldTypeRequiredDescription
errorArrayYError message list
error.messageStringNError message
error.report_dataArrayNError details (same as request data)

Response Example:

{
"code": 200,
"status": 0,
"data": {
"error": [
{
"message": "Two-letter country code (short code) is missing or invalid",
"report_data": {
"day": "2022-01-18",
"iso": "USA",
"adsource_id": "16",
"placement_id": "abc123",
"currency": "CNY",
"income": "50",
"fill": "800"
}
},
{
"message": "Ad network ID is missing or invalid",
"report_data": {
"day": "2022-01-19",
"iso": "CN",
"adsource_id": "475",
"placement_id": "22",
"currency": "CNY",
"income": "20",
"fill": "600",
"impression": "100"
}
}
]
}
}

4 App Management

4.1 Get App Categories

Request Path: /api/app/allcategory

Request Parameters: None

Response Fields:

FieldTypeRequiredDescription
first_categoryArrayYPrimary category
first_category.idStringYCategory ID
first_category.name_cnStringYChinese name
first_category.name_enStringYEnglish name
sub_categoryArrayYSecondary category
sub_category.idStringYSecondary categoryid
sub_category.pidStringYCorresponding primary category ID
sub_category.name_cnStringYChinese name
sub_category.name_enStringYEnglish name

Response Example:

{
"code": 200,
"status": 0,
"data": {
"first_category": [
{
"id": "1",
"name_cn": "Game",
"name_en": "Game"
},
{
"id": "2",
"name_cn": "App",
"name_en": "App"
}
],
"sub_category": [
{
"id": "101",
"name_cn": "Action",
"name_en": "Action",
"pid": "1"
},
{
"id": "102",
"name_cn": "Adventure",
"name_en": "Adventure",
"pid": "1"
}...
]
}
}

4.2 Get Apps

Request Path: /api/app/apps

Request Parameters:

If app_uuids is passed, page is ignored. has_more and total are returned only app_uuids is not passed.

FieldTypeRequiredDescriptionNotes
app_uuidsStirngNApp IDAccepts up to 100 each time
pageIntNPage number, default 1 100 items per page

Response Fields:

FieldTypeRequiredDescriptionNotes
totalIntNTotal count
has_moreIntNWhether there are more items
app_listArrayYApp information
app_list.app_uuidStringYDeveloper app ID
app_list.app_nameStringYApp name
app_list.category_idIntYSecondary category
app_list.app_urlStringYApp store URL
app_list.package_nameStringYApp package name
app_list.osIntYApp platform1:Android 2:iOS
app_list.is_releaseIntYRelease status1:Not released 2:Released

Request Example

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}'

Response Example:

{
"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 Create and Edit Apps

Request Path: /api/app/store

Request Parameters:

FieldTypeRequiredDescriptionNotes
app_listArrayYApp informationUp to 10 items each time; extra items will be discarded
app_list.app_uuidStringNDeveloper app ID Required when editing
app_list.app_nameStringNApp name Required when editing
app_list.osIntNApp platform 1:Android 2:iOS Cannot be edited after creation
app_list.package_nameStringNApp package name Required when creating
app_list.app_urlStringNApp store URL Note: iOS only.
If provided, the app is considered released and released app information will be used automatically.
In this case, app_name and package_name may be omitted.
If provided, they will be overwritten.
app_list.category_idIntNCategory ID. See 4.1 Get App Categories Required when creating
app_list.directionIntNScreen orientation 1 portrait, 2 landscape, 0 adaptive

Response Fields:

FieldTypeRequiredDescription
listArrayYApp information
list.app_uuidStirngNDeveloper app ID
list.app_nameStirngNApp name
list.error_messageStirngNError message, Empty string means success

Request Example

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 App","os":1,"package_name":"api","app_url":"","category_id":101,"direction":1}]}'

Response Example:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"app_uuid": "",
"app_name": "a1",
"error_message": "App name already exists"
},
{
"app_uuid": "A741926221D7FEFBCB179D08B4477713",
"app_name": "test1",
"error_message": ""
}
]
}
}

5 Placement Management

5.1 Get Placements

Request Path: /api/seat/seats

Request Parameters:

FieldTypeRequiredDescriptionNotes
app_uuidStirngNSingle app ID. Used to get all placements under an appapp_uuid and adseat_uuid are mutually exclusive. If both are passed, only app_uuid is used
adseat_uuidsStringNPlacement IDs, separated by commas. Returns up to 100 
pageStringNPage number, default 1  100 items per page

Response Fields:

FieldTypeRequiredDescriptionNotes
has_moreIntN
totalIntN
adseat_listArrayY
adseat_list.app_uuidStringYDeveloper app ID
adseat_list.seat_nameStringYPlacement name
adseat_list.adseat_uuidStringYPlacement ID
adseat_list.cache_numIntYParallel request count
adseat_list.ad_typeIntYAd type:
1 Native
2 Interstitial
3 Splash
4 Banner
5 Rewarded Video
adseat_list.use_frequencyIntYWhether to set impression frequency cap: 1: yes, 0: no
adseat_list.frequency_limitIntYImpression cap 
adseat_list.frequency_unit_countIntYUnit interval
adseat_list.frequency_unitIntYFrequency unit: 1 minutes 2 hours 3 dayseg:
Every 5 (frequency_unit_count)
minutes (frequency_unit)
10 impressions (frequency_limit)
adseat_list.ad_type_templateIntNNative template type Standard Native: 1
Native Banner: 2
Draw feed: 3
Native Splash: 4
Returned for native types
adseat_list.refresh_timeIntNRefresh timeNative Banner, Returned for Banner
adseat_list.skip_timeIntNShow the skip button after n secondsSplash, Native Splash type returned
adseat_list.countdown_timeIntNTotal countdown durationSplash, Native Splash type returned
adseat_list.is_skipIntNSkippableSplash, Native Splash type returned
adseat_list.monetary_nameStringNReward itemReturned for Rewarded Video
adseat_list.monetaryIntNReward amountReturned for Rewarded Video

Request Example

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}'

Response Example:

{
"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 Create and Edit Placements

Request Path: /api/seat/store

Request Parameters:

FieldTypeRequiredDescriptionNotes
adseat_listArrayYUp to 10 items; extra items will be discarded
adseat_list.app_uuidStringYDeveloper app IDDeveloper app ID, Cannot be edited after creation.
adseat_list.seat_nameStringYPlacement nameRequired when creating
adseat_list.adseat_uuidStringNPlacement ID Required when editing
adseat_list.cache_numIntNParallel ad request count, default: 2Required when creating. Splash range: 1-5; other ad types: 1-20
adseat_list.ad_typeIntYAd type:
1 Native
2 Interstitial
3 Splash
4 Banner
5 Rewarded Video
Ad type. Required when creating, Cannot be edited after creation.
adseat_list.use_frequencyIntNWhether to set impression frequency cap: default: no1: yes, 0: no
adseat_list.frequency_limitIntNImpression cap n impressions, default: 1 
adseat_list.frequency_unit_countIntNUnit interval,  default: 1 
adseat_list.frequency_unitIntNFrequency unit, minutes: 1 hours: 2 days: 3 default: 1
adseat_list.ad_type_templateIntN1 Standard Native
2 Native Banner
3 Draw feed
4 Native Splash
Required when creating native types, Cannot be edited after creation.
adseat_list.refresh_timeIntNAuto refresh, range: 15-150 secondsOnly applies to Banner and Native Banner
May be omitted, which means no refresh
adseat_list.skip_timeIntNShow the skip button after n seconds
Range: 0-10 seconds, default 2
Required when creating Splash and Native Splash; only applies to Splash and Native Splash
adseat_list.countdown_timeIntNTotal countdown duration
Range: 3-10 seconds, default 5
Required when creating Splash and Native Splash
Only applies to Splash and Native Splash.
Total countdown duration must be greater than skip_time
adseat_list.is_skipIntNSkippable. 1: yes, 0: no; default: yesRequired when creating Splash and Native Splash; only applies to Splash and Native Splash
adseat_list.monetary_nameStringNReward itemOnly applies to rewarded video
adseat_list.monetaryIntNReward amountOnly applies to rewarded video

Response Fields:

FieldTypeRequiredDescriptionNotes
listArrayY
list.adseat_uuidStringY
list.seat_nameStringY
list.error_messageStringYError message, Empty string means success

Request Example

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 Create","ad_type":"5","adseat_uuid":""}]}'

Response Example:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "9D0A151A3B9169369CB75873FD86713E",
"seat_name": "testNative Banner",
"error_message": ""
},
{
"adseat_uuid": "",
"seat_name": "",
"error_message": "App ID is required"
}
]
}
}

6 Mediation Group Management

6.1 Query Mediation Group List

Request Path: /api/intermediary/group_list

Request Parameters:

FieldTypeRequiredDescription
currencyStringYCurrency unit, USD or CNY
adseat_uuidStringYPlacement UUID

Response Fields:

FieldTypeRequiredDescription
abtest_nameStringYA/B Test group name
bucket_idStringYA/B Test group ID
group_idStringYMediation group ID
group_nameStringYMediation group name
bidding_adsource_cache_numStringYBidding ad source cache count
bidding_floor_priceStringYBidding floor price
cache_numStringYParallel request count
is_presetStringYWhether it is a preset mediation group 1: yes, 0: no
is_cold_sceneStringYWhether it is cold start 1: yes, 0: no
countryStringYCountry/region
cityStringYCity
rule_jsonStringYTraffic segmentation rules
segment_tagStringYCustom user attributes
statusStringYStatus 1: enabled, 2: disabled
preset_countryStringYPreset mediation group countries

Request Example

curl --location 'https://openapi.tradplusad.com/api/intermediary/group_list' \
--header 'bear: EEB82554-BD76-1474-EB7E-3785B5107872' \
--header 'Content-Type: application/json' \
--data '{"currency": "USD","adseat_uuid": "15974C36532C36C820D5B9AAEC21EB12"}'

Response Example:

{
"code": 200,
"status": 0,
"data": [
{
"group_id": "56646",
"group_name": "Custom",
"bucket_id": "8094",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "Control group"
},
{
"group_id": "0",
"group_name": "All countries",
"bucket_id": "8094",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "Control group"
},
{
"group_id": "56647",
"group_name": "Custom",
"bucket_id": "8095",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "Experiment group1"
},
{
"group_id": "0",
"group_name": "All countries",
"bucket_id": "8095",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "Experiment group1"
}
]
}

6.2 Create and Edit Mediation Groups

Request Path: /api/intermediary/store

Request Parameters:

FieldTypeRequiredDescriptionNotes
currencyStringYCurrency unit, USD or CNY
group_listArrayYMediation group listUp to 10 items; extra items will be discarded
group_list.group_idintNMediation group IDRequired when editing. If 0 is passed, the default group will be updated
group_list.group_nameStringYMediation group name
group_list.adseat_uuidStringYPlacement ID
group_list.bucket_idIntYA/B Test group IDEditing is not supported
group_list.is_presetIntYPreset mediation group1: yes, 0: no. Editing is not supported
group_list.is_cold_sceneIntYCold start1: yes, 0: no. Only Splash is supported. Editing is not supported
group_list.bidding_floor_pricefloatNBidding floor price 
group_list.cache_numIntYParallel request count Maximum is 20
group_list.bidding_adsource_cache_numIntYBidding ad source cache count-1 means unlimited; the maximum limit is 20
group_list.countryIntNCountry/regionCountry ISO codes. For multiple values, separate them with English commas. See 9.1
group_list.cityIntNProvince/cityProvince/city IDs. For multiple values, separate them with commas. See 9.2
group_list.segment_tagIntNDeveloper custom Segment TagMultiple Segment Tags separated by English commas
group_list.preset_countryStringNPreset mediation group countriesCountry ISO codes. Separate multiple values with commas
group_list.placement_idsStringNAd source IDSeparate multiple values with commas
group_list.rule_jsonStringNTraffic segmentation rulesJSON format. See Appendix 3

Response Fields:

FieldTypeRequiredDescriptionNotes
listArrayY
list.group_idStringY
list.group_nameStringY
list.error_messageStringYError message, Empty string means success

Request Example

curl --location 'https://openapi.tradplusad.com/api/intermediary/store' \
--header 'bear: EEB82554-BD76-1474-EB7E-3785B5107872' \
--header 'Content-Type: application/json' \
--data '{"currency": "USD","group_list": [{"group_id":56657,"group_name":"Custom","adseat_uuid":"8C321665C992CDDBE6F5892409A67612","bucket_id":0,"is_preset":0,"is_cold_scene":0,"bidding_floor_price":1,"cache_num":0,"country":"US,JP","city":"","bidding_adsource_cache_num":-1,"segment_tag":"","rule_json":"{\"rules\":[{\"name\":\"app_ver\",\"type\":\"version\",\"op\":\"in\",\"data\":[\"1\",\"2\"]}],\"timezoneOffset\":\"0\"}","placement_ids":"653046","preset_country":"AM,DE,SG"}]}'

Response Example:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"group_id": "",
"group_name": "",
"error_message": ""
}
]
}
}

6.3 Query Mediation Group Ad Source List

Request Path: /api/intermediary/group_placements

Request Parameters:

FieldTypeRequiredDescription
currencyStringYCurrency unit, USD or CNY
adseat_uuidStringYPlacement UUID
bucket_idIntNA/B Test group ID
group_idIntNMediation group ID

Response Fields:

FieldTypeRequiredDescription
adseat_uuidStringY
bucket_idStringYA/B Test group ID
group_idStringYMediation group ID
placement_listArrayYMediation group ad source list
placement_list.bucket_idObjYA/B Test group ID
placement_list.bucket_id.group_idObjYMediation group ID
placement_list.bucket_id.group_id.header_bidding_listArrayNHeader Bidding area
placement_list.bucket_id.group_id.auto_optimization_listArrayNPrice-sorted area
placement_list.bucket_id.group_id.manual_sorting_listArrayNManual sorting area
placement_list.bucket_id.group_id.low_priority_listArrayNLow-priority area
placement_list.bucket_id.group_id.closed_listArrayNAd sources disabled in the mediation group
Corresponding list fields:
idStringYMediation group ad source ID
statusStringYMediation group ad source status 1 enabled, 0 disabled
adsource_idStringYAd network ID
group_idStringYMediation group ID
group_nameStringYMediation group name
bucket_idStringYA/B Test group ID array
bucket_nameStringYA/B Test group name
is_header_biddingStringYWhether Header Bidding is enabled 1: yes, 0: no
is_auto_priceStringYWhether automatic price is enabled 1 enabled, 2 disabled
ecpm_forcastStringYPredicted eCPM
rateStringYSorting price
bid_floorStringYbid floor price
fequency_capping_dayStringYFrequency cap, impression limit per day
frequency_capping_hourStringYFrequency cap, impression limit per hour
fequency_capping_minStringYFrequency cap, impression limit per minute
sdk_request_timeoutStringYSDK ad request timeout duration
request_interval_statusStringYRequest interval control, 1 enabled, 2 disabled
request_no_fill_numStringYRequest interval control, consecutive no-fill count
request_intervalStringYRequest interval control, request interval in seconds
auto_optimizationStringYSorting area: 1 price sorting, 2 manual sorting, 3 low priority

Response Example:

{
"code": 200,
"status": 0,
"data": {
"adseat_uuid": "08056F3650B0B65B79714A1482FE5EEE",
"group_id": "",
"group_id": "",
"placement_list": {
"0": {
"0": {
"auto_optimization_list": {
"0": {
"id": "157751",
"status": "1",
"adsource_id": "16",
"group_id": "0",
"group_name": "Default group",
"group_id": "0",
"group_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 group",
"group_id": "0",
"group_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.4 Batch Update Ad Source Properties in Mediation Groups (New A/B Test Permission Required)

Request Path: /api/intermediary/update_group_placement

Request Parameters:

FieldTypeRequiredDescriptionNotes
currencyStringYCurrency unit, CNY or USD
placement_listArrayYMediation group ad source arrayUp to 10 items per request
placement_list.idIntYMediation group ad source ID
placement_list.sdk_request_timeoutIntNSDK ad request timeout duration
placement_list.fequency_capping_dayIntNFrequency cap, impression limit per day
placement_list.frequency_capping_hourIntNFrequency cap, impression limit per hour
placement_list.fequency_capping_minIntNFrequency cap, impression limit per minute
placement_list.request_interval_statusIntNRequest interval control 1 enabled, 2 disabled
placement_list.request_no_fill_numIntNRequest interval control, consecutive no-fill count
placement_list.request_intervalIntNRequest interval control, request interval in seconds
placement_list.is_auto_priceIntNWhether automatic price is enabled 1 enabled, 2 disabled
placement_list.rateIntNSorting price optional range: 0.01-10000
Response Fields:
FieldTypeRequiredDescription
dataArrayY
data.placement_idIntYMediation group ad source ID
data.error_messageStringYError message

Response Example:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 157651,
"error_message": ""
},
{
"placement_id": 157652,
"error_message": ""
},
{
"placement_id": 122,
"error_message": "Ad source error"
}
]
}

6.5 Enable or Disable Mediation Group Ad Sources

Request Path: /api/intermediary/on_off_placement

Request Parameters:

FieldTypeRequiredDescriptionNotes
statusIntYStatus 1 Enable 0 Disable
placement_id_listArrayYMediation group ad source ID arrayUp to 10 items per request
placement_id_list.idIntYMediation group ad source ID
Response Fields:
FieldTypeRequiredDescription
dataArrayY
data.placement_idIntYMediation group ad source ID
data.error_messageStringYError message

Response Example:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 157651,
"error_message": ""
},
{
"placement_id": 157652,
"error_message": ""
},
{
"placement_id": 122,
"error_message": "Ad source error"
}
]
}

7 Ad Source Management

7.1 Query Ad Network Authorization Information

Request Path: /api/PlacementApiToken/api_tokens

Request Parameters: None

Response Fields:

FieldTypeRequiredDescription
dataArrayY
data.api_token_idIntYNetwork authorization ID
data.account_nameStringYAccount name
data.adsource_idIntYAd network ID
data.is_openIntYWhether enabled 1: yes, 0: no

Response Example:

{
"code": 200,
"status": 0,
"data": [
{
"id": 1466,
"account_name": "default: account",
"adsource_id": 17,
"is_open": 0
},
{
"id": 2796,
"account_name": "default: account",
"adsource_id": 43,
"is_open": 0
}
]
}

7.2 Query Ad Source Information

Request Path: /api/placement/placements

Request Parameters:

FieldTypeRequiredDescriptionNotes
currencyStringYCurrency unit, CNY or USD
placement_idsStringNAd source IDcomma-separated, up to 100
adsource_idsStringNAd network IDcomma-separated
app_uuidsStringNApp IDcomma-separated, up to 100
adseat_uuidsStringNPlacement IDcomma-separated, up to 100
fieldsStringNFields to returnall fields by default
pageIntNPage number, default 1100 items per page
is_onIntNFilter ad source enable status: default 10 returns only disabled; 1 returns only enabled; -1 returns enabled + disabled (all); omitted or empty keeps historical behavior, defaulting to enabled only

Response Fields:

FieldTypeRequiredDescription
has_moreIntYWhether there are more items 1: yes, 0: no
placementsArrayY
placements.placement_idStringAd source ID
placements.nameStringAd source name
placements.adsource_idStringAd network ID
placements.is_header_biddingStringWhether Header Bidding is enabled
placements.placement_configJsonPlacement parameter configurationdemo:
{"appId":"5175107","placementId":"946159096","adsource_type": "1"}
placements.api_token_idStringAuthorization ID
placements.account_nameStringAuthorized account name
placements.app_uuidStringApp ID
placements.app_nameStringApp name
placements.osStringApp OS 1 Android 2 ios
placements.adseat_uuidStringPlacement UUID
placements.seat_nameStringPlacement name
placements.ad_typeStringPlacement type
placements.intermediary_groupArrayMediation group ad source information. See 6.1
Response Example:
{
"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": "default: account",
"app_uuid": "6B5AE472641DB544632AE2E84F952658",
"app_name": "Stickman Battle",
"os": "1",
"adseat_uuid": "6ECF7327CD62D9BAC9965FC57CC27249",
"seat_name": "interstitial ad",
"ad_type": "2",
"currency": "USD",
"intermediary_gorup": [
{
"id": "33489",
"status": "1",
"group_id": "0",
"group_name": "Default group",
"group_id": "0",
"group_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 Create and Edit Ad Source Information (New A/B Test Permission Required)

Supported ad sources for create and edit: See Appendix 2

Request Path: /api/placement/store

Request Parameters:

1 Create ad source

FieldTypeRequiredDescriptionNotes
currencyStringYCurrency unit, CNY or USD
placement_listArrayYAd source configurationUp to 10 items per request
placement_list.nameStringYAd source nameMust be unique under the same placement
placement_list.api_token_idIntYNetwork authorization IDSee 7.1
placement_list.adsource_idIntYAd network IDSee 9.3
placement_list.adseat_uuidStringYPlacement UUIDAd sources supported by the placement type. See Appendix 2
placement_list.is_header_biddingIntNWhether Header Bidding is enabled1: yes, 0: no See Appendix 1
placement_list.is_auto_priceIntNWhether automatic price is enabled1: enabled, 2: disabled. Required for non-Header Bidding
placement_list.rateFloatNSorting priceAssociated with currency, Required for non-Header Bidding, and must be greater than 0.01 and less than 10000
placement_list.placement_configJsonYAd source parameter configurationSee Appendix 2; AdMob appId rules in §7.3.1
placement_list.is_nativeIntNAd support type1 Native 0 Normal; Only for Banner, Splash, and Interstitial placements. For a Banner placement, add a banner ad with is_native=0; add a Native Banner ad with is_native=1. Splash/Interstitial follow the same rule. See Appendix 2 for different ad source parameter configurations.)
placement_list.is_bottomIntNFallback ad1: yes, 0: no; This field is invalid Header Bidding is enabled
placement_list.is_auto_createIntNWhether to create automatically1: yes, 0: no, Currently only Meta and AdMob are supported
placement_list.auto_app_idstringNTop-level App ID for automated creationRequired for Meta automation; do not send for AdMob; see AdMob rules in §7.3.1

7.3.1 AdMob: placement_config.appId and auto_app_id (adsource_id=2)

appId must be copied from the AdMob console; for manual creation, placementId must also be copied from AdMob. OpenAPI does not generate appId. Unrelated to OAuth authorization.

Operating system is taken from the app that owns the ad seat (os: 1 = Android, 2 = iOS; see list_apps). For AdMob, OpenAPI applies the same rules on Android and iOS (may differ from TradPlus Web UI for some networks on iOS — OpenAPI behavior prevails).

Creation modeOSauto_app_idplacement_config.appIdplacement_config.placementId
Manual is_auto_create=0AndroidDo not sendRequired — Apps → App settings → App IDRequired — ad unit ID (e.g. ca-app-pub-xxx/yyy)
Manual is_auto_create=0iOSDo not sendRequired (same as Android)Required (same as Android)
Automated is_auto_create=1AndroidDo not sendRequired (app must already exist in AdMob)May be ""; system creates ad unit and backfills
Automated is_auto_create=1iOSDo not sendRequired (same as Android)May be "" (same as Android)

2 Edit ad source

FieldTypeRequiredDescriptionNotes
currencyStringYCurrency unit, CNY or USD
placement_listArrayYAd source configuration
placement_list.placement_idStringYAd source ID
placement_list.nameStringNAd source name
placement_list.api_token_idIntNNetwork authorization IDSee 7.1
placement_list.is_auto_priceIntNWhether automatic price is enabledFor non-Header Bidding, this can be updated. 1: enabled, 2: disabled
placement_list.rateIntFloatSorting priceAssociated with currency, Can be updated for non-Header Bidding
placement_list.placement_configJsonYAd source parameter configurationOnly style configuration can be modified

Response Fields:

FieldTypeRequiredDescription
dataArrayY
data.placement_idIntYAd source ID
data.nameStringYAd source name
data.placement_configStringYPassed ad source parameter configuration
data.error_messageStringYError message, Empty means success

Request Example

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 Create Ad Source","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}]}'

Response Example:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 0,
"name": "test_yky1",
"placement_config": "{ "appId": "zzz", "placementId": "23","video_mute":1 }",
"error_message": "Ad source name already exists"
},
{
"placement_id": 859455,
"name": "test_yky2",
"placement_config": "{ "appId": "zzz", "placementId": "23","video_mute":1 }",
"error_message": ""
},
]
}

8 A/B Test Management

8.1 A/B Test List

Request Path: /api/abtest/list

Request Parameters:

FieldTypeRequiredDescriptionNotes
abtest_idIntNA/B Test IDFilters by the specified A/B Test when passed
adseat_uuidStringNPlacement UUIDFilters by placement when passed

Response Fields:

FieldTypeRequiredDescription
dataArrayYA/B Test list
data[].abtest_idIntYA/B Test ID
data[].nameStringYA/B Test name
data[].app_uuidStringYApp UUID
data[].adseat_uuidStringYPlacement UUID
data[].share_adseat_uuidStringYShared placement UUID
data[].statusIntYA/B Test status 0-pending manual start 1-scheduled to start 2-in progress 3-ended
data[].group_idString/IntYGroup ID
data[].ab_typeIntYA/B Test type (1 Placement A/B Test, 2 Mediation group A/B Test)
data[].start_timeIntYStart time (timestamp)
data[].end_timeIntYEnd time (timestamp)
data[].is_systemIntYWhether smart hosting is enabled
data[].reverseIntYWhether user traffic split is reversed (0/1)
data[].auto_handIntYWhether it takes effect manually (0/1)
data[].available_timeIntYScheduled effective time (timestamp)
data[].available_time_zoneStringYEffective time zone
data[].descriptionStringYNotes
data[].is_bind_share_adseatIntYWhether a shared placement is bound (0/1)
data[].bucketsArrayYGroup list
data[].buckets[].idIntYGroup ID
data[].buckets[].nameStringYGroup name
data[].buckets[].percentString/IntYTraffic split percentage
data[].buckets[].weightIntYWeight
data[].buckets[].ab_statusIntYGroup status 1: enabled, 2: paused, 3: ended
data[].buckets[].is_winIntYWhether it is the winning group (0/1); 1 means winning group
data[].buckets[].bucket_group_idIntYBucket group number
data[].buckets[].is_share_bucketStringYWhether the group uses a shared placement (0/1); 1 means used

Request Example

curl--location'http://openapi.tradplusad.com/api/abtest/list?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"adseat_uuid":"E6379DA920E44F5DC13A06FCBE09E212"}'

Response Example

{
"code": 200,
"status": 0,
"data": [
{
"name": "ABTest_Modify_20260312",
"status": "2",
"group_id": "0",
"ab_type": "1",
"start_time": "1773395668",
"end_time": "0",
"is_system": "0",
"reverse": "0",
"auto_hand": "1",
"available_time": "0",
"available_time_zone": "8",
"description": "modify by openapi11",
"is_bind_share_adseat": "1",
"abtest_id": "3203",
"app_uuid": "8EFC6E4C26E961B3C68C274CE4862511",
"adseat_uuid": "E6379DA920E44F5DC13A06FCBE09E212",
"share_adseat_uuid": "797A392C56327B804E3547DD76E29812",
"buckets": [
{
"id": "8417",
"name": "Group C - Added/Updated",
"percent": "1",
"weight": "1",
"ab_status": "2",
"is_win": "0",
"bucket_group_id": "3",
"is_share_bucket": "0"
},
{
"id": "8416",
"name": "Group B - Updated",
"percent": "45",
"weight": "45",
"ab_status": "1",
"is_win": "0",
"bucket_group_id": "2",
"is_share_bucket": "0"
},
{
"id": "8415",
"name": "Group A - Updated",
"percent": "55",
"weight": "55",
"ab_status": "1",
"is_win": "0",
"bucket_group_id": "1",
"is_share_bucket": "1"
}
]
}
]
}

8.2 Create A/B Test

Request Path: /api/abtest/store

Request Parameters:

FieldTypeRequiredDescriptionNotes
nameStringYA/B Test nameMaximum 30 characters
ab_typeIntYA/B Test type1 Placement A/B Test, 2 Mediation group A/B Test
app_uuidStringYApp ID
adseat_uuidStringYPlacement IDMust match app_uuid
group_idString/IntNGroup IDRequired when ab_type=2; pass 0 for the all-countries group; defaults to empty if omitted
auto_handIntYWhether it takes effect manually1 manual start, 0 start automatically by time
available_timeStringNEffective timeRequired when auto_hand=0; recommended format: Y-m-d H:i:s
available_time_zoneStringNTime zoneRequired when auto_hand=0, optional: -8, 0, 8
bucketsArrayYA/B Test group configurationAt least 2 groups
buckets[].nameStringYGroup nameGroup names cannot be duplicated
buckets[].percentfloatYTraffic split percentagePass values according to business rules 0~100; Note: the sum of all A/B Test groups must be in the range 99-100 (tolerance: 1)
buckets[].weightIntYWeight0~100
buckets[].ab_statusIntYGroup statusPass fixed value 1 when creating (enabled)
buckets[].copy_group_configIntNWhether to copy the current configuration1: copy current configuration (recommended); other values do not copy current configuration (the first group will be forced to 1)
buckets[].is_share_bucketIntNWhether the group uses a shared placementTakes effect when is_bind_share_adseat=1, 1 means used
descriptionStringNNotesMaximum 100 characters
is_bind_share_adseatIntNWhether a shared placement is bound0 no, 1 yes
share_adseat_uuidStringNShared placement IDis_bind_share_adseat=1 Required

Response Fields:

FieldTypeRequiredDescription
abtest_idIntYA/B Test ID
nameStringYA/B Test name

Request Example

curl--location'http://openapi.tradplusad.com/api/abtest/store?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"name":"ABTest_API","ab_type":1,"app_uuid":"8EFC6E4C26E961B3C68C274CE4862511","adseat_uuid":"E6379DA920E44F5DC13A06FCBE09E212","group_id":0,"auto_hand":0,"available_time":"2026-03-12 20:00:00","available_time_zone":"8","description":"openapi create abtest","is_bind_share_adseat":0,"share_adseat_uuid":"","buckets":[{"name":"Group A","percent":50,"weight":50,"ab_status":1,"copy_group_config":1,"is_share_bucket":0},{"name":"Group B","percent":50,"weight":50,"ab_status":1,"copy_group_config":1,"is_share_bucket":0}] }'

Response Example

Success:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 12345,
"name": "AB Test - Interstitial"
}
}
Failure:
{
"code": 10002,
"status": 1,
"message": "Parameter error"
}

8.3 Edit A/B Test

Request Path: /api/abtest/modify

Request Parameters:

FieldTypeRequiredDescriptionNotes
abtest_idIntYA/B Test ID
nameStringYA/B Test nameMaximum 30 characters
reverseIntNWhether user traffic split is reversed0 no, 1 yes; Can be set only when the A/B Test is in progress
descriptionStringNNotesMaximum 100 characters
bucketsArrayYA/B Test group configurationAt least 2 groups
buckets[].idIntNGroup record IDRequired when editing an existing group (obtained from the list API); omit when adding a group
buckets[].bucket_group_idIntNBucket group numberRequired when editing an existing group (obtained from the list API); omit or pass 0 when adding a group
buckets[].nameStringYGroup nameCannot be empty
buckets[].percentfloatYTraffic split percentagePass values according to business rules 0~100; Note: the sum of all A/B Test groups must be in the range 99-100 (tolerance: 1)
buckets[].weightIntYWeight0~100
buckets[].ab_statusIntYGroup status1: enabled, 2: paused
buckets[].is_share_bucketIntNWhether the group uses a shared placementTakes effect when is_bind_share_adseat=1, 1 means used; Can be updated only before the A/B Test is enabled
buckets[].copy_group_configIntNWhether to copy the current configurationUsed when adding a group: 1: copy current configuration (recommended); other values do not copy current configuration

Request Example

curl--location'http://openapi.tradplusad.com/api/abtest/modify?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"abtest_id":3203,"name":"ABTest_Modify_20260312","reverse":1,"description":"modify by openapi11","buckets":[{"id":8415,"bucket_group_id":1,"name":"Group A - Updated","percent":55,"weight":55,"ab_status":1,"is_share_bucket":1},{"id":8416,"bucket_group_id":2,"name":"Group B - Updated","percent":45,"weight":45,"ab_status":1,"is_share_bucket":0},{"name":"Group C - Added","percent":1,"weight":1,"ab_status":1,"copy_group_config":1,"is_share_bucket":0}]}'

Response Example

Success:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 12345,
"name": "ABTest_Modify"
}
}
Failure:
{
"code": 10002,
"status": 1,
"message": "Parameter error"
}

8.4 Start A/B Test

Request Path: /api/abtest/start

Request Parameters:

FieldTypeRequiredDescriptionNotes
abtest_idIntYA/B Test IDOnly A/B Tests in pending manual start status can be started

Response Fields:

FieldTypeRequiredDescription
abtest_idIntYA/B Test ID
statusIntYA/B Test status (0-pending manual start 1-scheduled to start 2-in progress 3-ended)

Request Example

curl--location'http://openapi.tradplusad.com/api/abtest/start?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"abtest_id":3203}'

Response Example

Success:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 3208,
"status": 2
}
}
Failure:
{
"code": 1001,
"status": 1,
"message": "Parameter error"
}

8.5 Close A/B Test

Request Path: /api/abtest/close

Request Parameters:

FieldTypeRequiredDescriptionNotes
abtest_idIntYA/B Test ID
bucket_idIntNWinning group IDRequired when closing an active A/B Test (used to specify the winning group)
typeIntNClose type1 regular close, 2 smart-hosting close

Response Fields:

FieldTypeRequiredDescription
abtest_idIntYA/B Test ID
statusIntYA/B Test status (0-pending manual start 1-scheduled to start 2-in progress 3-ended)

Request Example

curl--location'http://openapi.tradplusad.com/api/abtest/close?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"abtest_id":3203,"group_id":8431,"type":1}'

Response Example

Success:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 3208,
"status": 3
}
}
Failure:
{
"code": 1001,
"status": 1,
"message": "Parameter error"
}

9 Query Common Information

9.1 Query Country Information

Request Path: /api/info/region

Request Parameters: None

Response Fields:

FieldTypeRequiredDescription
listArrayY
list.nameStringYChinese name
list.name_enStringYEnglish name
list.isoStringYTwo-letter country code (short code)

Response Example:

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

9.2 Query City Information

Request Path: /api/info/city

Request Parameters: None

Response Fields:

FieldTypeRequiredDescription
listArrayY
list.idStringYid
list.pidStringYParent ID
list.nameStringYCity

Response Example:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"id": "1",
"pid": "0",
"name": "Beijing"
},
{
"id": "2",
"pid": "0",
"name": "Tianjin"
},...
]
}
}

9.3 Query Ad Networks

Request Path: /api/info/adsource_list

Request Parameters: None

Response Fields:

FieldTypeRequiredDescription
listArrayY
list.nameStringYAd platform name
list.adsource_idIntYTradPlus ad platform ID

Response Example:

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

10 Ad Scenes

10.1 Query Ad Scenes

Request Path: /api/AdScene/scenes

Request Parameters:

FieldTypeRequiredDescriptionNotes
app_uuidStringNApp UUID
adseat_uuidStringNPlacement ID
pageIntNPage number, default 1100 items per page

Response Fields:

FieldTypeRequiredDescription
has_moreIntYWhether there are more items 1: yes, 0: no
totalIntYTotal count
adscene_listArrayY
adscene_list.ad_scene_idStringYScene primary key ID
adscene_list.ad_scenes_nameStringScene name
adscene_list.app_uuidStringApp ID
adscene_list.adseat_uuidStringPlacement ID
adscene_list.uuidStringScene UUIDUsed by SDK
adscene_list.is_custom_uidStringWhether to use a custom scene 1: yes, 0: no
adscene_list.statusStringStatus 1 enabled, 2 disabled
adscene_list.remarkStringNotes
Response Example:
{
"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": ""
}
]
}
}

10.2 Create and Edit Ad Scenes

Request Path: /api/AdScene/store

Request Parameters:

FieldTypeRequiredDescriptionNotes
adscene_listArrayYAd scene information
adscene_list.adseat_uuidStringYPlacement ID
adscene_list.ad_scene_idIntNAd scene primary key IDRequired when editing. corresponding to ad_scene_id in 10.1
adscene_list.ad_scene_nameStringYScene name
adscene_list.statusIntNStatus. Required when creating. 1: enabled, 2: disabled
adscene_list.remarkStringNNotes
adscene_list.is_custom_uidIntNWhether to use a custom scene. Required when creating. 1: yes, 0: no
adscene_list.custom_uidStringNCustom scene UIDRequired and must be unique using a custom scene

Response Fields:

FieldTypeRequiredDescription
listArrayY
list.adseat_uuidStringNApp ID
list.ad_scene_nameStringNScene name
list.ad_scene_idIntNScene primary key ID
list.error_messageStringNError message, Empty string means success

Response Example:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"ad_scene_name": "Reward screen",
"ad_scene_id": 125,
"error_message": ""
},
{
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"ad_scene_name": "Level",
"ad_scene_id": 220,
"error_message": ""
}
]
}
}

Appendix 1 Header Bidding

Placement typeAd source
SplashTencent Ads
Vungle
Mintegral
Inmob
Columbus
Bigo
Yandex
Pangle
Rewarded VideoSigmob (permission required)
Tencent Ads
Meta
Vungle
Mintegral
Inmobi
YSO
Columbus
Bigo
Yandex
Pangle
Pangle
Unity Ads
InterstitialSigmob (permission required)
Tencent Ads
Meta
Vungle
Mintegral
Inmobi
YSO
Columbus
Bigo
Yandex
Pangle
Pangle
Unity Ads
BannerTencent Ads
Meta
Vungle
Mintegral
Inmobi
YSO
Columbus
Bigo
Yandex
Pangle
Pangle
Unity Ads
Standard NativeTencent Ads
Meta
Vungle
Mintegral
Inmobi
Columbus
Bigo
Yandex
Pangle
Pangle
Native BannerTencent Ads
Meta
Vungle
Mintegral
Inmobi
Columbus
Bigo
Yandex
Pangle
Pangle
Draw feedTencent Ads
Native SplashTencent Ads
Vungle
Mintegral
Inmobi
Columbus
Bigo
Yandex
Pangle
Pangle

Appendix 2 Ad Network and Placement Type Configuration Mapping

Ad network IDAd network namePlacement parameter configurationAd typeAd style parameter configurationNotes
1MetaplacementId (Placement ID)Rewarded Videoadsource_type Placement type 1-Rewarded Video 2-rewarded interstitial
Interstitial-When creating Reels Ads, pass is_native=1
Splash

is_template_rendering Template type 2: self-rendering
placement_ad_type Ad type 1-Native Splash 2-interstitial splash

Banner

ad_size Ad source size/Height
is_template_rendering Template type 1: template rendering 2: self-rendering

Size:
1: 320 x 50
2: 320 x 90
3: 320 x 250
Height:
1: 50
2: 100
3: 120
When is_native=0 [Normal Banner], the is_template_rendering style parameter is not available
When is_native=1 [Native Banner] and is_template_rendering=2, the ad_size style parameter is not available

Standard Native

is_template_rendering Template type 1: template rendering 2: self-rendering
ad_size Ad height
banner_mrec=4: MREC(300X250)
banner_mrec=12: Native Banner

Height:
1: 50
2: 100
3: 120
When banner_mrec=4 [MREC (300x250)], the is_template_rendering or ad_size style parameters are not available
When banner_mrec=12 [Native Banner], is_template_rendering and ad_size style parameters are available
When adding Standard Native, only the is_template_rendering style parameter is available

Native Banner

is_template_rendering Template type 1: template rendering 2: self-rendering
ad_size Height 1: 50 2: 100 3:120

2AdMobappId (App ID)
placementId (Ad Unit ID)

Manual/automated × Android/iOS requirements: §7.3.1 (same rules on Android and iOS).
Rewarded Video

adsource_type Placement type 1-rewarded video ad 2-rewarded interstitial ad
placement_ad_type Ad type 0-normal rewarded video 2-interstitial rewarded video

When placement_ad_type=2 [interstitial rewarded video], the adsource_type style parameter is not available
Interstitial-
Banner

ad_size Ad source size
collapsible Collapsible banner 0-default: 1-top 2-bottom

1: 320 x 50
2: 320 x 100
3: 300 x 250
4: 468 x 60
5: 780 x 90
6: adaptive banners
[Normal Banner]is_native=0[Normal Banner], only the ad_size style parameter is available
[collapsible Banner]is_native=0, collapsible=1/2
[Native Banner]is_native=1,no collapsible, ad_size style parameter

Splashplacement_ad_type Ad type 0-normal splash 2-interstitial splash
Standard Native

ad_size Creative aspect ratio
banner_mrec Ad type 1-Standard Native 4-MERC

1: Unspecified
2: Any size
3: Landscape size
4: Portrait size
5: Square size

Native Banner-
5Unity AdsappId (App ID)
placementId (Placement ID)
Rewarded Video-Supports Header Bidding
Interstitial-Supports Header Bidding
SplashNot supported
Standard NativeNot supported
Bannerad_size Ad source size

ad_size:
1: 320 x 50
2: 728 x 90
Supports Header Bidding

7VungleappId (App ID) placementId (Placement Reference ID)Rewarded Video

video_mute Video mute 1 yes, 2 no
direction Screen orientation 1 portrait, 2 landscape

iOS apps do not have the direction style parameter;
Interstitial

video_mute Video mute 1 yes, 2 no
direction Screen orientation 1 portrait, 2 landscape

When is_native=0 [normal interstitial], Android apps have the direction style parameter; iOS apps do not have this style parameter;
Banner

is_template_rendering Placement type 0-banner ad 1-medium rectangle banner ad
ad_size Ad source size
placement_ad_type=99 InlineType

ad_size:
1: 320 x 50 (supports Banner/Inline)
2: 300 x 50 (supports Banner/Inline)
3: 728 x 90 (supports Banner/Inline)
4: 300 x 250 (Inline only)
When is_template_rendering=1, the ad_size style parameter is not available
When placement_ad_type=99, the is_template_rendering style parameter is not available, and the ad_size style parameter is available

Splash

video_mute Video mute 1 yes, 2 no
direction Screen orientation 0 adaptive, 1 portrait, 2 landscape
placement_ad_type 0 normal splash 1Native Splash 2 interstitial splash

When is_native=0 [normal splash] and placement_ad_type=0, Android apps only have direction with values 1 and 2; iOS apps have no style parameter;
When is_native=1 [Native Splash] and placement_ad_type=1, there is no style parameter;
When is_native=0 [interstitial splash] and placement_ad_type=2, Android apps only have direction (0, 1, 2) and video_mute; iOS apps only have video_mute;

Standard Nativeis_template_rendering Ad type 1-medium rectangle banner ad 2-Standard Native 3-Inline

When is_template_rendering=3, the ad_size style parameter is available
ad_size:
1: 320 x 50
2: 300 x 50
3: 728 x 90
4: 300 x 250

15ChartboostappSign (App Signature)
appId (App ID)
placementId (Location)
Rewarded Video-
Interstitial-
Banner

ad_size Ad source size

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

SplashNot supported
Standard NativeNot supported
16Tencent AdsappId (Media ID)
placementId (Unit ID)
Rewarded Videovideo_mute Video mute 1 yes, 2 no
Interstitial

full_screen_video Full screen 1 yes, 2 no
video_mute Video mute 1 yes, 2 no
auto_play_video Auto-play video 1 always, 2 Wi-Fi only
video_max_time Maximum video duration allowed duration range5-60

no duration limit:
video_max_time -1
Banneris_template_rendering Template type 1 Tencent Ads rendering
Splashzoom_out Splash V+ 1 yes, 2 no
Standard Native

is_template_rendering 1 Tencent Ads rendering 2 developer self-rendering 4 in-stream video ad(Tencent Ads rendering) 5 in-stream video ad(self-rendering)
video_mute Video mute 1 yes, 2 no
auto_play_video Auto-play video 1 always, 2 Wi-Fi only, 3 manual playback
video_max_time Maximum video duration allowed duration range5-60

Native Banner

is_template_rendering 2 developer self-rendering 5 in-stream video ad(self-rendering)
video_mute Video mute 1 yes, 2 no
auto_play_video Auto-play video 1 always, 2 Wi-Fi only, 3 manual playback
video_max_time Maximum video duration allowed duration range5-60

Draw feed-
Native Splash

is_template_rendering 2 developer self-rendering 3 Tencent Ads rendering video_mute Video mute 1 yes, 2 no
auto_play_video Auto-play video 1 always, 2 Wi-Fi only, 3 manual playback
video_max_time Maximum video duration allowed duration range5-60

17PangleappId (App ID)
placementId (Slot ID)
Rewarded Video

app_download_setup Placement type, confirmation dialog before download 0 default, 1 specified (Android only)
popconfirm secondary confirmation dialog 1 yes, 2 no (Android only)
is_template_rendering Template type 1 template rendering(personalized template) 2 self-rendering

When app_download_setup is 0, popconfirm is invalid (same below)
Interstitial

adsource_type Placement type, 1 full-screen video 2interstitial ad 3 new interstitial ad
app_download_setup Placement type, confirmation dialog before download 0 default, 1 specified (Android only)
popconfirm secondary confirmation dialog 1 yes, 2 no (Android only)
is_template_rendering Template type 1 template rendering(personalized template) 2 self-rendering
video_orientation Video playback orientation 1 portrait, 2 landscape
ad_size_ratio Code placement size ratio 1 1:1, 2 3:2,3 2:3

Note:
1) When adsource_type=1, there are no ad_size_ratio or video_orientation parameters.
2) When adsource_type=2, is_template_rendering must be 1 and there is no video_orientation parameter.
3) When adsource_type=3, there are no ad_size_ratio or is_template_rendering parameters.
Bannerapp_download_setup Placement type, confirmation dialog before download 0 default, 1 specified (Android only)
popconfirm secondary confirmation dialog 1 yes, 2 no (Android only)
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

Splash

is_template_rendering Template type 1 template rendering(personalized template) 2 self-rendering
zoom_out Splash eye-catching feature 1 yes, 2 no
app_download_setup (Android only)
popconfirm (Android only)

Standard Native

is_template_rendering Template type 1 template rendering(personalized template) 2 self-rendering 3 in-stream video ad
app_download_setup confirmation dialog before download 0 default, 1 specified (Android only)
popconfirm secondary confirmation dialog 1 yes, 2 no(Android only)

Draw feed-
Native Splash

is_template_rendering Template type 1 template rendering(personalized template) 2 self-rendering
app_download_setup confirmation dialog before download 0 default, 1 specified (Android only)
popconfirm secondary confirmation dialog 1 yes, 2 no(Android only)

18MintegralAppKey (App Key)
appId (App ID)
placementId (Location)
unitId (AD Unit ID)
Rewarded Video

video_mute Video mute 1 yes, 2 no
placement_ad_type Ad type 0 normal rewarded video 2 interstitial rewarded video

Interstitial

video_mute Video mute 1 yes, 2 no
is_template_rendering Template type 2 self-rendering
adsource_type Placement type 1 full-screen video 2half-screen interstitial[native interstitial]

When creating native interstitial, adsource_type is required
Banner

is_template_rendering Template type 2 self-rendering
ad_size Ad source size[Normal Banner]
video_mute Video mute 1 yes, 2 no[Native Banner]

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

Splash

is_skipable Skippable 1 yes, 2 no[normal splash]
direction Screen orientation 1 portrait, 2 landscape[normal splash]
countdown_time Countdown duration 2~10[normal splash]
placement_ad_type Ad type 0 Normal 1Native Splash 2interstitial splash
video_mute Video mute 1 yes, 2 no
is_template_rendering Template type 1 auto-rendering 2 custom rendering[Native Splash]
auto_play_video Auto play 1 yes 2-only wifi 3-[Native Splash]
ad_size Ad screen-height ratio 1:100% 2:80%

When is_native=0 [normal splash], only is_skipable, direction, countdown_time, and placement_ad_type are available. If it is a bidding source (is_header_bidding=1), ad_size is also required. When is_native=1 [Native Splash], only placement_ad_type, is_template_rendering, video_mute, and auto_play_video are available. When is_native=0 and placement_ad_type=2 [interstitial splash], only placement_ad_type and video_mute are available

Standard Native

is_template_rendering Template type 1 auto-rendering 2 custom rendering
video_mute Video mute 1 yes, 2 no
auto_play_video Auto play 1 yes 2-only wifi 3-

is_template_rendering=2, only the video_mute style parameter is available
19PangleappId (App ID)
placementId (Slot ID)
Rewarded Video

is_template_rendering Template type 1-template rendering
placement_ad_type Ad type 0-normal rewarded video 2-interstitial rewarded video
orientation Video playback orientation 1- 2-

When placement_ad_type=0 [normal rewarded video], applicable fields: is_template_rendering, orientation; is_template_rendering values: 1-template rendering; orientation values: 1-portrait, 2-landscape;
When placement_ad_type=2 [interstitial rewarded video], applicable fields: orientation; orientation values: 1-portrait, 2-landscape; not applicable fields: is_template_rendering

Interstitial

accept_material_type Ad creative type 1-image only 2-video only 3-image + video
orientation Video playback orientation 1- 2-
adsource_type Placement type 1-full-screen video 2-half-screen interstitial
ad_categories Ad categories multiple selections, values: 4/11/12/13

When is_native=0 [normal interstitial], applicable fields: accept_material_type, orientation; not applicable fields: adsource_type, ad_categories;
When is_native=0 and is_auto_create=1, accept_material_type required, values: 1-image only, 2-video only, 3-image + video;
When accept_material_type=2 [video only] 3[image + video], orientation required, values: 1-portrait, 2-landscape; When accept_material_type=1 [image only], orientation requires;
When is_native=1 [native interstitial], applicable fields: adsource_type, ad_categories; adsource_type values: 1-full-screen video, 2-half-screen interstitial; not applicable fields: accept_material_type, orientation;
When is_native=1 and is_auto_create=1, ad_categories required, multiple selections, values: 4-video, 11-wide image, 12-square image, 13-square video

Banner

is_template_rendering Template type 2-self-rendering
ad_size Ad source size
slide_banner YesNo 1-no 2-yes
ad_categories Ad categories multiple selections, values: 4/11/12/13

ad_size values: 1-640 x 100, 2-600 x 500;
When is_native=0 [Normal Banner], applicable fields: ad_size, slide_banner; not applicable fields: is_template_rendering, ad_categories;
When is_native=0 and is_auto_create=1, slide_banner required, values: 1-no, 2-yes;
When is_native=1 [Native Banner], applicable fields: is_template_rendering, ad_categories; is_template_rendering values: 2-self-rendering; not applicable fields: ad_size, slide_banner;
When is_native=1 and is_auto_create=1, ad_categories required, multiple selections, values: 4-video, 11-wide image, 12-square image, 13-square video

Splash

placement_ad_type Ad type 0-normal splash 2-interstitial splash
orientation Video playback orientation 1- 2-
ad_categories Ad categories multiple selections, values: 4/11/12/13

When is_native=0 [normal splash], applicable fields: placement_ad_type, orientation; placement_ad_type values: 0-normal splash, 2-interstitial splash; not applicable fields: ad_categories;
When is_native=0 and is_auto_create=1, orientation required, values: 1-portrait, 2-landscape;
When is_native=1 [Native Splash], applicable fields: ad_categories; not applicable fields: placement_ad_type, orientation;
When is_native=1 and is_auto_create=1, ad_categories optional; multiple selections, values: 4-video, 11-wide image, 12-square image, 13-square video

Standard Native

banner_mrec Placement type 1-Standard Native 4-Banner/MREC
is_template_rendering Template type 2-self-rendering
slide_banner YesNo 1-no 2-yes
ad_categories Ad categories multiple selections, values: 4/11/12/13

When banner_mrec=1 [Standard Native], applicable fields: is_template_rendering, ad_categories; not applicable fields: slide_banner;
When banner_mrec=1 and is_auto_create=1, is_template_rendering required, values: 2-self-rendering; ad_categories required, multiple selections, values: 4-video, 11-wide image, 12-square image, 13-square video;
When banner_mrec=4 [Banner/MREC, 600 x 500], applicable fields: slide_banner; not applicable fields: is_template_rendering, ad_categories;
When banner_mrec=4 and is_auto_create=1, slide_banner required, values: 1-no, 2-yes

20KuaishouappId (App ID)
appName(App name)
placementId (Placement ID)
Rewarded Video

direction Screen orientation 1 portrait, 2 landscape 3
video_mute Video mute 1 yes, 2 no

Interstitial

adsource_type Placement type, 1 full-screen video 2interstitial ad
direction Screen orientation 1 portrait, 2 landscape 3
video_mute Video mute 1 yes, 2 no

only adsource_type is 1full-screen video
directionScreen orientationoptional
Splash-
Standard Native

is_template_rendering Template type 1 template rendering 2 self-rendering

Native Banner

is_template_rendering Template type 2 self-rendering

Draw feed-
Native Splash

is_template_rendering Template type 1 template rendering 2 self-rendering

21SigmobappId (App ID)
AppKey (App Key)
placementId ( ID)
Rewarded Video
Interstitial-
Splash-
Standard Native-
Native Banner-
Native Splash-
23InmobiplacementId (Placement ID)Rewarded Videoplacement_ad_type Type 0-normal rewarded video 2-interstitial rewarded video
Interstitialadsource_type style parameter: 1-interstitial, 2-half-screen interstitialWhen is_native=1 [native interstitial],only the adsource_type style parameter is available
Splash

placement_ad_type SplashType 1-Native Splash 2-interstitial splash

Standard Nativebanner_mrec Placement type 1-Standard Native 4-MREC(300x250)
Bannerad_size Ad source sizead_size:
1: 320x50
2: 300x250
When is_native=1 [Native Banner], no ad_size style parameter
24FyberappId (App ID)
placementId (Placement ID)
Rewarded Video-
Interstitialvideo_mute Video mute 1 yes, 2 no
Splash

video_mute Video mute 1 yes, 2 no
placement_ad_type SplashType 2-interstitial splash

Standard NativeNot supported
Banner-
40TradPlus AdxplacementId (Placement ID)Rewarded Video

video_mute Video mute 1-yes 2-no
adsource_type Ad type 1- 2-rewarded interstitial ad
skip_time videoskip button display time(1~30s)

When adsource_type=1, the skip_time style parameter is not available
Interstitial

video_mute Video mute 1-yes 2-no
adsource_type Creative type 1-Interstitialvideo 2-Interstitialimage 3-Interstitialimage&Interstitialvideo

When adsource_type=2, the video_mute style parameter is not available
Splash-
-
Standard Nativetemplate_render_type Template type1- 2- 3- 4- 5-
Banner

ad_size Ad source size
width Custom
height Custom

ad_size:
1: Banner(320x50)
2: Banner(320x90)
3: Banner(300x250)
4: Banner(728x90)
100: Custom
When ad_size=100, requires width, height style parameter
43Baidu UnionappId (APP ID)
placementId (Ad Place ID)
Rewarded Video-
Interstitialadsource_type Placement type, 1 full-screen video 3 Interstitial
Banner

is_native=0 Not supported

Splash-
Standard Native

is_template_rendering Template type Template type 1 smart optimization 2 self-rendering

Native Banner

is_template_rendering Template type Template type 2 self-rendering

Native Splash

is_template_rendering Template type Template type 1 smart optimization 2 self-rendering

44YoukeyingappId (App ID)
placementId (Placement ID)
Rewarded Videovideo_mute Video mute 1 yes, 2 no
Interstitial-
Splash-
Standard Native

is_template_rendering Template type 2 self-rendering
video_mute Video mute 1 yes, 2 no

Native Splash

is_template_rendering Template type 2 self-rendering
video_mute Video mute 1 yes, 2 no

50YandexplacementId (Ad Unit ID)Rewarded Videoplacement_ad_type Type 0-normal rewarded video 2-interstitial rewarded video
Interstitial

adsource_type style parameter: 1-full-screen video, 2-half-screen interstitial
is_template_rendering Template type 2-self-rendering

When is_native=0 [normal interstitial], there is no style parameter

Splashplacement_ad_type SplashType 0-normal splash 1-Native Splash 2-interstitial splash
Standard Native

is_template_rendering Template type 1- 2-self-rendering

Banner

ad_size Ad source size

ad_size:
1: 240 x 40
2: 300 x 250
3: 320 x 100
4: 320 x 50
5: 400 x 240
6: 728 x 90
When is_native=1 [Native Banner], there is no style parameter

57BigoappId (App ID)
placementId (Placement ID)
Rewarded Videoplacement_ad_type 0-normal rewarded video 2-interstitial rewarded videoWhen creating interstitial rewarded video, only the placement_ad_type=2 style parameter is available
Interstitialadsource_type Placement type 1-full-screen video 2-half-screen interstitial

When is_native=0 [normal interstitial], there is no style parameter
When is_native=1 [native interstitial], only the adsource_type style parameter is available

Splash

adsource_type Placement type 1-half-screen ad 2-full-screen ad
placement_ad_type 0-normal splash 1-Native Splash 2-interstitial splash

When is_native=0 [normal splash], only the adsource_type style parameter is available
When is_native=1 [Native Splash], only the placement_ad_type style parameter is available
When creating interstitial splash, is_native=0 and only the placement_ad_type=2 style parameter is available

Standard Native-
Banner

ad_size Ad source size

ad_size:
1: 320 x 50
2: 300 x 250
When is_native=0 [Normal Banner], only the ad_size style parameter is available
When is_native=1 [Native Banner], there is no style parameter

76ColumbusappKey (App Key) appSecret (App Secret) placementId (Placement ID)Rewarded Video

placement_ad_type Type 0 normal rewarded video 2 interstitial rewarded video

iOS appsNot supportedCreate
Interstitial

adsource_type style parameter: 1-interstitial, 2-half-screen interstitial

When is_native=0 [normal interstitial],no adsource_type style parameter
Banner

ad_size Ad source size

ad_size:
1: 320 x 50
2: 300 x 250
When is_native=1 [Native Banner],no ad_size style parameter

Splash

placement_ad_type 1Native Splash 2 interstitial splash

When is_native=1 [Native Splash], placement_ad_type=1
When is_native=0 [interstitial splash], placement_ad_type=2

Standard Native-
77YsoplacementId (Placement ID)Rewarded Video-
Interstitial-
Splash-
Standard Native-
Banner-

Appendix 3 Traffic Segmentation Rule Data Format

FieldTypeRequiredDescriptionNotes
rulesArray[Object]YTraffic segmentation rule list
rules.namestringYNameNetwork connection type device_contype
App app_ver
Device type device_type
Device manufacturer device_mak
Weekday week
Time period time
Age user_age
Gender user_gender
SDK sdk_ver
OS version device_osv
Phone RAM device_ram
CPU architecture device_cpu
In-game level user_level
In-app purchase amount user_iap_amount
In-app purchase currency user_iap_currency
In-app purchase count user_iap_count
Channel channel
Sub-channel sub_channel
Custom user ID user_id
Device ID device_idfa
IDFA authorization device_idfa_auth
Segment Tag segment_tag
App install time app_instimespan
Custom user attributes user_custom
rules.typestringYTypeint,float,version,complex
rules.opstringYOperatorin,notIn,greater than,less than,greater than or equal to,less than or equal to,=,range
rules.datastringYContentNetwork connection type WiFi(2),5G(7),4G(6),3G(5),2G(4)
Device type 1-Phone,2-Pad
Device manufacturer Apple,Acer,Advan,Amazon,Asus,Blackshark,Coolpad,GIONEE,Google,Hisense,Honor,HTC,Huawei,Infinix,Lanix,LeEco,Lenovo,LGE,Meitu,Meizu,MetroPCS,Motorola,Nokia,Nubia,OnePlus,OPPO,Qcom,Realme,Redmi,Samsung,Sharp,Smartfren,Smartisan,Sony,TCL,Tecno,Verizon,Vivo,Xiaomi,ZTE,360
Weekday 1-7(code,)
Gender male(male),female(female)
In-app purchase currency USD,CNY,EUR
IDFA authorization 1 authorized,2 unauthorized
timezoneOffsetstringYTime zoneUses the selected time zone offset