OpenAPI DocOpenAPI Doc
  • BestProxy

BestProxy

app_key Please check the authentication key after logging in at the homepage of your personal center.

Please save the key securely. This key grants you administrative privileges regarding your account.

Authentication method

App Key Authentication

POST Parameter:

app_key: {your_app_key}

Or as a query parameter:

?app_key={your_app_key}

Response format

All interfaces return data in a uniform JSON format.

{
"code": 200,
"message": "Operation successful",
"data": {}
}
  • code : Status code. 200 indicates success, other values indicate failure.
  • message : Response message (Chinese)
  • data : Response data

Base URLs:

Authentication

  • HTTP Authentication, scheme: bearer

  • API Key (apiKeyAuth)

    • Parameter Name: app_key, in: query. Supports GET/POST and the name parameter.

Proxy account management

GET Proxy Account List

GET /gateway/whitelist-account/list

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "username": "string",
        "password": "string",
        "created_at": "string",
        "remark": "string",
        "product_type": 9,
        "usage_flow": 0,
        "limit_flow": 102400,
        "status": 0
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» coderesponseCodefalsenoneStatus code: 200 indicates success: 3 indicates invalid app_key.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» idintegerfalsenoneAccount number
»»» usernamestringfalsenoneProxy account name
»»» passwordstringfalsenoneProxy account password
»»» created_atstringfalsenoneAdd time
»»» remarkstringfalsenoneNotes
»»» product_typeproductTypesfalsenonePlan Types: 9 – Dynamic Home Traffic Plan; 11 – Dynamic Home IP; 14 – Static Data Center IP; 25 – Static Home IP
»»» usage_flowintegerfalsenoneUsed traffic, in KB units
»»» limit_flowintegerfalsenoneCustomized traffic limit: Maximum value in GB is 102400. Setting it to 0 means there is no limit.
»»» statusintegerfalsenoneEnabled status: 1 - Enabled; 0 - Disabled

Enumeration values

Attributesvalue
product_type9
product_type11
product_type14
product_type25

POST to add a proxy account.

POST /gateway/whitelist-account/add

Body request parameters

