Version | Updated on | Description |
1.0 | Jul 23rd, 2020 | Updated the API for creating, editing, and querying apps and ad placements, as well as the API for expected CPM. |
1.1 | April 8th, 2021 | Updated Industry Codes |
1.1.1 | May 8th, 2021 | Update normal mode to live mode , as same as platform interface |
1.1.2 | May 10th, 2021 | Update the bidding_type for global users |
1.1.3 | May 21st, 2021 | Support setting expected cpm when create Ad Placement |
1.1.4 | May 23rd, 2021 | Update the bidding name from SDK bidding to in-app bidding |
1.1.5 | May 27th, 2021 | Support multiple blocking rules binding, and provide a new parameter mask_rule_ids |
1.1.6 | Jul 14th, 2021 | Application query can be searched by package name |
1.1.7 | Aug 23rd, 2021 | Update the domain name partner.oceanengine.com , partner.bytedance.net to open-api.pangleglobal.com |
1.1.8 | Aug 26rd, 2021 | Add cpm currency unit |
1.1.9 | Dec 8rd, 2021 | Update sandbox environment |
1.1.10 | Feb 21st, 2022 | Support image material in interstitial ads, and provide a new parameter accept_material_type |
1.1.11 | April 2, 2022 | Modify 4.2, 4.3, 5.1.3 document content |
1.1.12 | April 19th, 2023 | Delete discard parameters and descriptions |
1.1.13 | June 8th, 2023 | Add parameter cpm_for_region in the ad placement creation and update. Supports pausing, resuming app and Ad Placement. |
Before using the Pangle API, you will need to:
Apply for a security key on Pangle, as Pangle will use your security key to identify your requests.
user_id:45745
role_id:45745
security_key:Zes6ctYcPJoW4O16Yj85zg==
mask_rule_id:5156944
name | type | description |
code | int | Returned status code. Please refer to section 5.1 for more details. |
message | string | Returned message: If an error occurs, the error details will be displayed in this field. Please refer to section 5.1.1 for more details. |
data | dict | Outcome data |
request_id | string | Unique request identifier: The request identifier is used to log all API request calls so that operation and maintenance engineers can easily locate and troubleshoot problems. |
Name | Type | Description | Verification Rule | Required |
user_id | int | Master account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | It must contain 40 hex digits (letters are in lowercase), such as: db29590697024fb53573a5cc0dd5f002801dc8ef. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
app_category_code | int | Second-level industry code | Please refer to section 5.2 for valid second-level industry codes. | Yes |
app_name | string | App name | Its length must be between 1 to 60 characters (each English letter counts as 1 character, and Chinese characters count as 2 characters). | Yes |
mask_rule_id | int | Blocking rule ID | (1) The blocking rule must be created using the corresponding account and be in effect. (2) Special value: send a request containing -1 to cancel the previously configured blocking rule. (3) Will be automatically synchronized to mask_rule_ids | No |
mask_rule_ids | list<int> | Blocking rule ID list | (1) The list of blocking rules that can be bound to the app, and will be automatically applied to the Ad Placements of the app (2) It does not take effect at the same time as mask_rule_id. If two parameters passed in at the same time, the system will return an error. (3) input the valid blocking rules list. You can skip this parameter if you don’t need blocking rules | No |
status | int | App status | Must be 6 (test). | Yes |
Name | Type | Description | Verification Rule | Required |
user_id | int | Master account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | (1) Format: It must contain 40 hex digits (letters are in lowercase). (2) Example: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
status | int | App status | It must be 2 (Live). | Yes |
app_category_code | int | Second-level industry code | Please refer to section 5.2 for valid second-level industry codes. | Yes |
app_name | string | App name | Its length must be between 1 to 60 characters (each English letter counts as 1 character, and Chinese characters count as 2 characters). | Yes |
download_url | string | App download URL | (1) The format of the URL must be valid. (2) For apps on the Apple App Store, Google Play Store, please find their URL on the app store page. (3) Supported app stores: Apple App Store, Google Play Store | Yes |
mask_rule_ids | list<int> | Blocking rule ID list | (1) The list of blocking rules that can be bound to the app, and will be automatically applied to the Ad Placements of the app (2) It does not take effect at the same time as mask_rule_id. If two parameters passed in at the same time, the system will return an error. (3) input the valid blocking rules list. You can skip this parameter if you don’t need blocking rules | No |
coppa_value | int | Child Privacy Protection | Available values: Default value: 0. -1 (configured by the client), 0 (for users aged 13 and above), 1 (for users aged 12 and below). | No |
Name | Type | Description |
code | int | Return codes: 0: Successfully created. 50007: Verification has timed out and will continue asynchronously, and some fields will not be updated. Please refer to section 4.2.1 Verification Timeout and Asynchronous Verification for more details. As for other return codes, please refer to section 5.1 Return Codes. |
message | string | Returned message: If an error occurs, its details will be displayed in this field. Please refer to section 5.1.1 for more details. |
data | dict | Returned data: (1) If an error occurs, this field will be blank. (2) The field app_id indicates the new app's ID. (3) The field status indicates the new app's status. Possible statuses for a new app: (1) If an app is successfully created in the sandbox environment, its status will be 6 (test). (2) If an app is successfully created in the actual business environment, its status will be 2 (live). (3) If verification has timed out and continues asynchronously, its status will be 1 (undergoing verification). In this case, you will receive a return code 50007. For more details, please refer to section 4.2.1 Verification Timeout and Asynchronous Verification. |
request_id | string | Unique request identifier: The request identifier is used to log all API request calls so that operation and maintenance engineers can easily locate and troubleshoot problems. |
Name | Type | Description | Editability | Verification Rule | Required |
user_id | int | Master account ID | Not editable | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | Not editable | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Not editable | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Not editable | Any integer | Yes |
sign | string | Signature for verifying the token | Not editable | It must contain 40 hex digits (letters are in lowercase), such as: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Not editable | Only version numbers can be entered, such as 1.0 . | Yes |
app_id | int | App ID | Not editable | The app must exist and its status must be test . | Yes |
app_category_code | int | Second-level industry code | editable | Please refer to section 5.2 for valid second-level industry codes. | No |
app_name | string | App name | editable | Its length must be between 1 to 60 characters (each English letter counts as 1 character, and Chinese characters count as 2 characters). | No |
mask_rule_ids | list<int> | Blocking rule ID list | editable | (1) The list of blocking rules that can be bound to the app, and will be automatically applied to the Ad Placements of the app (2) It does not take effect at the same time as mask_rule_id. If two parameters passed in at the same time, the system will return an error. (3) Input the valid blocking rules list. You can skip this parameter if you don’t need blocking rules | No |
Name | Type | Description | Verification Rule | Required |
user_id | int | Master account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | (1) Format: It must contain 40 hex digits (letters are in lowercase). (2) Example: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
app_id | int | App ID | The app must exist and its status must be test . | Yes |
status | int | App status | It must be 2 (live). | No |
app_category_code | int | Second-level industry code | Please refer to section 5.2 for valid second-level industry codes. | Yes |
app_name | string | App name | Its length must be between 1 to 60 characters (each English letter counts as 1 character, and Chinese characters count as 2 characters). | No |
download_url | string | App download URL | (1) The format of the URL must be valid. (2) For apps on the Apple App Store, Google Play Store, please find their URL on the app store page. (3) Supported app stores: Apple App Store, Google Play Store. | Yes |
mask_rule_ids | list<int> | Blocking rule ID list | (1) The list of blocking rules that can be bound to the app, and will be automatically applied to the Ad Placements of the app. (2) It does not take effect at the same time as mask_rule_id. If two parameters passed in at the same time, the system will return an error. (3) input the valid blocking rules list. You can skip this parameter if you don’t need blocking rules. | No |
coppa_value | int | Child Privacy Protection | Available values: Default value: 0. -1 (configured by the client), 0 (for users aged 13 and above), 1 (for users aged 12 and below). | No |
Name | Type | Description | Verification Rule | Required |
user_id | int | Master account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | (1) Format: It must contain 40 hex digits (letters are in lowercase). (2) Example: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
app_id | int | App ID | The app must exist and its status must be live or rejected . | Yes |
status | int | App status | It must be 2 (live). | No |
app_category_code | int | Second-level industry code | Please refer to section 5.2 for valid second-level industry codes. | No |
app_name | string | App name | Its length must be between 1 to 60 characters (each English letter counts as 1 character, and Chinese characters count as 2 characters). | No |
download_url | string | App download URL | (1) The format of the URL must be valid. (2) For apps on the Apple App Store, Google Play Store, please find their URL on the app store page. (3) Supported app stores: Apple App Store, Google Play Store | No |
mask_rule_ids | list<int> | Blocking rules ID list | (1) The list of blocking rules that can be bound to the app, and will be automatically applied to the Ad Placements of the app (2) It does not take effect at the same time as mask_rule_id. If two parameters passed in at the same time, the system will return an error. (3) input the valid blocking rules list. You can skip this parameter if you don’t need blocking rules | No |
coppa_value | int | Child Privacy Protection | Available values: Default value: 0. -1 (configured by the client), 0 (for users aged 13 and above), 1 (for users aged 12 and below). | No |
Name | Type | Description |
code | int | Return codes: 0: Successfully updated. 50007: Verification has timed out and will continue asynchronously, and some fields will not be updated. Please refer to section 4.2.1 Verification Timeout and Asynchronous Verification for more details. As for other return codes, please refer to section 5.1 Return Codes. |
message | string | Returned message: If an error occurs, its details will be displayed in this field. Please refer to section 5.1.1 for more details. |
data | dict | Returned data: (1) If an error occurs, this field will be blank. (2) The field app_id indicates the updated app's ID. (3) The field status indicates the updated app's status. (4) All updated fields and their new value will be displayed. (5) Fields that have not been updated will not be displayed. If a field is not updated, this may be caused by the following reasons: (1) The new value is the same as the original one. (2) Verification has timed out and will continue asynchronously. In this case, you will receive a return code 50007. For more details, please refer to section 4.2.1 Verification Timeout and Asynchronous Verification. |
request_id | string | Unique request identifier: The request identifier is used to log all API request calls so that operation and maintenance engineers can easily locate and troubleshoot problems. |
Name | Type | Description | Verification Rule | Required |
user_id | int | Account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | (1) Format: It must contain 40 hex digits (letters are in lowercase). (2) Example: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
page | int | Page number | Between 1 and 2,147,483,647. | Yes |
page_size | int | Number of apps contained in each page | Between 1 and 500. | Yes |
app_id | int[] | App ID | (1) These fields will be used to filter out the query results using and as the logical operator. (2) If you do not provide any filters, all apps associated with the master account or sub account will be displayed. (3) If you have provided filters, only matching apps will be displayed. (4) If no matching apps have been found, the app_list in the response field will be blank. (5) Please note that if any of the filter fields are left blank, the app_list in the response field will be blank. | No |
app_name | string[] | App name | No | |
os_type | string[] | Operating system | No | |
status | int[] | App status | No |
Name | Type | Description |
code | int | A return code. For more details, please refer to section 5.1 Definition of Return Codes. |
message | string | Returned message: If an error occurs, its details will be displayed in this field. Please refer to section 5.1.1 for more details. |
data | dict | It contains page_info and app_list. |
request_id | string | Unique request identifier: The request identifier is used to log all API request calls so that operation and maintenance engineers can easily locate and troubleshoot problems. |
Name | Type | Description |
page | int | Page number, consistent with the data from the developer. |
page_size | int | Number of apps contained in each page, consistent with the data from the developer. |
total_number | int | Number of matched apps. |
total_page | int | Total number of pages. |
Name | Type | Description | Returning Status |
app_id | int | App ID | Always returned |
user_id | int | Master account ID of the app | Always returned |
status | int | App status | Always returned |
app_category_code | int | Second-level industry code | Always returned |
app_name | string | App name | Always returned |
package_name | string | App package name | Always returned |
os_type | string | App operation system | Always returned |
download_url | string | App download URL | Always returned |
download_address | string | App publishing channel | Not returned if it is null |
mask_rule_ids | list[int] | Blocking rules ID | (1) Always returned, (2) Will return list of blocking rule ids that have been bound on the app, and an empty list will be returned if no rules have been bound. |
coppa_value | int | Child Privacy Protection | Not returned if it is not an international account |
Name | Type | Description | Verification Rule | Required |
user_id | int | Master account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | It must contain 40 hex digits (letters are in lowercase), such as: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
app_id | int | Owner app's ID | The app must exist and its status must be live or test . | Yes |
ad_slot_type | int | Ad Placement type | Available values: 1 (Native Ad), 2 (Banner Ad), 3 (App Open Ad), 5 (Rewarded Video Ad), 6 (Interstitial Ad) | Yes |
ad_slot_name | string | Ad Placement name | (1) Its length must be between 1 to 60 characters. (2) If it is left blank, App Name_Ad Placement Type_MM_DD_HH:mm will be generated by default. | No |
mask_rule_id | int | Blocking rule ID | (1) The blocking rule must be created using the corresponding account and be in effect. (2) Special value: send a request containing -1 to cancel the previously configured blocking rule. (3) Will be automatically synchronized to mask_rule_ids | No |
mask_rule_ids | list<int> | Blocking rule ID list | (1) The list of blocking rules that can be bound to the app, and will be automatically applied to the Ad Placements of the app (2) It does not take effect at the same time as mask_rule_id. If two parameters passed in at the same time, the system will return an error. (3) input the valid blocking rules list. You can skip this parameter if you don’t need blocking rules | No |
bidding_type | int | Bidding type | Available values: 0 (Fixed CPM), 1 (In-app bidding ), 2 (Client-side bidding) | No |
cpm | string | cpm setting | Any integer-string,for example( 100 ), settlement currency set to USD has an upper limit of 500, settlement currency set to RMB has an upper limit of 3000, USD and RMB values can include decimal values, such as 100.01 . | No |
currency | string | Cpm currency unit | If you set cpm, you must set this value,must be consistent with the account currency, only support usd | No |
cpm_for_region | dict | cpm_for_region setting | If you set bidding_type=0 can be passed in to the specified region and cpm. | No |
Name | Type | Description | Verification Rule | Required |
render_type | int | Render mode | Available values: 2 (custom render). | Yes |
ad_categories | int[] | Ad formats | 4 (video ad), 11 (wide-image ad), 12 (square-image ad), and 13 (square video ad) | Yes |
Name | Type | Description | Verification Rule | Required |
render_type | int | Render mode | Available values: 1 (template render) | Yes |
slide_banner | int | Use carousel? | Available values: 1 (no), 2 (yes). | Yes |
width | int | Ad size | Available values (width x height): Attention: Transfer px value 600*500px (300*250) 640*100px (320*50) | Yes |
height | int | Yes |
Name | Type | Description | Verification Rule | Required |
render_type | int | Render mode | Available values: 1 (template render) | Yes |
orientation | int | Video orientation | Available values: 1 (vertical), 2 (horizontal). | Yes |
accept_material_type | int | 1: Image Only 2: Video Only 3: Video & Image(Default) | No |
Name | Type | Description | Verification Rule | Required |
render_type | int | Render mode | Available values: 1 (template render) | Yes |
orientation | int | Video orientation | Available values: 1 (vertical), 2 (horizontal). | Yes |
reward_name | string | Reward name | Its length must be between 1 to 60 characters. | Yes |
reward_count | int | Amount of rewards | Min value: 0. Max value: 9,007,199,254,740,991. | Yes |
reward_is_callback | int | Reward delivery settings | Available values: 0 (reward delivery will not be verified by the server), 1 (reward delivery will be verified by the server). | Yes |
reward_callback_url | string | Postback URL | (1) The format of the URL must be valid. (2) This field is required if the reward delivery needs to be verified by the server, otherwise it has no actual effect. | No |
Name | Type | Description | Verification Rule | Required |
render_type | int | Render mode | Available values: 1 (template render) | Yes |
orientation | int | Video orientation | Available values: 1 (vertical), 2 (horizontal). | Yes |
accept_material_type | int | 2: Video Only(Default) 3: Video & Image | No |
Name | Type | Description | Verification Rule | Required |
user_id | int | Master account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | It must contain 40 hex digits (letters are in lowercase), such as: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
ad_slot_id | int | Ad Placement ID | The ad Placement must exist. The status of this code and its associated app must be live or test . | Yes |
ad_slot_name | string | Ad Placement name | Its length must be between 1 to 60 characters. | No |
status | int | Ad Placement status | Available values: -1 (Resume:Resume pause state until before pause), 2 (Live), 3(Pause), 6(Test). | No |
mask_rule_ids | list<int> | Blocking rule ID list | (1) The list of blocking rules that can be bound to the app, and will be automatically applied to the Ad Placements of the app (2) It does not take effect at the same time as mask_rule_id. If two parameters passed in at the same time, the system will return an error. (3) input the valid blocking rules list. You can skip this parameter if you don’t need blocking rules | No |
cpm | string | cpm setting | Any integer-string,for example( 100 ), settlement currency set to USD has an upper limit of 500, settlement currency set to RMB has an upper limit of 3000, USD and RMB values can include decimal values, such as 100.01 . | No |
currency | string | Cpm currency unit | If you set cpm, you must set this value,must be consistent with the account currency, only support usd | No |
cpm_for_region | dict | cpm_for_region setting | If you set bidding_type=0 can be passed in to the specified region and cpm. | No |
Name | Type | Description | Verification Rule | Required |
ad_categories | int[] | Ad formats | 4 (video ad), 11 (wide-image ad), 12 (square-image ad), and 13 (square video ad) | No |
Name | Type | Description | Verification Rule | Required |
slide_banner | int | Use carousel? | Available values: 1 (no), 2 (yes). | No |
Name | Type | Description | Verification Rule | Required |
orientation | int | Video orientation | Available values: 1 (vertical), 2 (horizontal). | No |
reward_name | string | Reward name | Its length must be between 1 to 60 characters. | No |
reward_count | int | Amount of rewards | Min value: 0. Max value: 9,007,199,254,740,991. | No |
reward_is_callback | int | Reward delivery settings | Available values: 0 (reward delivery will not be verified by the server), 1 (reward delivery will be verified by the server). | No |
reward_callback_url | string | Postback URL | (1) Its format must be valid. (2) This field can only be edited if the reward delivery needs to be verified by the server. (3) The postback URL is mandatory if the reward delivery verification becomes necessary after editing. (4) The postback URL will be automatically deleted if the reward delivery verification becomes unnecessary after editing. | No |
update_security_key | int | Update postback security key? | (1) Available values: 0 (do not update), 1 (update). (2) When the reward delivery needs to be verified by the server, if this field returns 1, the system will generate a new security_key for postback. (3) If the reward delivery verification becomes necessary after editing, the system will always generate a new security_key for postback regardless of whether this field returns 1 or not. (4) If the reward delivery verification becomes unnecessary after editing, the security_key will be automatically deleted. | No |
Name | Type | Description | Verification Rule | Required |
orientation | int | Video orientation | Available values: 1 (vertical), 2 (horizontal). | No |
accept_material_type | int | 2: Video Only(Default) 3: Video & Image | No |
Name | Type | Description | Verification Rule | Required |
user_id | int | Account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | (1) Format: It must contain 40 hex digits (letters are in lowercase). (2) Example: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
page | int | Page number | Between 1 and 2,147,483,647. | Yes |
page_size | int | Number of ad Placements contained in each page | Between 1 and 500. | Yes |
ad_slot_id | int[] | Ad Placement ID | (1) These fields will be used to filter out the query results using and as the logical operator. (2) If you do not provide any filters, all ad Placements associated with the master account or sub account will be displayed. (3) If you have provided filters, only matched ad Placements will be displayed. (4) If no matched ad Placements have been found, the ad_slot_list in the response field will be blank. (5) Please note that if any of the filter fields are blank, the ad_slot_list field in the response will be blank. | No |
ad_slot_name | string[] | Ad Placement name | No | |
app_id | int[] | Owner app's ID | No | |
app_name | string[] | Owner app's name | No | |
ad_slot_type | int[] | Ad Placement type | No | |
status | int[] | Ad Placement status | No |
Name | Type | Description |
code | int | A return code. 122:cpm value exceed range 123:the ad Placement doesn't support Cpm setting For more details, please refer to section 5.1 Definition of Return Codes. |
message | string | Returned message: If an error occurs, its details will be displayed in this field. Please refer to section 5.1.1 for more details. |
data | dict | It contains page_info and ad_slot_list. |
request_id | string | Unique request identifier: The request identifier is used to log all API request calls so that operation and maintenance engineers can easily locate and troubleshoot problems. |
Name | Type | Description |
page | int | Page number, consistent with the data from the developer. |
page_size | int | Number of ad Placements contained in each page, consistent with the data from the developer. |
total_number | int | Number of matched apps. |
total_page | int | Total number of pages. |
Name | Type | Description | Returning Status |
ad_slot_id | int | Ad Placement ID | Always returned |
ad_slot_name | string | Ad Placement name | Always returned |
app_id | int | Owner app's ID | Always returned |
app_name | string | Owner app's name | Always returned |
status | int | Ad Placement status | Always returned |
ad_slot_type | int | Ad Placement type | Always returned |
render_type | int | Render type | Always returned |
mask_rule_id | int | Blocking rule ID | Only returned when it is not null. |
mask_rule_ids | list<int> | List of blocking rules ID(including blocking rule ID binded on app) | Always returned |
bidding_type | int | Bidding type | Always returned |
ad_categories | int[] | Ad formats | Returned when the ad Placement is for in-feed, banner, or interstitial ads using customized renders. |
width | int | Ad size or aspect ratio | Returned when the ad Placement is for banner or interstitial ads using template renders. |
height | int | ||
orientation | int | Video orientation | Returned when the ad Placement is for rewarded video ads or interstitial video ads. |
reward_name | string | Reward name | Returned when the ad Placement is for rewarded video ads. |
reward_count | int | Amount of rewards | Returned when the ad Placement is for rewarded video ads. |
reward_is_callback | int | Reward delivery settings | Returned when the ad Placement is for rewarded video ads. |
reward_callback_url | string | Postback URL | Returned when the ad Placement is for rewarded video ads. |
reward_security_key | int | Postback security key | Returned when the ad Placement is for rewarded video ads. |
cpm | float | Cpm value | Returned when it not null. |
use_mediation | int | Used for Ad mediation or not(0:not used 1:used) | Always returned |
accept_material_type | int | Always returned |
(1) User's role must be super admin, admin, or other roles that have permissions to create or edit apps, ad Placements and blocking rules .
(2) The app that the ad Placement belongs to must be associated with the master account or sub-accounts.
Name | Type | Description | Verification Rule | Required |
user_id | int | Master account ID | The account must exist and its status must be operating . | Yes |
role_id | int | Sub account ID | The sub account must exist and belong to the master account. | Yes |
timestamp | int | Posix timestamp | Must be an integer (total number of seconds from 00:00:00 Jan 01, 1970 GMT to the time the request is initiated). | Yes |
nonce | int | A randomized nonce number for the signature | Any integer | Yes |
sign | string | Signature for verifying the token | It must contain 40 hex digits (letters are in lowercase), such as: db29590697024fb53573a5cc0dd5f002801dc8ed. | Yes |
version | string | API version number | Only version numbers can be entered, such as 1.0 . | Yes |
ad_slot_id | int | Ad Placement ID | The ad Placement must exist. The status of this code and its associated app must be live or test . | Yes |
cpm | string | CPM | Any integer-string,for example( 100 ), settlement currency set to USD has an upper limit of 500, settlement currency set to RMB has an upper limit of 3000, USD and RMB values can include decimal values, such as 100.01 | Yes |
site_id | int | App id | App id | |
delete_cpm | bool | Need to reset CPM? | If return true, then CPM setting will be deleted | |
currency | string | Cpm currency unit | If you set cpm, you must set this value,must be consistent with the account currency, only support usd | Yes |
Name | Type | Description |
code | int | PG0000:successfully created; 101:Authentication failed 107:Incorrect account 115:Parameter error 116:Server internal error 117:The sub-account does not have site-id permission 120:The Ad Placement doesn't exist 121: Still in the cool-down time of cpm setting 122:cpm value exceed range 123:The Ad Placement does not support setting cpm 129:The Ad Placement does not support setting cpm 135:Currency must be same as media currency For more details, please refer to section 5.1 Definition of Return Codes. |
message | string | Returned message: If an error occurs, its details will be displayed in this field. Please refer to section 5.1.1 for more details. |
The following information returned by the API is used to describe the status of the call:
Please note that the return code is the only basis for identifying the status of calls. Therefore, please design logical verification processes and workflows based on return codes, rather than returned messages or internal codes.
Return code | Message | Description |
0 | Success | Call successful |
40001 | This return message may vary. Please refer to the actual message to locate any problems. | The request parameters from the client failed to pass type or value range checks. |
40003 | Internal code:[{internal_code}], internal message:[{internal_message}] | The request parameters from the client failed to pass business logic checks. For more details, please check the internal code {internal_code} in the return message and refer to section 5.1.3 Internal Code List. |
40005 | Invalid json format | The format of client's request message is not in line with the JSON specifications. Please refer to section 4.1.3 Interface Request Specifications. |
41001 | User id:[{user_id}], role id:[{role_id}] does not match with sign:[{sign}], timestamp:[{timestamp}], nonce:[{nonce}] | The signature from the client fails to pass verification. The signature {sign} from the client is inconsistent with the one calculated by the server using the security key of the master account {user_id} - sub account {role_id}, timestamp {timestamp}, and nonce {nonce}. |
41003 | User id:[{user_id}] does not exist or is disabled | The master account {user_id} does not exist or is disabled. |
41005 | Role id:[{role_id}] does not exist or is not in active status | The sub account {role_id} does not exist or is not in active status. |
43001 | User id:[{user_id}], role id:[{role_id}] biz permission denied | The sub account {role_id} under the master account does not have the required permissions for this operation. |
43003 | User id:[{user_id}] biz app open api permission denied | The master account ID does not have the required permissions to call this API. |
43005 | User id:[{user_id}] does not have whitelist function:[{func_key}] | The master account ID has not been added to the required whitelist. |
45001 | App id:[{site_id}] does not exist under user id:[{user_id}] | The app {site_id} does not exist under the master account {user_id}. |
45003 | Invalid app status change, old:[{old}], new:[{new}] | The app status cannot be edited from its previous value {old} to the new value {new}. Please refer to section 4.2.1 App Statuses. |
45005 | Invalid app status:[{status}], app_id:[{app_id}] | Apps in the status {status} cannot be updated. |
45007 | App info validation failure, internal code:[{internal_code}], internal message:[{internal_message}] | App information verification failed. For more details, please check the internal code {internal_code} in the returned message and refer to section 5.1.3 Internal Code List. |
45009 | Missing parameter:[{param}] to pass app info validation | An essential parameter for verification is missing: {param} |
47001 | App already under updating | The app is already being updated. |
47003 | Previous request to:[{view_name}] on id:[{item_id}] is still ongoing | The previous edit for the target {item_id} via the interface {view_name} is still in progress. |
47005 | Request rate of user_id:[{user_id}] to:[{view_name}] exceeds limitation | The requests from the master account ID to the API {view_name} are too frequent. |
47006 | No permission or edit cpm too many times | Check the permission to edit cpm and the number of requests. |
47007 | Paused app/placement can only be resumed by passed -1 | Paused app/placement can only be resumed by passed -1. |
47008 | Only paused app/placement can be resumed by passed -1 | Only paused app/placement can be resumed by passed -1. |
50001 | System error | An error has occurred on the API server or in its subordinate services. |
50003 | Internal code:[{internal_code}], internal message:[{internal_message}] | An error has occurred when the API server calls its subordinate HTTP services: the return code is not 0. For more details, please check the internal code {internal_code} in the returned message and refer to section 5.1.3 Internal Code List. |
50005 | Internal http service error | An error has occurred when the API server calls its subordinate HTTP services: the HTTP status code is not 200, or an error has occurred during the call. |
50007 | App info validation in processing | The review has timed out and will continue asynchronously. Please refer to section 4.2.1 Verification Timeout and Asynchronous Verification. |
Internal code | Internal message | Description |
0 | Success. | Operation successful. |
SY_1000 | System error. | Unknown system error. |
SY_1001 | Parameter error. | Failed to parse the request. |
SY_1009 | Database error. | An error has occurred in the database. |
SY_1005 | Permission denied. | Insufficient permissions. |
SY_1011 | Invalid value for the field %s. | The value of the field does not meet the requirements. |
SY_1012 | The field %s cannot be modified for condition unsatisfied. | Due to some restrictions, the target field under your account cannot be edited. |
SY_1013 | Missing required field %s. | Some essential fields are missing. |
MD_1100 | Invalid user id of the media account. | Failed to find the media account for the account ID. |
MD_1107 | Abnormal user status. | The media account has been banned. |
MD_1108 | Invalid role id. | Incorrect sub account ID. |
MD_1132 | The user and the mask rule do not match. | Target blocking rule is not created by the media account to which the app belongs. |
MD_1201 | Invalid app id. | App ID does not exist. |
MD_1202 | The app already exists. | A non-DSP account cannot own multiple apps with the same operating system, app name, and app package name. |
MD_1203 | Cannot update offline or fraud site. | App stopped or aborted and cannot be edited. |
MD_1204 | Invalid app status change. | The change of app status does not conform to the app status workflow. |
MD_1213 | Apk sign and debug apk sign cannot be the same. | This app package has the same SHA1 and debugging SHA1, which is prohibited. |
MD_1214 | Apk sign is required. | This app package's SHA1 is missing. |
MD_1215 | Apk sign and debug apk sign are not required. | This app does not need the SHA1 or debugging SHA1. |
MD_1217 | The number of %s apps created by the user has reached limit. | There are too many apps of some certain status under this media account. |
MD_1218 | The user id and the app id do not match. | Target app does not belong to this media account. |
MD_1219 | The app doesn't belong to the role. | Target app does not belong to this sub media account. |
MD_1301 | Invalid ad Placement id. | Ad Placement ID does not exist. |
MD_1302 | Cannot update offline or fraud ad Placement. | Stopped or aborted ad Placements cannot be edited. |
MD_1303 | Invalid ad Placement status change. | The change of app status does not conform to the app status workflow. |
MD_1309 | Abnormal app status. | The app associated with this ad Placement is abnormal. |
MD_1310 | Cannot update the status of the ad Placement for the status of app is test. | The app associated with this ad Placement is a test one, so the ad Placement's status cannot be edited. |
MD_1311 | The ad Placement type is not supported. | Ad Placements of the target type cannot be created. |
MD_1312 | The bidding type is not supported. | Accounts that have not been added to the in-app bidding whitelist cannot choose in-app bidding or bidding on client . |
MD_1313 | The render type is not supported. | Ad Placements of the target render mode cannot be created. This is probably because you have not been added to the required whitelist. |
MD_1316 | Vertical pic and other ad categories cannot be selected at the same time. | Vertical image ads are incompatible with ads of other formats. |
MD_1317 | Cannot select vertical pic. | Vertical image ads are unavailable. This is probably because you have not been added to the required whitelist. |
MD_1318 | The number of %s ad Placements of the site has reached limit. | There are too many ad Placements of a certain status under this app. |
MD_1319 | The ad Placement doesn't belong to the user. | Target ad Placement is incompatible with your account. |
MD_1322 | Cannot update the expected cpm of country: [%s]. | The expected CPM in some countries cannot be updated. This is because the target country is not supported, or the settlement type is not divided settlement. |
MD_1323 | The value of expected cpm must be between 0 and 2000. | The expected CPM must be a float between 0 and 2,000. |
MD_1324 | Cannot update the orientation. | The video mode for rewarded video ads or full-screen video ad Placements using template renders cannot be edited. |
MD_1325 | The app is temporarily not used for Ad mediation | The app is temporarily not used for Ad mediation |
MD_1326 | Must choose whether the code bit is used for Ad mediation | Must choose whether the code bit is used for Ad mediation |
21000 | Download URL error | The app download URL is incorrect. |
21001 | App downloading error | Failed to download the app. |
21003 | Package parsing error | Failed to parse the app package. |
21005 | Verification failed, the download link format is not correct | Verify app download link format. |
21007 | Application package name is blocked | Verification failed, application package name parsing error. |
21008 | Unsupported app store | This app store is not supported yet. |
21011 | Package name error | Package name is incorrect. |
21012 | SHA1 error | SHA1 is incorrect. |
21014 | App validation still in processing | Verification has timed out and will continue asynchronously. |
21017 | Package name already exist | This package name already exists. |
21020 | App downloading time out | App download has timed out. |
21023 | App store has not been registered by media | This app store is not supported by the media. |
21101 | SHA1 already exists | This SHA1 value already exists. |
21102 | SHA1 related parameter error | Incorrect parameters for the SHA1. |
21103 | Send validation info error | An error occurred when the verification message was being sent. |
21104 | Create audit order error | An error occurred when the app verification ticket was being issued. |
21105 | Application failed to acquire app info by download url | Download url does not exist.Please ensure that the application has been launched in countries supported by Pangle. |
45007 | URL parsing app information failed | Failed to fetch app info by download url. |
Package name banned | Application package name is blocked. | |
135 | Cpm currency is error | Currency must be same as media currency |
136 | Currency not exist error | Currency must be exist |
9998 | Service downtime | Service downtime can't operate during |
Industry Code | Chinese Name | English Name |
120102 | 办公-笔记文档 | Business-Notebook and Net Storage |
120104 | 办公-效率办公 | Business-Productivity |
120106 | 办公-其他 | Business-Others |
120201 | 出行-地图导航 | Travel and Transport-Maps and Navigation |
120202 | 出行-出行服务 | Travel and Transport-Public Transport |
120203 | 出行-出行工具 | Travel and Transport-Shared Transportation |
120211 | 出行-旅行服务 | Travel and Transport-Travel Service |
120212 | 出行-车主服务 | Travel and Transport-Car Owner Services |
120218 | 出行-其他 | Travel and Transport-Others |
120301 | 购物&电商-导购比价 | Shopping/E-commerce-Product Review and Price Comparison |
120302 | 购物&电商-微店服务 | Shopping/E-commerce-Ecommerce Platform Services |
120303 | 购物&电商-闲置交易 | Shopping/E-commerce-Second-hand Goods |
120305 | 购物&电商-电商 | Shopping/E-commerce-Ecommerce |
120306 | 购物&电商-其他 | Shopping/E-commerce-Others |
120402 | 健康-健康管理 | Health & Fitness-Health Management |
120403 | 健康-丽人美妆 | Health & Fitness-Beauty Products |
120404 | 健康-医疗美容 | Health & Fitness-Aesthetic Medicine |
120405 | 健康-运动健身 | Health & Fitness-Workout Tracking |
120407 | 健康-医药服务 | Health & Fitness-Medical Services |
120408 | 健康-挂号问诊 | Health & Fitness-Hospital Queue Service |
120409 | 健康-女性健康 | Health & Fitness-Woman's Health |
120413 | 健康-其他 | Health & Fitness-Others |
120501 | 教育-K12 | Education-K12 |
120502 | 教育-词典翻译 | Education-Dictionaries |
120503 | 教育-高等教育 | Education-Higher Education |
120504 | 教育-教育工具 | Education-Education Tools |
120505 | 教育-学前教育 | Education-Preschool Education |
120506 | 教育-语言学习 | Education-Language Learning |
120507 | 教育-职业教育 | Education-Professional Education |
120508 | 教育-其他 | Education-Others |
120602 | 金融-保险服务 | Finance-Insurance |
120603 | 金融-股票交易 | Finance-Stock Trading |
120606 | 金融-网上银行 | Finance-Banking |
120613 | 金融-其他 | Finance-Others |
120701 | 社交-互动交友 | Social Networking-Interactive Dating |
120702 | 社交-即时通讯 | Social Networking-Instant Messaging |
120703 | 社交-社区论坛 | Social Networking-Community Forum |
120708 | 社交-其他 | Social Networking-Others |
120803 | 生活-本地生活 | Lifestyle-Local Guides |
120809 | 生活-美食菜谱 | Lifestyle-Recipes |
120810 | 生活-求职招聘 | Lifestyle-Employment |
120813 | 生活-其他 | Lifestyle-Others |
120903 | 视频-横版短视频 | Videos-Horizontal Version of Short Video |
120905 | 视频-视频播放器 | Videos-Video Players |
120906 | 视频-视频工具 | Videos-Video Editing Tools |
120908 | 视频-直播 | Videos-Live Broadcasting |
120909 | 视频-长视频 | Videos-Long-form Video |
120910 | 视频-其他 | Videos-Others |
120911 | 视频-竖版短视频 | Videos-Vertical Layout Short Video |
121001 | 图像-拍照摄影 | Photo-Photography |
121002 | 图像-图片分享 | Photo-Image Sharing |
121003 | 图像-图片美化 | Photo-Photo Editing |
121004 | 图像-相册图库 | Photo-Photo Albums |
121005 | 图像-其他 | Photo-Others |
121101 | 工具-电子邮件 | Utilities-Emails |
121102 | 工具-通讯辅助 | Utilities-Communication Aids |
121104 | 工具-电话短信 | Utilities-Texting and Calling |
121106 | 工具-辅助工具 | Utilities-System Widgets |
121111 | 工具-天气服务 | Utilities-Weather |
121113 | 工具-万年历 | Utilities-Calendar |
121114 | 工具-星座运势 | Utilities-Horoscopes |
121116 | 工具-WiFi | Utilities-WiFi |
121118 | 工具-浏览器 | Utilities-Browser |
121119 | 工具-输入法 | Utilities-Keyboards |
121122 | 工具-文件管理 | Utilities-File Management |
121123 | 工具-清理安全 | Utilities-Cleaner and Booster |
121124 | 工具-应用商店 | Utilities-App Store |
121127 | 工具-壁纸桌面 | Utilities-Wallpaper |
121128 | 工具-手机铃声 | Utilities-Ringtones |
121133 | 工具-其他 | Utilities-Others |
121201 | 音乐-网络K歌 | Music-Karaoke |
121203 | 音乐-音乐播放器 | Music-Music Players |
121204 | 音乐-音乐乐器 | Music-Musical Instruments |
121205 | 音乐-音乐识别 | Music-Music Recognition |
121206 | 音乐-在线音乐 | Music-Music |
121207 | 音乐-其他 | Music-Others |
121208 | 音乐-有声听书 | Music-Audiobook |
121315 | 游戏-游戏大厅 | Games-Game Center |
121319 | 游戏-角色扮演 | Games-Role Playing Game |
121320 | 游戏-策略 | Games-Hardcore-Strategy Game |
121322 | 游戏-社交 | Games-Social Game |
121323 | 游戏-射击 | Games-Shooting Game |
121324 | 游戏-赛车 | Games-Racing Game |
121325 | 游戏-体育 | Games-Sports Game |
121326 | 游戏-模拟经营 | Games-Simulation Game |
121327 | 游戏-动作 | Games-Action Game |
121328 | 游戏-策略塔防 | Games-Strategy Tower Defense Game |
121329 | 游戏-合成 | Games-Merge Game |
121330 | 游戏-消除 | Games-Match 3 |
121331 | 游戏-放置 | Games-Idle Game |
121332 | 游戏-答题 | Games-Quiz Game |
121333 | 游戏-益智解迷 | Games-Puzzle Game |
121334 | 游戏-音乐节奏 | Games-Music Game |
121335 | 游戏-跑酷 | Games-Arcade Runner |
121336 | 游戏-棋牌捕鱼 | Games-Casual-Card Game |
121337 | 游戏-文字 | Games-Word |
121338 | 游戏-女性向 | Games-Female Orientated |
121339 | 游戏-MOBA | Games-MOBA |
121340 | 游戏-仙侠 | Games-Chinese Fantasy |
121341 | 游戏-冒险 | Games-Adventure |
121342 | 游戏-沙盒 | Games-Sandbox |
121343 | 游戏-卡牌 | Games-Card |
121344 | 游戏-其他 | Games-Others |
121402 | 阅读-手机动漫 | Reading-Animation & Manga |
121405 | 阅读-在线阅读 | Reading-Online Reading |
121406 | 阅读-其他 | Reading-Others |
121501 | 政府-电子政务 | Government-Government Services |
121502 | 政府-其他 | Government-Others |
121601 | 智能设备-智能穿戴 | Smart Devices-Smart Wearables |
121602 | 智能设备-智能家居 | Smart Devices-Smart Home |
121606 | 智能设备-其他 | Smart Devices-Others |
121704 | 资讯-体育资讯 | News-Sports News |
121707 | 资讯-综合资讯 | News-Integrated News |
121708 | 资讯-其他 | News-Others |
121709 | 资讯-政府资讯 | News-Official Government Info |
121710 | 资讯-门户资讯 | News-Information Portal |
121801 | 其他-其他 | Others-Others |
121901 | 互金-消费金融 | Tech Finance-Consumer Finance |
121902 | 互金-虚拟货币 | Tech Finance-Virtual Currencies |
121903 | 互金-网络彩票 | Tech Finance-Lotteries |
121904 | 互金-支付结算 | Tech Finance-Payment |
121905 | 互金-综合理财 | Tech Finance-Integrated Financial Services |
121906 | 互金-网赚平台 | Tech Finance-Get Paid To |
121907 | 互金-P2P理财 | Tech Finance-Peer to Peer Finanace |
121908 | 互金-记账理财 | Tech Finance-Bookkeeping & Management |
121909 | 互金-现金借贷 | Tech Finance-Loans |
121910 | 互金-其他 | Tech Finance-Others |
122001 | 基建-能源 | Infrastructure-Energy |
122002 | 基建-物流快递 | Infrastructure-Shipping |
122003 | 基建-运营商服务 | Infrastructure-ISP Services |
122004 | 基建-交通运输 | Infrastructure-Transportation |
122005 | 基建-其他 | Infrastructure-Others |
122101 | 传媒-纸媒 | Media Outlets-Newspaper |
122102 | 传媒-央媒 | Media Outlets-CCTV |
122103 | 传媒-出版社 | Media Outlets-Publishing |
122104 | 传媒-广电 | Media Outlets-Broadcasting |
122105 | 传媒-其他 | Media Outlets-Others |
This section presents example programs for calling the API interfaces using different programming languages.