{
  "app_key": "stringstringstringstringstringst",
  "accounts": "user01:pass,user02:pass,user03:pass",
  "remark": "",
  "product_type": 9
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoFor the account password, please enter it in the format of username:password. The account and password should only contain digits and letters. Any special symbols or spaces are not allowed. The account and password should be separated by colons. Multiple accounts can be added together, and proxy accounts should be separated by commas (,).
» remarkbodystringNoDescription of proxy account
» product_typebodyproductTypesNoPlan Types: 9 – Dynamic Home Traffic Plan; 11 – Dynamic Home IP; 14 – Static Data Center IP; 25 – Static Home IP

Enumeration values

Attributesvalue
» product_type9
» product_type11
» product_type14
» product_type25

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

POST to delete the proxy account.

POST /gateway/whitelist-account/delete

Please note that once the deletion is completed, it cannot be restored. Any used data or other related information cannot be retrieved. There is a wait time of approximately 5 minutes after deletion, and charges may still be incurred during this period.

Body request parameters

{
  "app_key": "stringstringstringstringstringst",
  "accounts": "user01,user02"
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoProxy accounts should only contain digits and letters. Batch operations are supported, and proxy accounts can be separated by commas (,)

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

POST proxy account is disabled.

POST /gateway/whitelist-account/disable

The disconnection process takes about 5 minutes. During this time, charges may still be incurred.

Body request parameters

{
  "app_key": "stringstringstringstringstringst",
  "accounts": "user01,user02"
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoProxy accounts should only contain digits and letters. Batch operations are supported, and proxy accounts can be separated by commas (,)

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

Enable proxy account for POST.

POST /gateway/whitelist-account/enable

Body request parameters

{
  "app_key": "stringstringstringstringstringst",
  "accounts": "user01,user02"
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountsbodystringNoProxy accounts should only contain digits and letters. Batch operations are supported, and proxy accounts can be separated by commas (,)

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

Modify proxy account password via POST operation.

POST /gateway/whitelist-account/change-password

Please note that there will be a 5-minute wait time after the modification. During this period, the old password will still be valid and usable.

Body request parameters

{
  "app_key": "stringstringstringstringstringst",
  "account": "user",
  "password": "pass"
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountbodystringNoThe proxy account should only contain digits and letters.
» passwordbodystringNoNew password for the proxy account. Only digits and letters are allowed.

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

POST to modify the remarks associated with the proxy account.

POST /gateway/whitelist-account/change-remark

Body request parameters

{
  "app_key": "stringstringstringstringstringst",
  "account": "user",
  "remark": ""
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountbodystringNoThe proxy account should only contain digits and letters.
» remarkbodystringNoNew remarks for the proxy account. The text should contain no more than 32 characters in Chinese or 64 characters in English.

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

POST to modify the proxy account’s traffic limit.

POST /gateway/whitelist-account/change-limit

Please note that there may be a delay of up to 5 minutes in the reporting of traffic statistics. This means that the actual amount of traffic consumed may exceed this limit.

Body request parameters

{
  "app_key": "stringstringstringstringstringst",
  "account": "user",
  "limit": 0
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountbodystringNoThe proxy account should only contain digits and letters.
» limitbodyintegerNoTraffic limit, in GB: 0 indicates no limit.

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

Modify proxy account information via POST interface.

POST /gateway/proxy-account/change

You can modify the proxy account password, remarks, traffic limits, daily traffic limit, activation status, or the UDP switch.

Body request parameters

{
  "app_key": "string",
  "account": "string",
  "password": "string",
  "remark": "string",
  "limit": 0,
  "daily_limit": 0,
  "status": 0,
  "udp": 0
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» accountbodystringNoProxy account name
» passwordbodystringNoNew password: 6-16 digits or characters. If not provided, no change will be made.
» remarkbodystringNoNew notes
» limitbodyintegerNoTraffic limit, in GB units. 0 indicates no limit.
» daily_limitbodyintegerNoDaily data limit, in GB. 0 indicates no limit.
» statusbodyintegerNoEnabled status
» udpbodyintegerNoUDP supports a switch; this feature is applicable only to package types 14, 16, 21, and 25.

Enumeration values

Attributesvalue
» status0
» status1
» udp0
» udp1

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

IP Allowlist

GET IP Allowlist

GET /gateway/proxy-ip/list

Request parameters

NameLocationTypeRequiredExplanation
product_typequeryintegerNoPackage Type ID

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "ip": "1.1.1.1",
        "remark": "string",
        "product_type": 0,
        "created_at": "string"
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» ipstringfalsenoneWhite List of IP Addresses
»»» remarkstringfalsenoneNotes
»»» product_typeintegerfalsenonePackage Types
»»» created_atstringfalsenoneCreation date

Add IP Address to the Allowlist via POST Function

POST /gateway/proxy-ip/add

Body request parameters

{
  "app_key": "string",
  "ips": "1.1.1.1,2.2.2.2",
  "remark": "string",
  "product_type": 0,
  "user_product_id": 0
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» ipsbodystringNoIP addresses that need to be added to the allowlist. Multiple IP addresses should be separated by commas or line breaks.
» remarkbodystringNoNotes
» product_typebodyintegerNoPackage Type ID
» user_product_idbodyintegerNoUser package ID. Required when the package type is 11.

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

After POST, delete the IP address list.

POST /gateway/proxy-ip/delete

Body request parameters

{
  "app_key": "string",
  "ips": "1.1.1.1,2.2.2.2",
  "verify_type": "string",
  "verify_code": "string"
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectNonone
» app_keybodystringNoAuthorization key
» ipsbodystringNoIP addresses that need to be removed from the allowlist. Multiple addresses should be separated by commas.
» verify_typebodystringNoVerification type: phone, email, wechat, or totp
» verify_codebodystringNoCaptcha

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": null
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» datanullfalsenonenone

Traffic log query

Summary of GET usage by day

GET /gateway/user-usage-flow/total

Request parameters

NameLocationTypeRequiredExplanation
app_keyquerystring(password)It isAuthentication key
start_timequerystring(Y-m-d H:i:s)NoStart time, with precision up to the second. Please note that there is a delay of 5 minutes in logging records. By default, the records are kept for up to 7 days.
end_timequerystring(Y-m-d H:i:s)NoThe deadline is accurate to the second. Please note that there is a 5-minute delay in logging records. The current time is used by default.
usernamequerystringNoSub-account name: By default, all accounts will be queried. However, you can specify a specific sub-account. Please note that if you add a sub-account with the same name, the query will return all usage records of that sub-account.
product_typequerynumberNoPackage Types

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "day": "2022-08-01",
        "flow": 0
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» daystringfalsenoneDate
»»» flowintegerfalsenoneTraffic consumed, in units of KB

Package Inquiry

View list of purchased packages.

GET /gateway/user-product/list

Request parameters

NameLocationTypeRequiredExplanation
app_keyquerystring(password)It isAuthentication key
trade_noquerystringNoPlease enter the full order number. Fuzzy searching is not supported.
pagequerynumberNoPagination, default: 1
sizequerynumberNoNumber of items per page. Default value: 20
product_typequerynumberNoPackage Types

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "id": 0,
        "created_at": "2022-05-13 12:14:15",
        "expired_at": "2022-05-13 12:14:15",
        "product_type": 9,
        "trade_no": "2022051312134339861461465434",
        "order": {
          "created_at": "2022-05-13 12:13:43",
          "pay_at": "2022-05-13 12:13:43",
          "title": "Entry level"
        }
      }
    ],
    "page": 1,
    "page_size": 20,
    "total_count": 0,
    "total_page": 0
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» idintegerfalsenonePackage Number
»»» created_atstringfalsenoneEffective period of the package
»»» expired_atstringfalsenoneThe package will expire after a certain time, and after that, data usage will become unavailable.
»»» product_typeproductTypesfalsenonePlan Types: 9 – Dynamic Home Traffic Plan; 11 – Dynamic Home IP; 14 – Static Data Center IP; 25 – Static Home IP
»»» trade_nostringfalsenoneOrder transaction number
»»» orderobjectfalsenonenone
»»»» created_atstringfalsenoneOrder creation time
»»»» pay_atstringfalsenoneOrder payment deadline
»»»» titlestringfalsenoneOrder Description
»» pageintegerfalsenoneCurrent page range
»» page_sizeintegerfalsenonePage size
»» total_countintegerfalsenoneTotal number of records
»» total_pageintegerfalsenoneNumber of total pages

Enumeration values

Attributesvalue
product_type9
product_type11
product_type14
product_type25

Retrieve summary data of user packages

GET /gateway/user-product/summary

Obtain statistical summary information regarding the user's subscription, including total quantities, valid quantities, quantities approaching expiration, and expired quantities.

Request parameters

NameLocationTypeRequiredExplanation
app_keyquerystring(password)It isAuthentication key
product_typequeryintegerNoProduct type: Only supports 9 (dynamic data package) and 12 (long-term IDC data package).

Enumeration values

Attributesvalue
product_type9
product_type12

Return example

200 Response

{
  "code": 200,
  "msg": "Success",
  "data": {
    "total": 1048576,
    "total_count": 5,
    "effective": 524288,
    "effective_count": 3,
    "effective_total": 786432,
    "effective_used": 262144,
    "temporary": 102400,
    "temporary_count": 1,
    "expired": 51200,
    "expired_count": 1,
    "used": 473088
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» totalintegerfalsenoneTotal traffic/IP volume (unit: KB)
»» total_countintegerfalsenoneTotal number of packages
»» effectiveintegerfalsenoneEffective remaining amount (Unit: KB)
»» effective_countintegerfalsenoneNumber of valid packages
»» effective_totalintegerfalsenoneEffective total amount (Unit: KB)
»» effective_usedintegerfalsenoneEffective usage (Unit: KB)
»» temporaryintegerfalsenoneTotal amount within the deadline (expires within 7 days, unit: KB)
»» temporary_countintegerfalsenoneNumber of subscription packages that will expire within 7 days
»» expiredintegerfalsenoneExpired remaining amount (Unit: KB)
»» expired_countintegerfalsenoneNumber of expired plans
»» usedintegerfalsenoneTotal used memory (Unit: KB)

IP extraction

GET: Extract IP address.

GET /gateway/ip/v3

Request parameters

NameLocationTypeRequiredExplanation
app_keyquerystring(password)It isAccess keys
ccquerystringNoCountry or Region
statequerystringNoState or Province
cityquerystringNocity
formatquerystringNoGet the format
lbquerystringNoSeparator character, only valid for text formats.
numquerynumberNoExtract quantity
lifequerynumberNoMaintenance cycle - minutes
epquerystringNoProxy network

Enumeration values

Attributesvalue
epus
ephk
epde

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      [
        "150.109.114.72:1140",
        "150.109.114.72:1141",
        "150.109.114.72:1142",
        "150.109.114.72:1143",
        "150.109.114.72:1144",
        "150.109.114.72:1145",
        "150.109.114.72:1146",
        "150.109.114.72:1147",
        "150.109.114.72:1148",
        "150.109.114.72:1149"
      ]
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[any]falsenonenone

GET Dynamic List of Cities in the Region V4

GET /gateway/ip/dcl4

To obtain the list of cities based on the username, you need to log in and verify your identity. Additionally, the account must belong to the current user.

Request parameters

NameLocationTypeRequiredExplanation
usernamequerystringIt isProxy account username

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "cache": true,
    "list": [
      {
        "City": "Los Angeles",
        "Area": "US",
        "State": "California"
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» cachebooleanfalsenoneIs it from the cache?
»» list[object]falsenonenone
»»» Citystringfalsenonecity
»»» Areastringfalsenoneregion
»»» StatestringfalsenoneState/Province

GET Dynamic List of Regions, States/Provinces, V4

GET /gateway/ip/dsl4

To obtain a list of states/provinces based on the username, you need to log in and ensure that the account belongs to the current user.

Request parameters

NameLocationTypeRequiredExplanation
usernamequerystringIt isProxy account username

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "cache": true,
    "list": [
      {
        "City": "Los Angeles",
        "Area": "US",
        "State": "California"
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» cachebooleanfalsenoneIs it from the cache?
»» list[object]falsenonenone
»»» Citystringfalsenonecity
»»» Areastringfalsenoneregion
»»» StatestringfalsenoneState/Province

GET Dynamic List of Regions, States/Provinces, and Cities V4

GET /gateway/ip/dal4

Retrieve a combined list of states/provinces and cities based on user names, grouped by region. Login is required, and the account must be owned by the current user.

Request parameters

NameLocationTypeRequiredExplanation
usernamequerystringIt isProxy account username

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "cache": true,
    "list": [
      {
        "Area": "US",
        "states": [
          {
            "State": null,
            "cities": null
          }
        ]
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» cachebooleanfalsenoneIs it from the cache?
»» list[object]falsenoneRegion list
»»» AreastringfalsenoneRegional code
»»» states[object]falsenoneState/Province List
»»»» StatestringfalsenoneState/Province Name
»»»» cities[string]falsenoneList of Cities

GET City List

GET /gateway/ip/dynamic-citys

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "name_zh_cn": "United States",
        "name_en": "United States",
        "continent_code": "NA",
        "country_code": "US",
        "items": [
          {
            "city": null,
            "state": null,
            "continent_code": null,
            "country_code": null
          }
        ]
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenoneList
»»» name_zh_cnstringfalsenoneCountry or region name
»»» name_enstringfalsenoneCountry or region name
»»» continent_codestringfalsenoneContinent Codes
»»» country_codestringfalsenoneCountry or region code
»»» items[object]falsenoneState or Province
»»»» citystringfalsenoneCity Name
»»»» statestringfalsenoneState or province name code
»»»» continent_codestringfalsenoneContinent Codes
»»»» country_codestringfalsenoneCountry or region code

GET City Search

GET /gateway/ip/dynamic-citys/search

Request parameters

NameLocationTypeRequiredExplanation
country_codequerystringIt isCountry or region code
statequerystringIt isState or province code

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      "string"
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been accepted.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[string]falsenoneList

GET State List

GET /gateway/ip/dynamic-states

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      {
        "name_zh_cn": "United States",
        "name_en": "United States",
        "continent_code": "NA",
        "country_code": "US",
        "items": [
          {
            "state": null,
            "continent_code": null,
            "country_code": null
          }
        ]
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenoneList
»»» name_zh_cnstringfalsenoneCountry or region name
»»» name_enstringfalsenoneCountry or region name
»»» continent_codestringfalsenoneContinent Codes
»»» country_codestringfalsenoneCountry or region code
»»» items[object]falsenoneState or Province
»»»» statestringfalsenoneState or province name code
»»»» continent_codestringfalsenoneContinent Codes
»»»» country_codestringfalsenoneCountry or region code

GET State/Province Search

GET /gateway/ip/dynamic-states/search

Request parameters

NameLocationTypeRequiredExplanation
country_codequerystringIt isCountry or region code

Return example

200 Response

{
  "code": 200,
  "msg": "string",
  "data": {
    "list": [
      "string"
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe request has been completed.Inline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200 indicates success; 3 indicates invalid app_key; 156 indicates that the account is not verified.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[string]falsenoneList

GET: List of purchased static IP addresses.

GET /gateway/ip/get-static-ip

Request parameters

NameLocationTypeRequiredExplanation
country_codequerystringNoCountry or region code
product_typequerynumberNoProduct Type: 25 – Static residential IP addresses; 14 – Data center IP addresses
trade_noquerystringNoFilter IP addresses by order number.
pagequerynumberNoPage number
sizequerynumberNoNumber of items per page
statusquerynumberNoStatus: 1 – Valid; 2 – Invalid; 3 – About to expire; 4 – Under maintenance

Enumeration values

Attributesvalue
product_type14
product_type25
status1 - 2 - 3 - 4

Return example

200 Response

{}

Return the result

Status codeMeaning of status codesExplanationData model
200OKnoneInline

Return data structure

GET: Number of static IP addresses available in the available regions.

GET /gateway/ip/static-ip-region

Request parameters

NameLocationTypeRequiredExplanation
ispqueryintegerNoISP filtering: No filtering if not specified (default value: 1 for sites 1/4/5)
as nqueryintegerNoShould the ASN group data be returned?
exclusivequeryintegerNoShould the statistics be based on exclusive inventory?

Please provide a detailed description.

ISP: ISP filtering option. If not specified, no filtering will occur (default value: 1 for sites 1/4/5)

valueDescription
0Data center static IP address (IDC)
1Home residential static IP addresses (ISP)

asn: Should the ASN packet data be returned?

valueDescription
0Do not return ASN group data (default)
1Returning ASN group data

Exclusive: Whether to count results based on exclusive inventory.

valueDescription
0Statistics are based on the current user/shared group configuration (default).
1Exclude all assigned IP addresses. Only count those available inventory addresses.

Enumeration values

Attributesvalue
isp0
isp1
as n0
asn1
exclusive0
exclusive1

Return example

200 Response

{
  "code": 200,
  "msg": "Request succeeded",
  "data": {
    "list": [
      {
        "code": "US",
        "number": 55
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» codestringfalsenoneCountry or region code
»»» numberintegerfalsenonequantity

GET: Used to retrieve information related to host_pool. Supports countries/regions.

GET /gateway/host-pool/regions

Query the list of countries/regions supported by the host_pool service for the current site.

This interface is designed for scenarios where data centers provide IP addresses based on traffic points. It only considers the available IP addresses in the current site, and only counts countries/regions based on those IP addresses. It does not support filtering by ASN, ISP, or dedicated inventory. Additionally, it does not exclude IP addresses based on user purchase history.

Return example

200 Response

{
  "code": 200,
  "msg": "Request succeeded",
  "data": {
    "list": [
      {
        "code": "US",
        "number": 55,
        "name_zh_cn": "United States",
        "name_en": "United States",
        "square_flag": "https://example.com/static/flags/us.png"
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKRequest succeededInline

Return data structure

Status code: 200

NameTypeRequiredrestrictionsChinese NameExplanation
» codeintegerfalsenoneStatus code: 200, indicating success.
» msgstringfalsenoneStatus messages
» dataobjectfalsenonenone
»» list[object]falsenonenone
»»» codestringfalsenoneCountry or region code, ISO 3166-1 alpha-2 format
»»» numberintegerfalsenoneNumber of Available Data Center IP Addresses in the Current Site
»»» name_zh_cnstringfalsenoneChinese name of the country or region
»»» name_enstringfalsenoneEnglish name of the country or region
»»» square_flagstringfalsenoneSquare national flag image URL

Order Management

GET order list

GET /gateway/order/list

Request parameters

NameLocationTypeRequiredExplanation
page_noqueryintegerNonone
page_sizequeryintegerNonone
trade_noquerystringNoOrder Number
start_timequerystring(date-time)NoStart time (inclusive), such as 2024-01-01 00:00:00
end_timequerystring(date-time)NoEnd time (excluding)
statusqueryintegerNoOrder status
product_typequeryintegerNoProduct Type
invoicequeryintegerNoInvoice status: 0 – No restrictions; 1 – Invoices issued; -1 – Invoices not issued yet (can be issued later)
pay_fee_statusqueryintegerNoLength-based filtering: 1. Overpayment; 2. Shortfall payment

Please provide a detailed description.

Status: Order status

statusDescription
0To be paid
1Paid
2Timeout and payment not made, operation cancelled.
3Refunded

product_type: Product type

Product TypeDescription
3Recharge remaining balance
9Dynamic traffic packages
11Dynamic Global Package V2
12Long-term IDC traffic packages
13Residential static IP traffic packages
14Data center static IP package
15Long-term ISP traffic package
16Static traffic packages
17Dynamic IP address quota packages
18web-scraper
19Static IP renewal
20Static IP Reallocation Quota
21Static Traffic Package v2
24Static traffic additional package
25Residential static IP packages
26Supplementary payment – Some payment channels require users to manually enter the amount to be paid. For example, in the case of virtual currencies, if there is any shortfall in the payment amount, users need to contact customer service to arrange a supplementary payment through this product.
27Serp
28Video

Enumeration values

| Attributes | value |`` | --- | --- | | status | 0 | | status | 1 | | status | 2 | | status | 3 | | product_type | 3 | | product_type | 9 | | product_type | 11 | | product_type | 12 | | product_type | 14 | | product_type | 16 | | product_type | 17 | | product_type | 18 | | product_type | 19 | | product_type | 21 | | product_type | 24 | | product_type | 25 | | product_type | 26 | | product_type | 27 | | product_type | 28 | | invoice | -1 | | invoice | 0 | | invoice | 1 | | pay_fee_status | 1 | | pay_fee_status | 2 |

Return example

200 Response

{
  "code": 0,
  "message": "Operation successful",
  "data": {
    "list": [
      {
        "id": 0,
        "trade_no": "string",
        "out_trade_no": "string",
        "product_id": 0,
        "product_type": 0,
        "amount": 0,
        "unit_price": 0.1,
        "total_fee": 0.1,
        "goods_fee": 0.1,
        "pay_fee": 0.1,
        "discount_fee": 0.1,
        "handling_fee": 0.1,
        "refund_fee": 0.1,
        "pm_id": 0,
        "pm_title": "string",
        "pm_logo": "string",
        "status": 0,
        "title": "string",
        "detail": "string",
        "region_desc": "string",
        "pay_at": "2019-08-24T14:15:22Z",
        "pay_timestamp": 0,
        "created_at": "2019-08-24T14:15:22Z",
        "pay_fee_status": 0,
        "invoice": {}
      }
    ],
    "pagination": {
      "total": 0,
      "page_no": 0,
      "page_size": 0,
      "total_pages": 0
    }
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKSuccessInline

Return data structure

Create an order via POST interface.

POST /gateway/order/create

There are many different package types, and each package has different configuration requirements. Please fill in the parameters according to the actual situation. Incorrectly filling in the parameters may lead to the order failing to be created.

examples:

Renewing static IP addresses

{
    "pid": "package_id", // Obtained from the /gateway/product API
    "upids": "1,2,3,4,5,6", // Obtained from the corresponding id field in the /gateway/ip/get-static-ip API
    "pm_id": 1 // Obtained from the /gateway/payment/list or /gateway/payment/groups API
  }

Purchase static residential IP addresses

{
  "pid": "package_id", // Obtained from the /gateway/product API
  "pm_id": "payment_method_id", // Obtained from the /gateway/payment/list or /gateway/payment/groups API
  "region_list": "JP,15,333|DE,10,444|US,5,555" // Format: region,quantity,ASN|region,quantity,ASN (ASN number is optional)
}

Static data center IP address purchases

{
  "pid": "package_id", // Obtained from the /gateway/product API
  "pm_id": "payment_method_id", // Obtained from the /gateway/payment/list or /gateway/payment/groups API
  "region_list": "JP,15,333|DE,10,444|US,5,555" // Format: region,quantity,ASN|region,quantity,ASN (ASN number is optional)
}

Dynamic residential property purchases

{
  "pid": "package_id", // Obtained from the /gateway/product API
  "pm_id": "payment_method_id" // Obtained from the /gateway/payment/list or /gateway/payment/groups API
}

Static rotation traffic purchase

{
  "pid": "package_id", // Obtained from the /gateway/product API
  "pm_id": "payment_method_id" // Obtained from the /gateway/payment/list or /gateway/payment/groups API
}

Dynamic unlimited data plan purchases

{
  "pid": "package_id", // Obtained from the /gateway/product API
  "pm_id": "payment_method_id", // Obtained from the /gateway/payment/list or /gateway/payment/groups API
  "product_sku_bandwidth_id": "bandwidth_specification_id",
  "product_sku_concurrency_id": "concurrency_specification_id"
}

Top up your balance

{
  "pid": "package_id", // Obtained from the /gateway/product API
  "pm_id": "payment_method_id", // Obtained from the /gateway/payment/list or /gateway/payment/groups API
  "recharge_amount": "recharge_amount"
}

Body request parameters

{
  "pid": 0,
  "upids": "string",
  "amount": 0,
  "pm_id": 0,
  "region_list": "string",
  "coupon_sn": "string",
  "use_invitation_registration_discount": true,
  "renew_duration": 0,
  "product_sku_bandwidth_id": 0,
  "product_sku_concurrency_id": 0,
  "product_sku_duration_id": 0,
  "etd": 1,
  "recharge_amount": 0
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectIt isnone
» pidbodyintegerIt isPackage ID, which is the id field returned from the /gateway/product interface
» upidsbodystringNoRenewal plan ID list (separated by commas), obtained from the id field returned by the /gateway/user-product/list or /gateway/ip/get-static-ip interface.
» amountbodynumberNoNumber of newly purchased packages
» pm_idbodyintegerIt isPayment method ID, obtained from the id field returned by the /gateway/payment/list or /gateway/payment/groups API.
» region_listbodystringNoWhen purchasing static IP addresses, specify the region, quantity, and ASN number. The format should be: region, quantity, ASN.
» coupon_snbodystringNoCoupon Code
» use_invitation_registration_discountbodybooleanNoShould we offer a discount for registered through invitation?
» renew_durationbodyintegerNoRenewal duration - Static IP available for selection
» product_sku_bandwidth_idbodyintegerNoPackage 11: Bandwidth Package ID
» product_sku_concurrency_idbodyintegerNoPackage 11: Concurrent Usage Package ID
» product_sku_duration_idbodyintegerNoPackage type=11 Required: ID of the duration specification
» etdbodyintegerNoDuration multiplier. Obtained from the "extension_of_time_days" parameter. A value of 2 indicates doubling the number of days; it also represents an increase in price.
» recharge_amountbodyintegerNoPackage 3: Recharge amount

Return example

200 Response

{
  "code": 0,
  "message": "Operation successful",
  "data": {
    "id": 0,
    "trade_no": "string",
    "out_trade_no": "string",
    "product_id": 0,
    "product_type": 0,
    "amount": 0,
    "unit_price": 0.1,
    "total_fee": 0.1,
    "goods_fee": 0.1,
    "pay_fee": 0.1,
    "discount_fee": 0.1,
    "handling_fee": 0.1,
    "refund_fee": 0.1,
    "pm_id": 0,
    "pm_title": "string",
    "pm_logo": "string",
    "status": 0,
    "title": "string",
    "detail": "string",
    "region_desc": "string",
    "pay_at": "2019-08-24T14:15:22Z",
    "pay_timestamp": 0,
    "created_at": "2019-08-24T14:15:22Z",
    "pay_fee_status": 0,
    "invoice": {
      "name": "string",
      "org_name": "string",
      "first_name": "string",
      "last_name": "string",
      "phone": "string",
      "email": "[email protected]",
      "role_type": 0,
      "vat_id": "string",
      "address_country": "string",
      "address_city": "string",
      "address_line1": "string",
      "address_line2": "string",
      "address_postal_code": "string"
    }
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKCreation successful.Inline

Return data structure

Cancel the order.

POST /gateway/order/close

Body request parameters

{
  "trade_no": "string"
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectIt isnone
» trade_nobodystringIt isnone

Return the result

Status codeMeaning of status codesExplanationData model
200OKThe operation was successful.None

POST: Pre-check for order availability

POST /gateway/order/check

Called before creating an order. It is used for previewing prices, discounts, and details related to IP renewal. No actual order will be created. The parameters are exactly the same as those in /gateway/order/create .

Body request parameters

{
  "pid": 0,
  "upids": "string",
  "amount": 1,
  "pm_id": 0,
  "region_list": "string",
  "coupon_sn": "string",
  "renew_duration": "1m",
  "product_sku_bandwidth_id": 0,
  "product_sku_concurrency_id": 0,
  "product_sku_duration_id": 0,
  "etd": 1,
  "recharge_amount": 0
}

Request parameters

NameLocationTypeRequiredExplanation
bodybodyobjectIt isnone
» pidbodyintegerIt isPackage ID
» upidsbodystringNoIP Renewal: List of user package IDs, separated by commas
» amountbodyintegerNoNumber of units purchased
» pm_idbodyintegerIt isPayment Method ID
» region_listbodystringNoRegion and quantity of static IP addresses to be purchased. Format: Region ID, Quantity
» coupon_snbodystringNoCoupon Code
» renew_durationbodystringNoIP renewal duration: 1 month for 1 IP; 2 months for 2 IPs. em refers to the end of the next month.
» product_sku_bandwidth_idbodyintegerNoPackage Type=11 Required: ID of the bandwidth specification
» product_sku_concurrency_idbodyintegerNoPackage type=11 Required: ID of the concurrent configuration
» product_sku_duration_idbodyintegerNoPackage type=11 Required: ID of the duration specification
» etdbodyintegerNoDuration multiplier, obtained from the "package extension_of_time_days" parameter.
» recharge_amountbodynumberNoPackage type=3 Required: Amount to recharge

Enumeration values

Attributesvalue
» renew_duration1m
» renew_duration2m
» renew_durationem

Return example

200 Response

{
  "code": 0,
  "message": "Operation successful",
  "data": {
    "product_id": 0,
    "amount": 0,
    "discount_fee": 0.1,
    "total_fee": 0.1,
    "pay_fee": 0.1,
    "product_type": 0,
    "title": "string",
    "detail": "string",
    "ip_result": [
      {
        "ip": "string",
        "price": 0.1,
        "country_code": "string",
        "current_time": "2019-08-24T14:15:22Z",
        "renewal_time": "2019-08-24T14:15:22Z",
        "country": {}
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKPre-check succeeded.Inline

Return data structure

Payment management

GET: Retrieves a list of payment methods.

GET /gateway/payment/list

Request parameters

NameLocationTypeRequiredExplanation
trade_noquerystringNoOrder number - Some orders require a specific payment method, which can be provided here.
currencyquerystringNoCurrency unit

Return example

200 Response

{
  "code": 0,
  "message": "Operation successful",
  "data": {
    "list": [
      {
        "id": 0,
        "title": "string",
        "logo": "string",
        "group": "string",
        "handling_rate": 0,
        "handling_fee": 0,
        "disabled": false,
        "min": 0,
        "max": 0
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKSuccess in obtaining the result.Inline

Return data structure

GET: Retrieves a list of payment methods.

GET /gateway/payment/groups

Request parameters

NameLocationTypeRequiredExplanation
trade_noquerystringNoOrder number - Some orders require a specific payment method, which can be provided here.

Return example

200 Response

{
  "code": 0,
  "message": "Operation successful",
  "data": {
    "list": [
      {
        "name": "string",
        "logos": [
          null
        ],
        "items": [
          null
        ]
      }
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKSuccess in obtaining the result.Inline

Return data structure

Marketing

GET: The ratio of bonus money to be awarded during recharge

GET /gateway/activity/balance-recharge-gift-ratio

Recharge bonus ratio

Return example

200 Response

{
  "code": 0,
  "message": "Operation successful",
  "data": {
    "list": [
      null
    ]
  }
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKOKInline

Return data structure

Products

GET Product List

GET /gateway/product

retrieves a list of packages available for purchase on the current site. Filters can be applied based on category, validity period, etc.

Request parameters

NameLocationTypeRequiredExplanation
typequeryintegerNoPackage type. See the description of the Product.type enumeration for details. If this parameter is not provided, all types will be returned.
parent_product_typequeryintegerNoParent package type. Valid only when type=19 (IP renewal). Used for filtering product lines: 14 = Data Center; 25 = Residential
time_daysqueryanyNoValidity period filtering, supporting single value or array format, such as 30 / [30, 90, 365].
show_typequeryanyNoDisplay type filtering, supporting single value or array format.

Please provide a detailed description.

Type: Type of the package. See the enumeration description in Product.type for details. If this parameter is not provided, all types will be returned.

Enumeration values

Attributesvalue
parent_product_type14
parent_product_type25

Return example

200 Response

{
  "code": 0,
  "message": "Operation successful",
  "data": [
    {
      "id": 0,
      "title": "string",
      "type": 0,
      "show_type": 0,
      "status": 0,
      "price": 0.1,
      "usd_price": 0.1,
      "price_hkd": 0.1,
      "original_price": 0.1,
      "original_usd_price": 0.1,
      "original_price_hkd": 0.1,
      "local_price": 0.1,
      "local_original_price": 0.1,
      "preferred_currency": "string",
      "support_currencies": "string",
      "flow_value": 0.1,
      "flow_give": 0.1,
      "balance_give": 0.1,
      "balance_value": 0.1,
      "time_validity": 0.1,
      "time_price": 0.1,
      "time_days": 0,
      "tip1": "string",
      "tip2": "string",
      "introduce": [
        "string"
      ],
      "region_list_id": 0,
      "renew_product_list": "string",
      "parent_product_type": 0,
      "total_count": 0,
      "remain_count": 0,
      "extension_of_time_days": [
        0
      ],
      "time_days_price_rate": 0.1,
      "desc": {
        "subtitle": "string",
        "flow_value": 0.1,
        "flow_give": 0.1,
        "balance_give": 0.1,
        "time_validity": 0.1,
        "time_price": 0.1,
        "tip1": "string",
        "tip2": "string",
        "introduce": [
          null
        ]
      },
      "sku": {
        "bandwidth_list": [
          null
        ],
        "duration_list": [
          null
        ],
        "concurrency_list": [
          null
        ]
      }
    }
  ]
}

Return the result

Status codeMeaning of status codesExplanationData model
200OKOKInline

Return data structure

Data model

productTypes

9

Package types: 9 – Dynamic residential data packages; 11 – Dynamic residential IP addresses; 14 – Static data center IP addresses; 25 – Static residential IP addresses.

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
anonymousintegerfalsenonePlan Types: 9 – Dynamic Residential Data Plans; 11 – Dynamic Residential IP Addresses; 14 – Static Data Center IP Addresses; 25 – Static Residential IP Addresses

Enumeration values

Attributesvalue
anonymous9
anonymous11
anonymous14
anonymous25

apiKey

null

Authentication key

Attributes

None

responseCode

200

Status code: 200 indicates success: 3 indicates invalid app_key.

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
anonymousintegerfalsenoneStatus code: 200 indicates success: 3 indicates invalid app_key.

responseMsg

"success"

response message

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
anonymousstringfalsenoneresponse message

SuccessResponse

{
  "code": 0,
  "message": "Operation successful",
  "data": {}
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
codeintegerfalsenonenone
messagestringfalsenonenone
dataobjectfalsenonenone

ErrorResponse

{
  "code": 400,
  "message": "Parameter error",
  "errors": {}
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
codeintegerfalsenonenone
messagestringfalsenonenone
errorsobjectfalsenonenone

User

{
  "id": 0,
  "email": "[email protected]",
  "phone": "string",
  "balance": 0.1,
  "status": 0,
  "is_real_name": true,
  "created_at": "2019-08-24T14:15:22Z"
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
idintegerfalsenonenone
emailstring(email)falsenonenone
phonestringfalsenonenone
balancenumber(float)falsenonenone
statusintegerfalsenonenone
is_real_namebooleanfalsenonenone
created_atstring(date-time)falsenonenone

Order

{
  "id": 0,
  "trade_no": "string",
  "out_trade_no": "string",
  "product_id": 0,
  "product_type": 0,
  "amount": 0,
  "unit_price": 0.1,
  "total_fee": 0.1,
  "goods_fee": 0.1,
  "pay_fee": 0.1,
  "discount_fee": 0.1,
  "handling_fee": 0.1,
  "refund_fee": 0.1,
  "pm_id": 0,
  "pm_title": "string",
  "pm_logo": "string",
  "status": 0,
  "title": "string",
  "detail": "string",
  "region_desc": "string",
  "pay_at": "2019-08-24T14:15:22Z",
  "pay_timestamp": 0,
  "created_at": "2019-08-24T14:15:22Z",
  "pay_fee_status": 0,
  "invoice": {
    "name": "string",
    "org_name": "string",
    "first_name": "string",
    "last_name": "string",
    "phone": "string",
    "email": "[email protected]",
    "role_type": 0,
    "vat_id": "string",
    "address_country": "string",
    "address_city": "string",
    "address_line1": "string",
    "address_line2": "string",
    "address_postal_code": "string"
  }
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
idintegerfalsenoneOrder ID
trade_nostringfalsenoneInternal order number
out_trade_nostringfalsenoneExternal order number
product_idintegerfalsenonePackage ID
product_typeintegerfalsenonePackage type. See the list of product types for details.
amountintegerfalsenoneNumber of units purchased
unit_pricenumber(float)falsenoneUnit price
total_feenumber(float)falsenoneTotal order price (excluding discounts, including fees)
goods_feenumber(float)falsenoneProduct price (including discounts, excluding handling fees)
pay_feenumber(float)falsenoneActual payment amount (including discounts and fees)
discount_feenumber(float)falsenoneDiscount amount
handling_feenumber(float)falsenoneFees and charges
refund_feenumber(float)falsenoneRefund amount
pm_idintegerfalsenonePayment method ID from /gateway/payment/list
pm_titlestringfalsenonePayment Method Name
pm_logostringfalsenonePayment Method: Logo URL
statusintegerfalsenoneOrder status
titlestringfalsenonePackage Title
detailsstringfalsenonePackage Description
region_descstringfalsenoneRegional specifications description
pay_atstring(date-time)falsenonePayment deadline
pay_timestampintegerfalsenonePayment timestamp
created_atstring(date-time)falsenoneCreation date
pay_fee_statusintegerfalsenonePayment status: 0 – Normal; 1 – Long-term payment (overpayment); 2 – Short-term payment
invoiceobjectfalsenoneInvoice information (only applicable to online payment orders)
» namestringfalsenoneFull name
» org_namestringfalsenoneCompany Name
» first_namestringfalsenonenone
» last_namestringfalsenonenone
» phonestringfalsenonenone
» emailstring(email)falsenonenone
» role_typeintegerfalsenone1 person, 2 companies
» vat_idstringfalsenoneTax identification number
» address_countrystringfalsenonenone
» address_citystringfalsenonenone
» address_line1stringfalsenonenone
» address_line2stringfalsenonenone
» address_postal_codestringfalsenonenone

OrderCheckResult

{
  "product_id": 0,
  "amount": 0,
  "discount_fee": 0.1,
  "total_fee": 0.1,
  "pay_fee": 0.1,
  "product_type": 0,
  "title": "string",
  "detail": "string",
  "ip_result": [
    {
      "ip": "string",
      "price": 0.1,
      "country_code": "string",
      "current_time": "2019-08-24T14:15:22Z",
      "renewal_time": "2019-08-24T14:15:22Z",
      "country": {
        "name_zh_cn": "string",
        "flag": "string",
        "square_flag": "string"
      }
    }
  ]
}

Order pre-check results

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
product_idintegerfalsenonePackage ID
amountintegerfalsenonequantity
discount_feenumber(float)falsenoneDiscount amount
total_feenumber(float)falsenoneTotal order amount
pay_feenumber(float)falsenoneActual payment amount
product_typeintegerfalsenonePackage Types
titlestringfalsenonePackage Title
detailsstringfalsenonePackage Description
ip_result[object]falsenoneIP batch renewal results (only returned when performing IP renewal operations)
» ipstringfalsenonenone
» pricenumber(float)falsenonenone
» country_codestringfalsenonenone
» current_timestring(date-time)falsenonenone
» renewal_timestring(date-time)falsenonenone
» countryobjectfalsenonenone
»» name_zh_cnstringfalsenonenone
»» flagstringfalsenoneRound-shaped flag URL
»» square_flagstringfalsenoneSquare-shaped banner URL

Product

{
  "id": 0,
  "title": "string",
  "type": 0,
  "show_type": 0,
  "status": 0,
  "price": 0.1,
  "usd_price": 0.1,
  "price_hkd": 0.1,
  "original_price": 0.1,
  "original_usd_price": 0.1,
  "original_price_hkd": 0.1,
  "local_price": 0.1,
  "local_original_price": 0.1,
  "preferred_currency": "string",
  "support_currencies": "string",
  "flow_value": 0.1,
  "flow_give": 0.1,
  "balance_give": 0.1,
  "balance_value": 0.1,
  "time_validity": 0.1,
  "time_price": 0.1,
  "time_days": 0,
  "tip1": "string",
  "tip2": "string",
  "introduce": [
    "string"
  ],
  "region_list_id": 0,
  "renew_product_list": "string",
  "parent_product_type": 0,
  "total_count": 0,
  "remain_count": 0,
  "extension_of_time_days": [
    0
  ],
  "time_days_price_rate": 0.1,
  "desc": {
    "subtitle": "string",
    "flow_value": 0.1,
    "flow_give": 0.1,
    "balance_give": 0.1,
    "time_validity": 0.1,
    "time_price": 0.1,
    "tip1": "string",
    "tip2": "string",
    "introduce": [
      "string"
    ]
  },
  "sku": {
    "bandwidth_list": [
      {
        "id": 0,
        "value": 0,
        "price": 0.1,
        "price_usd": 0.1,
        "price_hkd": 0.1
      }
    ],
    "duration_list": [
      {
        "id": 0,
        "value": 0,
        "price": 0.1,
        "price_usd": 0.1,
        "price_hkd": 0.1
      }
    ],
    "concurrency_list": [
      {
        "id": 0,
        "value": 0,
        "price": 0.1,
        "price_usd": 0.1,
        "price_hkd": 0.1
      }
    ]
  }
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
idintegerfalsenonePackage ID
titlestringfalsenoneMain Package Title
typeintegerfalsenonePackage Types
show_typeintegerfalsenoneDisplay Type: 1. Ordinary; 2. Highly recommended; 3. Not available for purchase (requires customization); 4. Trial version only
statusintegerfalsenoneStatus: 1 - Released; 0 - Rejected
pricenumber(float)falsenoneRenminbi prices
usd_pricenumber(float)falsenoneUS dollar price
price_hkdnumber(float)falsenoneHKD price
original_pricenumber(float)falsenoneOriginal price: CNY
original_usd_pricenumber(float)falsenoneOriginal price (USD)
original_price_hkdnumber(float)falsenoneOriginal price: HKD
local_pricenumber(float)falsenoneLocalized price (dependent on preferred_currency)
local_original_pricenumber(float)falsenoneLocalized original price (dependent on preferred_currency)
preferred_currencystringfalsenoneIt is recommended to display currencies such as USD, CNY, and HKD.
support_currenciesstringfalsenoneList of supported currencies, separated by commas. Example: usd,cny
flow_valuenumber(float)falsenoneDefault data quota (in GB)
flow_givenumber(float)falsenoneGifted data quota (in GB)
balance_givenumber(float)falsenoneRemaining balance for additional purchases
balance_valuenumber(float)falsenoneRecharge amount
time_validitynumber(float)falsenoneThe default validity period of the package is as follows:
time_pricenumber(float)falsenoneThe price per IP for the package
time_daysintegerfalsenoneNumber of days until expiration: 30, 90, 180, 365 days
tip1stringfalsenoneTag Description 1
tip2stringfalsenoneTag Description 2
introduce[string]falsenoneText Introduction List
region_list_idintegerfalsenoneRegion ID
renew_product_liststringfalsenoneList of renewable package IDs (separated by commas)
parent_product_typeintegerfalsenoneParent package type (valid when type=19): 14 or 25
total_countintegerfalsenoneTotal inventory. 0 indicates no restrictions.
remain_countintegerfalsenoneRemaining inventory
extension_of_time_days[integer]falsenoneDuration list. An empty list or a list containing only one item indicates that this feature is not supported.
time_days_price_ratenumber(float)falsenoneDuration price coefficient: price × (1 + (multiple - 1) × rate)
descriptionobjectfalsenonePackage Description Information
» subtitlestringfalsenoneSubtitle
» flow_valuenumber(float)falsenonenone
» flow_givenumber(float)falsenonenone
» balance_givenumber(float)falsenonenone
» time_validitynumber(float)falsenonenone
» time_pricenumber(float)falsenonenone
» tip1stringfalsenonenone
» tip2stringfalsenonenone
» introduce[string]falsenonenone
skuobjectfalsenoneSpecifications (returned when type=11)
» bandwidth_list[object]falsenoneBandwidth specification list
»» idintegerfalsenonenone
»» valueintegerfalsenoneBandwidth (Mbps)
»» pricenumber(float)falsenonenone
»» price_usdnumber(float)falsenonenone
»» price_hkdnumber(float)falsenonenone
» duration_list[object]falsenoneDuration specification list
»» idintegerfalsenonenone
»» valueintegerfalsenoneDuration (in days)
»» pricenumber(float)falsenonenone
»» price_usdnumber(float)falsenonenone
»» price_hkdnumber(float)falsenonenone
» concurrency_list[object]falsenoneConcurrent specifications list
»» idintegerfalsenonenone
»» valueintegerfalsenoneConcurrency
»» pricenumber(float)falsenonenone
»» price_usdnumber(float)falsenonenone
»» price_hkdnumber(float)falsenonenone

WhiteIp

{
  "id": 0,
  "ip": "string",
  "remark": "string",
  "created_at": "2019-08-24T14:15:22Z"
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
idintegerfalsenonenone
ipstringfalsenonenone
remarkstringfalsenonenone
created_atstring(date-time)falsenonenone

WhitelistAccount

{
  "id": 0,
  "username": "string",
  "limit": 0,
  "used": 0,
  "status": 0
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
idintegerfalsenonenone
usernamestringfalsenonenone
limitintegerfalsenonenone
usedintegerfalsenonenone
statusintegerfalsenonenone

Coupon

{
  "id": 0,
  "name": "string",
  "code": "string",
  "discount": 0.1,
  "expire_time": "2019-08-24T14:15:22Z"
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
idintegerfalsenonenone
namestringfalsenonenone
codestringfalsenonenone
discountnumber(float)falsenonenone
expire_timestring(date-time)falsenonenone

Article

{
  "id": 0,
  "title": "string",
  "content": "string",
  "created_at": "2019-08-24T14:15:22Z"
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
idintegerfalsenonenone
titlestringfalsenonenone
contentstringfalsenonenone
created_atstring(date-time)falsenonenone

Pagination

{
  "total": 0,
  "page_no": 0,
  "page_size": 0,
  "total_pages": 0
}

Attributes

NameTypeRequiredrestrictionsChinese NameExplanation
totalintegerfalsenonenone
page_nointegerfalsenonenone
page_sizeintegerfalsenonenone
total_pagesintegerfalsenonenone